chapters 4, 5 and 7 Flashcards

(52 cards)

1
Q

What do software requirements define?

A

What a system should do and the constraints on its operation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is the difference between user requirements and system requirements?

A

User requirements describe services in natural language; system requirements provide detailed technical descriptions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Fill in the blank: Functional requirements define _______.

A

actions and behaviors the system must perform.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Fill in the blank: Non-functional requirements define _______.

A

constraints, including security, performance, and usability.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are the key steps in requirements engineering?

A
  • Elicitation
  • Specification
  • Validation
  • Management
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is the purpose of requirements validation?

A

To ensure correctness and prevent costly revisions before development starts.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are some methods of gathering requirements?

A
  • Interviews
  • Observation (Ethnography)
  • Scenarios & Use Cases
  • Workshops
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

True or False: Effective requirements elicitation ensures comprehensive requirement discovery before development begins.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are best practices for writing requirements?

A
  • Use structured formats
  • Avoid ambiguity and technical jargon
  • Clearly define expected interactions
  • Specify both functional and non-functional constraints
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What does the Software Requirements Specification (SRS) document contain?

A
  • Introduction
  • User Requirements
  • System Requirements
  • Functional & Non-Functional Constraints
  • Future System Evolution
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are the categories of non-functional requirements?

A
  • Product Requirements
  • Organizational Requirements
  • External Requirements
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is model-driven engineering (MDE)?

A

A methodology that automates system development, generating executable code from models.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are the three levels of model-based development?

A
  • Computation-Independent Model (CIM)
  • Platform-Independent Model (PIM)
  • Platform-Specific Model (PSM)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is the role of context models in system modeling?

A

They define system boundaries and interactions with external entities.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What are the five key UML diagrams?

A
  • Activity Diagrams
  • Use Case Diagrams
  • Sequence Diagrams
  • Class Diagrams
  • State Diagrams
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Fill in the blank: A class diagram defines _______.

A

object classes and their relationships.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What do behavioral models describe?

A

How a system responds to external and internal stimuli.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What is the importance of non-functional requirements?

A

They define constraints and system properties essential for overall software quality.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What challenges can arise in requirements engineering?

A
  • Unclear or vague requirements
  • Conflicting stakeholder interests
  • Inadequate validation
  • Ignoring non-functional requirements
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

What is the significance of architectural design?

A

It defines the major components of a system and how they interact.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

What are common architectural patterns?

A
  • Layered Model
  • Client-Server Model
  • Distributed Listener Model
22
Q

What techniques can help identify relevant objects in a system?

A
  • Grammatical analysis
  • Application domain knowledge
  • Scenario-based analysis
23
Q

True or False: Object-oriented design focuses on objects that encapsulate data and operations.

24
Q

What do sequence diagrams illustrate?

A

The order of interactions between system objects and users.

25
What is the purpose of use case modeling?
To describe specific tasks performed by users or external systems.
26
Fill in the blank: Poorly validated requirements often lead to _______.
project delays and increased costs.
27
What is the impact of non-functional requirements on a system?
They influence usability, reliability, and security.
28
What is the relationship between software design and implementation?
Software design identifies components and their relationships; implementation realizes the design as a program.
29
What is the role of design models?
To bridge requirements and implementation, ensuring clarity for programmers.
30
What is domain knowledge?
Based on real-world entities. ## Footnote Domain knowledge is crucial for understanding the context in which software operates.
31
What is scenario-based analysis?
Reviewing use cases to determine essential objects. ## Footnote This method helps identify practical applications of software.
32
Give an example of objects in a weather station.
Sensors like ground thermometer, anemometer, and barometer. ## Footnote These objects are essential for measuring weather conditions.
33
What is an inheritance hierarchy?
Group objects with shared attributes. ## Footnote For example, all sensors inherit from an Instrument superclass.
34
What are implementation objects used for?
Validity checking and data processing. ## Footnote These objects enhance the robustness of the system.
35
What do design models bridge?
Requirements and implementation. ## Footnote They ensure clarity for programmers.
36
What are structural models in UML?
Define static relationships between classes. ## Footnote Class diagrams are a common example of structural models.
37
What do dynamic models in UML show?
Interactions. ## Footnote Examples include sequence diagrams and state diagrams.
38
What does a sequence diagram illustrate?
How a weather station transmits summarized weather data to an external system. ## Footnote This helps visualize data flow in real-time.
39
What do interfaces define?
Communication protocols between components. ## Footnote They expose operations while hiding internal data representations.
40
True or False: A single object may have multiple interfaces.
True. ## Footnote This allows the object to serve different roles.
41
What is one advantage of interface design?
Promotes modularity. ## Footnote Components can evolve independently, enhancing maintainability.
42
What do design patterns provide?
Reusable solutions to common problems in software design. ## Footnote They improve system flexibility and code reuse.
43
What is the Observer pattern?
Separates an object’s state from its display. ## Footnote It enables multiple updates when changes occur.
44
Give an example of a use case for the Observer pattern.
A weather station updates multiple display formats when new data is recorded. ## Footnote This showcases the pattern's effectiveness in real-world applications.
45
What are the levels of software reuse?
* Abstraction level * Object level * Component level * System level ## Footnote Each level represents a different scope of reuse in software development.
46
What is version management?
Tracks software updates. ## Footnote It is a key activity in configuration management.
47
What does configuration management define?
Component compatibility. ## Footnote It ensures that various software components work well together.
48
What does host-target development involve?
Software developed on one system but executed on another. ## Footnote This is common in embedded systems.
49
What is a key advantage of open-source software?
Lower costs. ## Footnote Open-source software is often available for free.
50
What licensing model requires all derived products to remain open-source?
GPL (General Public License). ## Footnote This promotes the continuation of open-source practices.
51
What is a key takeaway regarding software design?
Software design and implementation are closely linked. ## Footnote Understanding this relationship is crucial for effective development.
52
What should learners practice for exam preparation?
Drawing UML diagrams. ## Footnote This includes Use Case, Sequence, Class, and State diagrams.