1. Waterfall methods are usually used for safety-critical systems engineering.
- FALSE
2. Systems in the same domain often have similar architectures that reflect domain concepts.
- TRUE
3. The main drawback of the Scrum model is the difficulty of accommodating change after the process is underway.
- TRUE
4. Object Class models are used to illustrate the operational context of a system - they show what lies outside the system boundaries.
- TRUE
5. In the Product Backlog, the User Stories are ranked by the Product owner.
- FALSE
6. Unit testing is testing the system to check that changes have not 'broken' previously working code.
- TRUE
7. The Use Case diagram is part of the Unified Modeling Language.
- TRUE
8. Design and implementation are interleaved activities for most types of software system.
- TRUE
Key practices of XP are the:
- Test-driven development
- Pair programming
- Continuous integration
Types of models are:
- System risk model
- Hazard avoidance model
- Accident analysis model
- Platform specific models
Stages of testing are:
- Environmental testing
- System testing
- Component testing
- Customer testing
- Functionality testing
- Design walkthrough testing
Process improvement activities include:
- Process measurement
- Process design
- Process analysis
- Process testing
- Process change
- Process calibration
The role of the Product owner is to:
- Define and prioritize the items in the product backlog
- Work closely with stakeholders to understand their requirements
- Ensure that the product backlog is visible and transparent to all team members
- Make decisions on behalf of the stakeholders regarding the product features and priorities
A Man-in-the-Middle (MitM) attack is a type of cyber attack where an attacker intercepts and alters the communication between two parties without their knowledge. The attacker can eavesdrop on the communication, steal sensitive information, or manipulate the data being transmitted. This attack is possible when the attacker is able to position themselves between the two parties, allowing them to intercept and manipulate the data.
An Object Class diagram in UML is a diagram that represents the classes, objects, and their relationships in a system. It shows the structure of the system and how the different objects interact with each other. The properties of an Object Class diagram include:
- Class name: The name of the class.
- Attributes: The characteristics or properties of the class.
- Operations: The actions or behaviors that the class can perform.
- Relationships: The associations between classes, such as inheritance, composition, or association.
Data-driven modeling is an approach where the structure and behavior of a system are determined based on the available data. Instead of starting with a predefined model or design, data-driven modeling analyzes the existing data to identify patterns, relationships, and dependencies. This approach allows for the creation of flexible models that can adapt to changes in the data and provide insights into the underlying system.
The software evolution process model can vary depending on the specific methodology or approach used. However, a common model includes the following stages:
1. Requirements gathering: Understanding and documenting the needs and expectations of the stakeholders.
2. Design: Creating a plan or blueprint for the software based on the requirements.
3. Implementation: Writing the code and developing the software based on the design.
4. Testing: Evaluating the software to ensure it meets the requirements and functions correctly.
5. Deployment: Installing and releasing the software for use by end-users.
6. Maintenance: Making updates, fixing bugs, and providing support for the software throughout its lifecycle.
Traditional methods, such as the Waterfall model, follow a sequential approach where each stage is completed before moving on to the next. Agile methods, such as Scrum or Extreme Programming (XP), emphasize flexibility and collaboration, with shorter development cycles and frequent iterations. Agile methods allow for changes and adjustments based on feedback and evolving requirements.
The Capability Maturity Model (CMM) is a framework used to assess and improve an organization's software development processes. It consists of five levels of maturity, with each level representing a different degree of process capability and control:
1. Initial: Processes are ad hoc, chaotic, and unpredictable.
2. Repeatable: Basic project management processes are established to track cost, schedule, and functionality.
3. Defined: Processes are well-defined and documented, with standardized procedures and guidelines.
4. Managed: Detailed metrics and measurements are used to control and manage the software development processes.
5. Optimizing: Continuous process improvement is emphasized, with a focus on innovation and learning.