Software Engineering Final Exam Solution Manual Solved 100% (Graded A+)
Science vs Engineering - Answers The goal of a scientist is to answer questions and discover information
about their chosen field of study, while an engineer focuses on creating products or processes that solve
problems
How is engineering defined by NAE (National Academy of Engineering)? - Answers The "application of
science" or "design under constraint"
Why is it said that a good software engineer should continuously manage the delicate balance between
the functioning of left and right brains? - Answers Software engineering is as much a branch of the social
sciences as it is of engineering. It requires the precision of engineering, combined with the subtlety of
art. For example, disciplined Agile development balances the artistic nuances of software development
with the necessary engineering rigor.
How do civil and mechanical engineering affect initial software engineering? - Answers The initial steps
of the earliest SDLC reflected the procedural approach of a civil engineer constructing a building:
identifying requirements, creating designs, coding, testing, and deploying. Mechanical engineering
provided the backdrop for standardizing software components and assembling them to produce a
software system.
What are the four important elements required to learn and adopt SE in practice? - Answers 1. Object-
oriented fundamentals
2. Modeling (UML standard)
3. Process (SDLC, Agile)
4. Experience (case studies and team-based project work)
Can you describe the importance of modeling in software engineering? - Answers The importance of
modeling in SE is multifunctional: understanding existing systems, application, and processes, followed
by the creation of new processes, providing a basis for testing and enabling effective communications
with all stakeholders.
In short: modeling enables a much better understanding of a problem and the solution before the
solution is coded
What are the two major purposes of modeling in software engineering? - Answers To help shed light on
the existing business reality and to create a new business reality
Not only programming, but also databases and business workflows are very well supported by OO
fundamentals. Is this correct? - Answers Correct
,Can you name the four basic terms in SE? - Answers 1. Programs - structured code specific to a
programming language that reflect an algorithm
2. Classes - specific styles of software programs that encapsulate data with functions
3. Data - instance-level representation of the business reality (characteristics) that is encoded and stored
within database
4. Objects - instances of classes that comprise both data and the behavior associated with the data at
runtime
Can you also identify the six object-oriented fundamentals of SE? - Answers 1. Classification (grouping)
2. Abstraction (representing)
3. Encapsulation (modularizing)
4. Association (relating)
5. Inheritance (generalizing)
6. Polymorphism (executing)
Which of the six object-oriented fundamentals of SE can enable the extensibility of design and reuse of
code? - Answers Inheritance
Which of the six object-oriented fundamentals of SE can facilitate easier debugging of code? - Answers
Encapsulation
Which of the six object-oriented fundamentals of SE can enable a programmer to reuse a class without
knowing how a method is implemented in order to use it (invoke it)? - Answers Encapsulation
_____ in design makes polymorphism at runtime possible. What should be in the blank? - Answers
Inheritance
SE started evolving in the 1970s. Correct? - Answers Incorrect, SE started evolving in the 1960s
Structured system analysis and design method (SSADM) is considered a newer method for Agile-based
project development. Correct? - Answers Incorrect, SSADM become popular in the 1980s and was a
procedural approach
There are five purposes of UML in SE, including _____, Specifying, Constructing, Documenting, and
Maintaining. What should be the missing one in the blank? - Answers Visualizing
UML is not only a modeling standard but also a standard the specifies the sequence in which models are
to be developed. Correct? - Answers Incorrect; UML is a modeling standard, it does not specify the
sequence in which models are to be developed
, True or false: The term "engineering" is often referred to as the "application of science: as well as
"design under constraint." - Answers True
Name some engineering principles. - Answers "Keep it simple," "Keep the target user in mind," "Ease-of-
use," "Design for functionality, safety, reliability, manufacturability"
Which fundamentals of software engineering can be applied to effectively localize errors and protect
data integrity while preventing a flow-on effect of one error on other parts of the system? - Answers
Polymorphism and encapsulation
True or false: In the mid-2010s, the Unified Modeling Language emerged as a standard for designing
software solutions-from modeling objects and classes through to components and services. - Answers
False, UML emerged in the mid-1990s
True or false: Due to the nature of the UML, every UML diagram can be understood from both structural
and behavioral viewpoint as well as from static and dynamic viewpoint. - Answers False, the nature of a
UML diagram depends on the diagram
Class diagrams, use case diagrams, and activity diagrams strong exhibit static characteristics rather than
dynamic. Correct or incorrect? Why? - Answers Correct; class diagrams, use case diagrams, and activity
diagrams are all examples of static diagrams
Use cases in a use case diagram cannot be decomposed into layers or levels, i.e., they are all at the same
level within the entire requirements model. Correct? - Answers Correct; it does not create a hierarchy of
use cases, but simply represents associations between them
Use cases in a use case diagram can be structured and related to represent the flow of a process,
therefore, use case diagrams are behavioral rather than structural in nature. This is a tricky statement.
How would you correct it? - Answers Use case diagrams depict the flow or behavior of a SYSTEM. The
flow of a process is part of the textual documentation within a use case and the corresponding activity
diagram.
The documentation of use cases is a rich source to identify business entities that eventually result in
classes. Correct or not? Explain. - Answers Correct; a use case diagram models the requirements of the
system at a high level and can be used to identify potential business entities
In use case diagrams, lines are used to connect actors to use cases to indicate their dependency or flows
of information. Correct or not? Explain. - Answers Incorrect; lines connecting actors to use cases merely
indicate an association or communication
Activity diagrams can document the internal behavior within use cases, between use cases, or of the
overall business. Correct? - Answers Correct
Similar to use case diagrams, lines can be used in an activity diagram to show dependency or flows of
information between connected activities. Correct? - Answers Correct