WorksheetsChương 2
Total questions: 100
Worksheet time: 50mins
Requirements Engineering is the process of establishing system services according to customer requirements along with which constraints?
Hardware performance constraints
Operational and development constraints of the system
Single programming language constraint
Single budget constraint
Requirements can serve dual functions. Which function is related to contract negotiation?
Serve as a basis for bidding on contracts with an abstract definition
Define the implementation plan
Describe only non-functional aspects
Serve as detailed design documentation
Which type of requirement is usually written for customers, often in natural language accompanied by diagrams?
System requirements
Domain requirements
User requirements
Non-functional requirements
What aspect of the system is primarily described by functional requirements?
User acceptance level
Response time constraints and security
The services provided by the system, responses to inputs, and behavior in situations
The development methodology used
Which part of the system do non-functional requirements usually apply to?
Each individual feature
Only the user interface design
Implementation code structure
The entire system, not individual features
Why can non-functional requirements be more important than functional requirements?
They are easier to implement
They are cheaper to change later
If not met, the system can be useless
Often defined by the programmers themselves
What are the three main categories of non-functional requirements?
Speed, Size, Reliability
Availability, Mobility, Durability
Product, Organization, External
Hardware, Software, Process
What is the difference between a vague objective and a verifiable non-functional requirement?
An objective is mandatory
A verifiable requirement uses measurable criteria that can be objectively tested
An objective is always technical in nature
An objective expresses intent, while a requirement imposes constraints
What are the constraints arising from the operational domain of the system called?
External requirements
Organizational requirements
Domain requirements
Product requirements
What are the common issues with domain requirements?
Confusion of requirements
Mixing up requirements
Implicitness because experts often do not present clearly
Lack of clarity due to jargon
SRD defines the system as WHAT rather than HOW — which means it is NOT what?
User definition
Design document
Process activity
System specification
How do many Agile methods approach requirement documentation?
Formal mathematical specification
Very detailed documentation
Fixed IEEE standards
Assume that detailed writing is often wasteful due to rapidly changing requirements
Which specification method uses templates/standard forms?
Natural language
Design description language
Structured natural language
Mathematical specification
What issue arises when using natural language due to the difficulty in achieving accuracy?
Lack of clarity
Lack of consistency
Tracing the source of the request
Merging requirements
In what situation is a tabular specification useful?
Multiple feasible courses of action
Available objectives
System architecture
Abstract mathematical concepts
Four generic RE activities include elicitation, analysis, validation, and?
Testing.
Development.
Implementation.
Management.
Requirements elicitation primarily involves?
Defining execution constraints.
Writing formal math specs.
Reviewing policies only.
Working with customers to understand domain and services.
One main stakeholder-related problem in analysis is?
High domain expertise.
Stakeholders don’t know exactly what they want.
Stakeholders agree on priorities.
Too much documentation.
Which stage involves interacting with stakeholders?
Negotiation.
Specification.
Validation.
Requirements discovery.
Interviews are good for?
Formal terminology.
Replacing all interaction.
Gaining overall understanding of stakeholder work and interaction.
Mathematical specs.
Scenarios should include?
Start situation, normal flow, and what can go wrong.
Formal proofs.
No customer input.
Process activities.
Use-cases identify?
Actors and interactions.
Data/control flow.
Preconditions.
Components and modules.
Advantage of Ethnography?
Fast technical requirements.
Reveals real work practices and social factors.
New features only.
Auto code generation.
Limitation of Ethnography?
Too technical.
Only functional reqs.
Good for existing practices but poor at identifying new features.
Needs CI.
Fixing a requirements error after delivery may cost?
Up to 100 times more.
Twice.
Same.
Half.
Checking “Does it support customer needs?” checks?
Completeness.
Consistency.
Realism.
Validity.
“Is the requirement testable?” checks?
Traceability.
Verifiability.
Adaptability.
Comprehensibility.
Validation technique developing tests?
Test-case generation.
Ethnography.
Reviews.
Prototyping.
Requirements management manages change during?
Elicitation only.
After deployment only.
RE process and system development.
Design & implementation.
Traceability policies define?
Tools used.
Relationships between requirements and design.
Doc quality standards.
Scrum roles.
Question 31: What is the primary goal of System Modeling in requirements analysis?
Define implementation language.
Replace natural language docs.
Help analysts understand system functionality and communicate with customers.
Automatically generate executable code.
Question 32: In Model-Driven Engineering (MDE), what outcome is possible from the system model?
User requirements only.
Generation of complete or partial system implementation.
Productivity assessment.
Informal discussions only.
Question 33: System modeling can be viewed from which four perspectives?
Functional, Non-functional, Domain, User.
Development, Testing, Maintenance, Evolution.
Cost, Time, Quality, Risk.
External, Interaction, Structural, Behavioral.
Question 34: Which UML diagram shows interactions between system and environment?
Use case diagrams.
State diagrams.
Sequence diagrams.
Class diagrams.
Question 35: Context models illustrate what?
Operational context/environment outside system boundaries.
Internal data structure.
Object interactions.
Event responses.
Question 36: The system boundary defines what?
Licensing model.
What features belong to the system and what belong to other systems.
Reusable components.
Budget allocation.
Question 37: Modeling system-to-system interaction highlights?
Security constraints only.
Potential communication problems.
Performance only.
Need for MDE.
Question 38: Sequence diagrams model interactions between actors and?
Functional requirements.
Objects within a system.
Architectural patterns.
External regulators.
Question 39: Structural models display?
Operational constraints.
Event sequence.
Components of the system and their relationships.
Runtime behavior.
Question 40: Purpose of a Class diagram?
Show event response.
Show classes and associations.
Data flow.
User interaction sequence.
Question 41: How is generalization implemented in OO languages?
Observer pattern.
MDE.
Aggregation.
Class inheritance.
Question 42: Object class aggregation model shows?
State changes.
Layer separation.
Part-of relationships between classes.
Code generation.
Question 43: Behavioral models show responses to stimuli categorized into?
Internal & External.
Functional & Non-functional.
Abstract & Concrete.
Data & Events.
Question 44: Data-driven models show?
Risk management.
Hardware architecture.
End-to-end data processing sequence.
Security response.
Question 45: Event-driven modeling assumes events cause?
System restart.
Transition from one state to another.
Reduced complexity.
Data corruption.
What does the state machine model show?
Architectural components.
Data flow.
Layer structure.
States are nodes and events are edges.
In MDE, what is the main output?
Test case suite.
Models instead of programs.
Executable program.
User story.
What is one advantage of MDE?
Only uses natural language.
Requires less modeling.
Quickly adapts to new platforms by generating code.
Perfect abstraction.
What is a disadvantage of MDE?
Not suitable for complex systems.
Ignores non-functional requirements.
The abstract model may not be suitable for implementation.
Increases coupling.
What is the predecessor of MDE?
XP.
RUP.
Model-Driven Architecture (MDA).
Waterfall.
What does the CIM (Computation Independent Model) describe?
Important domain abstractions.
Operating the system without implementation.
Platform details.
Hardware/software components.
The PIM (Platform Independent Model) describes operations without referencing what?
Deployment platform.
Static structure.
Function.
Event.
Why is MDA in conflict with the Agile Manifesto?
Focus on working software.
Testing first.
Agile minimizes documentation and prioritizes responding to change.
Collective ownership.
Which UML subset supports automatic transformation into code?
MVC.
RUP.
Client–Server.
Executable UML (xUML).
Which UML diagram is used to model data processing steps?
Class diagram.
Activity diagram.
Sequence diagram.
State diagram.
Question 56: Identifying subsystems and communication framework is called?
Requirements specification.
Validation.
Component testing.
Architectural design.
Question 57: Architecture in the small vs large?
Small = agile.
Large = programs.
Small = individual programs; Large = enterprise systems.
Functional vs NFRs.
Question 58: Explicit architecture helps analysis because?
Prevents reuse.
Simplifies management.
Removes testing.
Allows checking non-functional requirements feasibility.
Question 59: Architecture recommended for Security?
Pipe & filter.
Layered with critical assets in inner layers.
Monolithic.
Repository.
Question 60: Maintainability is supported by?
Localized safety.
Fine-grain, replaceable components.
Minimal communication.
Large components.
Question 61: 4+1 view: which shows key abstractions?
Logical view.
Development.
Physical.
Process.
Question 62: Architectural pattern is?
Programming structure.
Deployed system.
Security rules.
Proven, reusable design practice.
Question 63: MVC key principle?
Central repository.
Sequential processing.
Layering.
Separate data (Model) from presentation & interaction.
Question 64: Advantage of MVC?
Less code.
Simple models only.
Model and View can change independently.
Low overhead.
Question 65: Layered architecture advantage for evolution?
Minimal communication.
Replace layers if interfaces are preserved.
Artificial structure.
Removes security.
Question 66: Layered architecture disadvantage?
Needs regulation.
Performance overhead due to multiple layers.
No extensibility.
Small systems only.
Question 67: Repository pattern interaction?
Indirect via shared data repository.
Direct interfaces.
Client-server.
Pipes & filters.
Question 68: Major disadvantage of Repository pattern?
Change propagation.
High coupling.
Data inconsistency.
Single point of failure.
Question 69: Client-Server consists of?
MVC.
Pipes & filters.
Servers, clients, and a network.
4+1 views.
Question 70: Client-Server performance issue?
Hard to distribute.
Depends on network as well as system.
Constant load only.
Duplicate functionality.
Which type of system is least suitable for Pipe & Filter?
Process reuse-oriented system
Sequential batch data processing
Real-time interactive system
Non-interactive batch processing system
What is the main disadvantage in data transmission of Pipe & Filter?
The level of connectivity between filters is very high
Evolving the architecture is difficult to implement
Strict data format causes analysis costs
Difficulty in serializing filters
What can a general application architecture be used for?
A model that does not change over time
A starting point for design, checklist, team organization
A tool that completely replaces requirements
An independent document that does not require a team
From the user's perspective, what is a transaction?
A scheduled batch job
A coherent sequence of actions that satisfies a goal
Updating a specific database
A single database write operation
Which layer in the application architecture does the shopping cart function belong to?
Common database layer
Application-specific layer
System communication layer
User interface layer
What is design and implementation?
Sequential
Separate groups
Dependent on size
Interleaved
What does COTS-based design focus on?
Writing code
Configuring the system to meet requirements
Prototyping
Identifying objects
The design model in large systems is essential because?
Licensing
Supports communication between teams
Applies pair programming
Replaces acceptance testing
What is the difficult part of object-oriented design?
Unit testing
Identifying object classes
Acceptance testing
Defining architecture
What is the identification of objects through tangible things?
Grammar
Behavior
Approach to tangible objects
Based on the scenario
How does the static model compare to the dynamic model?
Interaction compared to state
Structure compared to interaction/behavior
Validation compared to implementation
UML compared to natural language
What UML structure is used for subsystems?
Lifeline
Package
Actor
Link
How is time represented in a sequential diagram?
Sprints
Horizontally
Arrow labels
From top to bottom vertically
Which of the following is NOT needed for a state diagram?
Complex behavior objects
Simple objects
Objects with states
Event-driven control objects
What does the design pattern for knowledge reuse refer to?
Functional and non-functional requirements
A problem and its solution
Code and documentation
Architecture
What is the description of a solution template?
Ethics
Justification
Reusable template for solutions
Complete program
What does the Observer pattern separate?
Agent and use case
Model and controller
Object state from display
Client and server
Which pattern is used to simplify the interface?
Iterator
Façade
Decorator
Observer
Developing on the server, running on the target device is?
Configuration management
Continuous integration
Host-target development
Pair programming
Why is building from scratch less feasible today?
New languages
Cost and schedule pressure
Language decline
Formal specification
Reuse level using design knowledge?
Abstraction level.
Object.
Component.
System.
Reusing entire applications is?
Object.
Abstraction.
Component.
System level.
Major cost of reuse?
Rewriting libraries.
Adapting and integrating reusable components.
Unit testing.
Use cases.
Managing versions and problem tracking is?
Software evolution.
Agile PM.
Configuration management.
Validation.
Purpose of Version management?
Requirement links.
Installation.
Track versions and coordinate developers.
Testing automation.
Purpose of Problem tracking?
Change impact.
UML modeling.
Bug reporting and tracking fixes.
Sprint planning.
IDE supports development within?
One compiler.
Sprint.
Common framework and UI.
Execution platform.
Free Software Foundation philosophy?
Government-owned.
UML-generated.
Source code should be freely available and modifiable.
Proprietary.
Key restriction of GPL?
Cannot sell.
Cannot modify.
No obligation to publish.
Derived software must also be open source.
Non-reciprocal open-source license?
MIT License.
BSD License.
LGPL.
GPL.
