You are on page 1of 5

Quiz 1

(Software engineering)

Question 1
Examine the statement “Software doesn’t “wear out” and conclude this by comparing with

hardware. Use the following graphs that shows the effect of failure rate of software and

hardware with time.

Hardware Failure Rates

As time passes, however, the failure rates rise again as hardware components suffer from the
cumulative effects of dust, vibration, abuse, temperature extremes and many other environmental
maladies. Stated simply,

“…The hardware begins to wear out.”

Software Failure Rates

Undiscovered defects in the first engineered version of the software will cause high failure rates early in
the life of a program. However, these are corrected (hopefully without introducing other errors) and the
curve flattens as shown. The implication is clear. Software doesn't wear out. However, it does
deteriorate with maintenance.

During its life, software will undergo changes and it is likely that some new defects will be introduced as
a result of this, causing the failure rate curve to spike as shown above. Before the curve can return to
the original steady-state failure rate (i.e. before the new bugs have been removed), another change is
requested, causing the curve to spike again. Slowly, the minimum failure rate level begins to rise-- the
software is deteriorating due to change.

Question 2 List the Framework activities of Software development process.

1. Communication: 
In this activity, heavy communication with customers and other stakeholders,
requirement gathering is done. 
2. Planning: 
In this activity, we discuss the technical related tasks, work schedule, risks,
required resources etc. 
3. Modeling: 
Modeling is about building representations of things in the ‘real world’. In
modeling activity, a product’s model is created in order to better
understanding and requirements. 
4. Construction: 
In software engineering, construction is the application of set of procedures
that are needed to assemble the product. In this activity, we generate the
code and test the product in order to make better product. 
5. Deployment: 
In this activity, a complete or non-complete products or software are
represented to the customers to evaluate and give feedback. on the basis of
their feedback we modify the products for supply better product. 

Question 3.
Interpret the difference between software product & software process with the help of

example.

 Products are outcomes of executing a process for a project.


 Software Engineering focuses on process.

Process: A particular method, generally involving a number of steps.


 Process is generally a set of phases.
 Each phase performs a well defined task and generally produces an output termed
artifacts (or work products).

For example:

Process for making potato chips

Washing Peeling Frying flavoring packaging

Software Process
A set of steps, along with ordering constraints on execution, to produce software with desired outcome.

▪ Software process is comprising of many component processes

For example
Software process is complex, it relies on making decisions. ... For example, an organization works on
critical systems has a very structured process, while with business systems, with rapidly changing
requirements, a less formal, flexible process is likely to be more effective.

Question 4.
Consider you are planning to build a software project “Library Management System”.

Decompose this project at different levels with respect to modules, sub modules and stages.

Plan-Driven methodologies are termed to as traditional or heavyweight.

In response to Plan-Driven, other methods have been elaborated which lead to obtaining software in

• A shorter period of time

• Using fewer resources (human, financial, etc.)

Plan-driven Approaches

❑ Waterfall: the oldest and widely used

❑ Prototyping: Prototype, followed by Waterfall

❑ Spiral: risk driven approach, each cycle is divided into four quadrants.

❑ Iterative: used widely in product development

Change-driven Approaches

❑ Agile: Lightweight methodologies

❑ Scrum: Scrum is an agile framework for managing work with an emphasis on software
development. It is designed for development teams from three to nine members who break
their work into actions that can be completed within timeboxed iterations

Question 5.
llustrate the major step in moving from problem to solution at design stage.

Requirement Elicitation/Analysis
❑ State the business problem or opportunity.

❑ Forms the basis of agreement between user and developer.

❑ Specifies what not how

❑ Hard task - needs often not understood well.

Design

▪ Architecture design: components and connectors that should be there in the system

▪ High level design: modules and data structures needed to implement the architecture

▪ Detailed design: logic of modules

Coding:

Converts design into code in specific language.

Goal: Implement the design with simple and easy to understand code

Testing & Quality Assurance

❑ Defects are introduced in each phase

▪ Must be found and removed to achieve high quality

❑ Goal: Identify most of defects

▪ Very expensive task; must be properly planned and executed

Question 6.
Conclude the output of the software development stages mention below.

Requirement Elicitation/Analysis

Output: is the Software Requirements Specification (SRS) document

Design
Outputs: architecture/design/logic design docs

Coding

Output: is source-code

Testing & Quality Assurance

Outputs:

▪ Test plans/results

▪ Final tested (reliable) code

You might also like