SECTION A: MULTIPLE CHOICE (Circle the correct
answer)
1. What is the main purpose of modeling in software engineering?
A) Increase software speed
B) Help programmers memorize code
C) Manage complexity by simplifying understanding
D) Avoid user interaction
Answer: C
Explanation: Modeling helps reduce complexity by abstracting important parts of
the system, allowing developers to focus on what matters at each phase.
2. Which UML diagram best represents the interaction between objects over time?
A) Use Case Diagram
B) Class Diagram
C) Sequence Diagram
D) Activity Diagram
Answer: C
Explanation: Sequence diagrams are used for dynamic modeling and show object
interactions in time sequence.
3. In a UML diagram, which relationship means "a part of" where the part can exist
independently?
A) Dependency
B) Aggregation
C) Composition
D) Generalization
Answer: B
Explanation: Aggregation represents a “has-a” relationship where parts can exist
on their own (e.g., a car and its tires).
4. What is the first activity in the software development process?
A) Design
B) Testing
C) Requirements Elicitation
D) Implementation
Answer: C
Explanation: Requirements elicitation comes first and helps define what the
customer wants.
5. Which of the following is NOT a key role in a software project?
A) Project Manager
B) Control Object
C) Developer
D) Client
Answer: B
Explanation: Control objects are part of object modeling, not a project team role.
SECTION B: TRUE/FALSE (Write T or F)
6. A class diagram represents the dynamic behavior of a system.
False – Class diagrams show static structure, not dynamic behavior.
7. Generalization in UML refers to inheritance between classes.
True – Generalization models an “is-a” relationship, like inheritance.
8. Adding more developers to a late project will always reduce delivery time.
False – According to Brooks' Law, it can actually delay the project more.
9. A use case is a type of object diagram.
False – A use case diagram is a functional diagram showing user interactions.
10. The main goal of requirements elicitation is to understand what the customer wants.
True – This phase captures customer needs before design begins.
SECTION C: SHORT ANSWER
11. Name and briefly explain the three ways to deal with complexity in software
engineering.
Answer:
1. Abstraction – Focus on high-level concepts and hide low-level details.
2. Decomposition – Break the system into smaller, manageable parts.
3. Hierarchy – Organize components in layers or levels.
12. What is the difference between functional and nonfunctional requirements? Give an
example of each.
Answer:
● Functional Requirements: Define what the system should do (e.g., “The
user can log in”).
● Nonfunctional Requirements: Define how the system should behave (e.g.,
“The system must respond within 2 seconds”).
13. What are control objects in object modeling?
Answer:
Control objects manage the flow of a use case. They coordinate between entity
objects (data) and boundary objects (user interfaces). Think of them as the “brains”
behind a scenario.
SECTION D: UML/ANALYSIS EXERCISE
14. Scenario (Campus Housing System)
Owners list apartments. Students search and contact owners. Owners can delete listings.
Students use filters like budget and location.
🖼️ Draw a UML Use Case Diagram (hand-drawn or software allowed)
Actors:
● Student
● Apartment Owner
Use Cases:
● Fill Out Listing
● Search Apartments
● Contact Owner
● Delete Listing
✏️ [Your drawing should include Student connected to “Search” and “Contact,” and
Owner connected to “Fill Out” and “Delete.” All use cases go inside the system
boundary.]
15. Fill in the Use Case Table (for "Search Apartments")
Field Description
Use Case Name Search Apartments
Actors Student
Flow of Events Student inputs preferences → System filters listings → Shows
matching apartments
Entry Condition Student has access to search page
Exit Condition Matching results displayed or "no results" message
Quality Must return results within 2 seconds; support mobile access
Requirements
16. Abbott’s Technique Example
Sentence: “The user can create an account, login, and update their profile.”
Answer:
● Nouns → user, account, profile → classes
● Verbs → create, login, update → methods
● Adjectives (if any, like "registered") → attributes
SECTION A: MULTIPLE CHOICE
1. What does the term “software engineering” primarily emphasize?
A) Writing code as fast as possible
B) Designing simple games
C) Building software systematically under constraints
D) Creating beautiful user interfaces
2. Which UML diagram helps visualize user goals and how the system supports them?
A) Class Diagram
B) Use Case Diagram
C) Sequence Diagram
D) Deployment Diagram
B
3. In object modeling, what are entity objects responsible for?
A) Representing system interfaces
B) Coordinating logic between parts
C) Representing persistent information (e.g., data)
D) Providing animation support
C
4. Which is a valid reason for using UML in software engineering?
A) It replaces the need to code
B) It increases the number of lines of code
C) It provides a standard way to visualize system design
D) It is required for Agile
5. What does the COCOMO model estimate?
A) Diagram accuracy
B) Software cost/effort
C) User interface quality
D) Communication patterns
B
SECTION B: TRUE/FALSE
6. The realization relationship in UML connects an interface to the class that implements
it.
true
7. A boundary object is used to represent core business logic in a system.
false
8. Project success relies heavily on effective communication among stakeholders.
true
9. Nonfunctional requirements define what the system should do.
false
10. Aggregation is stronger than composition in UML.
false
SECTION C: SHORT ANSWER
11. What are the key benefits of using a project plan in software engineering? List at least
two.
12. What is the difference between a dependency and an association in UML?
13. Explain what use case diagrams are and how they are helpful during requirements
elicitation.
SECTION D: DIAGRAM & OBJECT MODELING
14. Use Abbott’s Technique to extract objects from this sentence:
“Drivers use the system to reserve parking spots in advance and update vehicle details.”
15. Given the following situation, identify actors and use cases, and draw a Use Case
Diagram:
A gym software system allows trainers to log sessions with clients. Clients can view their
progress and schedule sessions.
✅ ANSWER KEY & EXPLANATIONS
✅ MULTIPLE CHOICE
1. C
Software engineering means applying engineering principles to build software
under constraints like time, budget, and changing requirements.
2. B
Use Case Diagrams show system functions from the user's point of view.
3. C
Entity objects hold and manage data, often tied to database records.
4. C
UML is a standardized visual language for modeling systems clearly.
5. B
COCOMO estimates the effort (in person-months) needed based on Lines of Code.
✅ TRUE/FALSE
6. True
Realization indicates a class implements an interface (e.g., Java’s implements).
7. False
That’s an entity object. A boundary object handles system interaction (like UI).
8. True
Poor communication is a top cause of project failure.
9. False
Functional = what system does; Nonfunctional = how well it performs (e.g., speed,
security).
10. False
Composition is stronger than aggregation; the part cannot exist without the whole.
✅ SHORT ANSWER
11. Key benefits of a project plan:
● Helps manage scope, schedule, and resources.
● Clarifies team responsibilities and deadlines.
● Enables tracking progress and identifying risks early.
12. Dependency vs Association:
● Dependency is a weaker relationship showing one class uses another temporarily.
● Association is a structural link, often bi-directional, between class instances.
13. Use Case Diagrams:
These diagrams show what users (actors) can do with the system. During requirements
elicitation, they help stakeholders visualize and agree on system goals.
✅ OBJECT MODELING
14. Abbott’s Technique
Sentence: “Drivers use the system to reserve parking spots in advance and update vehicle
details.”
● Nouns (objects): Driver, System, Parking Spot, Vehicle
● Verbs (methods): reserve, update
● Adjectives (attributes): advance → reservation time, vehicle details → license, color,
model
15. Use Case Diagram – GYM SYSTEM
Actors:
● Trainer
● Client
Use Cases:
● Log Session (Trainer)
● View Progress (Client)
● Schedule Session (Client)
🖼️ Diagram Description:
● Trainer → (Log Session)
● Client → (View Progress), (Schedule Session)
All use cases are within a system boundary box.