Final Exam Flashcards
The first stage of any software design process is to develop an understanding of the relationships between the software that is being designed and its external environment. This is essential for deciding how to provide the required system functionality and how to structure the system to communicate with its environment. Which of the following diagrams will allow us to discover this?
context diagram
which of the following describes a “design and implementation” phase
It is the stage in the software engineering process at which an executable software system is developed.
When you use UML to develop a design, you should develop two types of design models: Structural and dynamic. Which of the following describes the structural model?
Describe the static view of the system in terms of object classes and relationships.
When you test software you are trying to do two things. What are those two things?
-To discover situations in which the behavior of the software is incorrect
-To demonstrate that the software meets its requirements
Which one of the following testing checks that changes have not “broken” previously working code
Regression testing
Sometimes software needs to go through urgent changes. What may cause these urgent changes?
All 3
Companies have to decide if they want to keep maintaining a legacy system or scrap it. In which of the following situations will a company choose to maintain a legacy system instead of scrapping it?
The system is fairly stable, and the system users make relatively few change requests
What is the purpose of the design and implementation phase?
The phase focuses on creating and realizing the software design, ensuring all components meet user requirements and integrate seamlessly
What do context diagrams represent?
Context diagrams show the system’s boundaries and its relationships with external entities like users, devices, and other systems.
What is the relationship between a use-case and a context diagram?
Use-cases describe interactions between actors and the system, while context diagrams outline the system’s overall scope and environment.
How are UML diagrams and architectural models applied in design and implementation?
ML diagrams (e.g., class and sequence diagrams) are used to model static structures and dynamic behaviors, while architectural models define the system’s high-level structure and components.
What is the difference between structural and dynamic models?
Structural models focus on the static components and their relationships, while dynamic models show how these components interact and change over time.
How does the observer pattern work?
It establishes a one-to-many dependency where observers are notified and updated automatically whenever the subject’s state changes.
What are the advantages and disadvantages of software reuse?
Advantages: Reduced development time, cost, and risks; improved reliability.
Disadvantages: High cost of integration, potential for incompatibility, and reliance on external code.
What are the descriptions of software reuse, configuration management, and host-target development?
Software reuse: Using existing code or components to develop new systems.
Configuration management: Managing changes to software artifacts systematically.
Host-target development: Developing software on one platform (host) to run on another (target).