18 Questions
What is a key challenge in conventional software management practices, according to the text?
All of the above
According to the analysis of the software engineering industry, which of the following is NOT a key issue?
Technological advances are the primary determinant of success or failure
Which of the following is NOT mentioned as a characteristic of software in the text?
Software development is highly predictable
What percentage of software projects are delivered successfully within the initial budget and schedule estimates?
10%
What does the text suggest as a potential solution to improve software economics?
All of the above
Which of the following statements is NOT true, according to the text?
The success rate for software projects is very high
Why is documentation crucial in software development projects?
To support later modifications by different teams
Which group must each designer communicate with according to the text?
Interfacing designers, managers, and possibly customers
What role does documentation play in the early phases of software development?
It is the design itself
Why should a computer program be treated as if it's developed twice?
To ensure the final version delivered is well-tested
What is the main problem that arises if software documentation is lacking?
Communication breakdown between different teams
'Doing it twice' refers to treating a computer program development process as what?
The same project but with refinement and improvement
What was the fundamental assumption built into the classic waterfall process?
Decomposing software into functions
Why did the conventional process result in adversarial stakeholder relationships?
Difficulties in requirements specification and ad hoc engineering information capture
What was the typical sequence of events in most contractual software efforts?
Customer providing comments after contractor submission
How was information exchanged between customers and contractors in most contractual software efforts?
Via paper documents capturing engineering information
What encouraged high levels of sensitivity on the part of customers and contractors in the review process?
One-shot review process
What differentiated the decomposition in the classic waterfall process from object-oriented design?
Decomposition into functions vs. object-oriented design
Study Notes
Classic Waterfall Process
- In traditional waterfall process, software is decomposed into functions, and requirements are allocated to these components.
- This decomposition is different from object-oriented design and existing components.
Adversarial Stakeholder Relationships
- Conventional process often leads to adversarial stakeholder relationships due to difficulties in requirements specification and exchange of information through paper documents.
- Typical sequence of events in contractual software efforts:
- Contractor prepares a draft document, delivers it to customer for approval.
- Customer provides comments, contractor incorporates them, and submits a final version for approval.
Conventional Software Management
- Conventional software management practices are sound in theory but tied to outdated technology and techniques.
- Conventional software economics provides a benchmark of performance for conventional software management principles.
Software Economics
- Three important analyses of software engineering industry:
- Software development is still highly unpredictable.
- Management discipline is a key discriminator in success or failure.
- Software scrap and rework indicate an immature process.
Challenges of Software Development
- Only about 10% of software projects are delivered successfully within initial budget and schedule estimates.
- The best thing about software is its flexibility, but it also makes it difficult to plan, monitor, and control software development.
Importance of Documentation
- Documentation is necessary for:
- Communicating with interfacing designers, managers, and customers.
- Supporting later modifications by separate test teams, maintenance teams, and operations personnel.
- Documenting the design, as it is the real monetary value.
Do It Twice
- Arrange to develop a second version of the software, before delivering the final version to the customer.
- This is a smaller-scale process, done in a relatively short time frame.
Test your knowledge on documenting system design, including functions allocation, database design, execution time allocation, and interface definitions. Understand the importance of creating an informative overview document for project workers and documenting the system design.
Make Your Own Quizzes and Flashcards
Convert your notes into interactive study material.
Get started for free