Professional Documents
Culture Documents
Syed Usama Ali
Syed Usama Ali
Total Marks: 40
Obtained Marks:
Software Engineering
Final Term
Submission Date: 13 January 2020
Question No (i)
Answer is:
This is a class diagram example that shows how company entities can be modeled
Question No (ii)
Define modularization. Why a system design with high cohesion and low
coupling is desired?
Also discuss in brief various types of cohesion?
Answer is :
Advantages:
Easy to understand the system.
System maintenance is easy.
A module can be used many times as their requirements. No need to write
it again and again.
Types of Cohesion
Logical Cohesion: The elements are logically related and not functionally.
Ex- A component reads inputs from tape, disk, and network. All the code
for these functions is in the same component
Question No (iii)
Distinguish between software verification and validation. What is the
verification and validation performed during the software life cycle? Can
one be used in place of the other? Justify your answer.
Answer is :
Verification Validation
1. Verification is a static practice of
1. Validation is a dynamic mechanism of
verifying documents, design, code and
validating and testing the actual product.
program.
2. It does not involve executing the code. 2. It always involves executing the code.
3. It is human based checking of 3. It is computer based execution of
documents and files. program.
4. Verification uses methods like 4. Validation uses methods like black box
inspections, reviews, walkthroughs, and (functional) testing, gray box testing, and
Desk-checking etc. white box (structural) testing etc.
5. Validation is to check whether
5. Verification is to check whether the
software meets the customer expectations
software conforms to specifications.
and requirements.
6. It can catch errors that validation 6. It can catch errors that verification
cannot catch. It is low level exercise. cannot catch. It is High Level Exercise.
7. Target is requirements specification,
7. Target is actual product-a unit, a
application and software architecture,
module, a bent of integrated modules, and
high level, complete design, and
effective final product.
database design etc.
8. Verification is done by QA team to
8. Validation is carried out with the
ensure that the software is as per the
involvement of testing team.
specifications in the SRS document.
9. It generally comes first-done before
9. It generally follows after verification.
validation.
It is often possible that a product passes through the verification but fails
in the validation phase. As it met the documented requirements &
specifications, however, those specifications were themselves incapable
to address the user’s needs. Thus, it is important to carry out testing for
both the types to ensure the overall quality.
Both verification and validation are related to the concepts of quality and
of software quality assurance. By themselves, verification and validation
do not guarantee software quality; planning, traceability, configuration
management and other aspects of software engineering are required.
Within the modeling and simulation (M&S) community, the definitions of
verification, validation and accreditation are similar.
Question No (4)
Answer is:
A configuration is the set of characteristics that define a final product or
deliverable. This includes all functional and physical specifications.
Physical specifications may include the color, size, weight, shape, and
materials. Functional specifications dictate the ability for the product to
achieve a certain outcome.
Take a car for example. Physical specs may call for a red, 4-door
vehicle. Functional specs could include the ability to reach 60 mph in 10
seconds and meet emissions standards.
Diagram:
Change Control
Change control is a procedural method which ensures quality and
consistency when changes are made in the configuration object. In this
step, the change request is submitted to software configuration manager.
Baseline:
A baseline is a formally accepted version of a software configuration item. It
is designated and fixed at a specific time while conducting the SCM
process. It can only be changed through formal change control procedures.
Question No (5)
Discuss the limitations of software process models. Which according to you
is the best model of software development? Justify your answer with
example.
Limitation:
Waterfall Model
Advantages:
Disadvantages:
Prototyping Model:
A variation of the waterfall that adds a new phase, prototyping. There are
several kinds of prototypes but they all intend to reduce risk by building a
quick and dirty replica or mockup of the intended system.
It can be used to demonstrate technical feasibility when the technical risk is
high. It can also be used to better understand and elicit user requirements.
In either case,
the goal is to reduce risk and limit costs by increasing understanding of
proposed solutions before committing more resources.
Spiral Model
An iterative approach where multiple passes are made through each
phase. During each iteration the system is explored at greater depth and
more detail is added. Appropriate for exploratory projects that are working
in an unfamiliar domain or with unproven technical approaches. The
iterative natures allows for knowledge gained during early passes to inform
subsequent passes. Requires low up-front commitment.
Advantage:
Manages uncertainty inherent in exploratory projects.
Disadvantage:
Difficult to establish stable documents; things keep getting modified during
each iteration.
Agile Model
Advantages:
Disadvantages:
Also, for example, the software development arm of Toyota has been
traditionally working with waterfall models.
The waterfall model was also used in banking, healthcare, control systems for nuclear
facilities, space shuttles, etc.