Software Project Activities: Requirements and Specification

TrustedSine5094 avatar
TrustedSine5094
·
·
Download

Start Quiz

Study Flashcards

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
Use Quizgecko on...
Browser
Browser