17 Questions
Which activity involves writing detailed instructions on how the software should behave?
Requirements specification
What is the purpose of Domain analysis in software projects?
Understanding the background needed
What is the main purpose of separating 'what from how' in software activities?
Writing detailed instructions about software behavior
Which phase involves narrowing down the scope of the problem in software projects?
Defining the problem scope
What is the key function of Unified Modeling Language (UML) in software projects?
Modeling software structure and behavior
What is the process of creating a representation of the domain or the software?
Modeling
Which activity involves creating representations of the domain or the software?
Structural modeling
What is the method used for creating representations during requirements analysis and design?
Use case modeling
Which activity involves deciding what should be in hardware and what in software?
Systems engineering
What is the process of dividing the system into subsystems and deciding how they will interact?
Software architecture
Which activity focuses on estimating the cost of the system and planning?
Managing the process
What is one of the characteristics of software mentioned in the text?
Software is intangible and hard to understand development effort
In software development, why is the industry considered labor-intensive according to the text?
Because software activities are hard to automate
What does the text suggest about modifying software?
People make changes to software only after fully understanding it
How does software differ from tangible products in terms of 'wearing out'?
Software only deteriorates when its design is changed erroneously
What analogy does the text draw about 'software'?
"Software" is similar to mass nouns like water and sand
Which characteristic of software makes it challenging to notice quality problems according to the text?
'Untrained people can hack something together' attribute
Study Notes
Software Engineering
- Software is intangible, making it hard to understand development effort.
- Software is easy to reproduce, but the cost is in its development, unlike other engineering products where manufacturing is the costly stage.
- The software industry is labor-intensive, making it hard to automate.
Characteristics of Software
- Untrained people can hack something together, but quality problems are hard to notice.
- Software is easy to modify, but people make changes without fully understanding it.
- Software does not 'wear out', but deteriorates by having its design changed, making it complex.
Software Terminology
- "Software" is a mass noun, like "water" and "sand".
- Examples: "I will create some software to update the database", "a piece of software to update the database", or "a software system to update the database".
Activities Common to Software Projects
- Requirements and specification, which involves:
- Domain analysis: understanding the background needed.
- Defining the problem: narrowing down the scope of the problem.
- Requirements gathering: obtaining input from as many sources as possible.
- Requirements analysis: organizing the information.
- Requirements specification: writing detailed instructions about how the software should behave, separating what from how.
Design
- Deciding how the requirements should be implemented using available technology.
- Includes:
- Systems engineering: deciding what should be in hardware and what in software.
- Software architecture: dividing the system into subsystems and deciding how they interact.
- Detailed design of the internals of a subsystem.
- User interface design.
- Design of databases.
Other Activities
- Modeling: creating a representation of the domain or the software.
- Programming.
- Quality assurance, which includes reviews, inspections, and testing.
- Deployment.
- Managing software configuration.
- Managing the process, which includes estimating the cost of the system and planning.
Learn about the nature of software activities common to software projects, best practices in modeling with Unified Modeling Language, and the key activities involved in requirements and specification.
Make Your Own Quizzes and Flashcards
Convert your notes into interactive study material.
Get started for free