Software Process Activities Flashcards
More on Software Process Activities
What is the goal of
Software Specification
Identify and define:
* The services required by the system
* The constraints of the environment (in which the system will operate)
What are the 3
Software Specification Activities
-
Requirements elicitation and analysis:
* Interact with stakeholders
* Observe existing systems -
Requirements specification :
* Translate analysis into a set of concrete requirements
* Create a requirements document -
Requirements validation
* Ensure realism, completeness, and consistency
What are some techniques for Software Specification?
- Interviews (w. stakeholders)
- User stories (how will a user use the system?)
- Ethnographies (what is the environment in which the system will operate?)
- Specifications written in natural/structured language, UML diagrams, or formal models
What is the goal of
Software Design and Implementation
Convert requirements into an executable system by providing a detailed description of:
* The structure of the software
* The data models and the structures used by the system
* The interfaces between software components
What are the 4
Design and Implementation Activities
-
Architectural Design:
* Identify and define the main components and their relationships -
Database Design:
* Define the data structures and data models -
Interface Design:
* Describe the interfaces between system components -
Component Selection and Design:
* Adapt existing components or Define new components
What is the goal of
Software Validation
Ensure the developed software meets the requirements and works as intended:
* Validation: Are we building the right product?
* Verification: Are we building the product right?
What are the 3 stages of the
Software Validation Testing Process
- Component Testing: Test the components individually
- System Testing: Test the interactions between the components and the functional/non-functional requirements of the system
- Customer Testing: Test the system with real data
What is the goal of
Software Evolution
Modify the software to meet changing requirements over time:
* Fix bugs
* Add new features
* Improve performance
What are 4 examples of
Architectural Design Patterns
- Model-View-Controller (MVC)
- Layered Architecture
- Repository Architecture
- Client-Server Architecture
Describe the
Model-View-Controller (MVC) Pattern
- Model: Manages the data and operations
- View: Handles the presentation to the user
- Controller: Manages the user interactions and Updates the model/view
What are the benefits of the MVC Pattern?
- Supports deparation of concerns (data, presentation, interaction)
- Enables multiple views or interfaces
What is the concept of
Application Architectures
- Systems often share common design structures
- Application architectures provide reusable blueprints
What are 2
Application Architecture Types
- Transaction Processsing Systems (TPS)
- Language Processing Systems (compilers & interpreters)