0% found this document useful (0 votes)
17 views12 pages

1st Unit QB SE Updated 2

Uploaded by

dathv26
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views12 pages

1st Unit QB SE Updated 2

Uploaded by

dathv26
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

SRINIVAS UNIVERSITY

SOFTWARE ENGINEERING

V SEMESTER

1st UNIT Question Bank

MCQ:

1. What is one of the quality attributes related to product revision?


A. Portability
B. Efficiency
C. Integrity
D. Testability

2. Which of the following is a risk-driven software process model?


A. Waterfall
B. Spiral
C. Iterative Enhancement
D. Prototype

3. Which model includes blocking states as part of its structure?


A. Waterfall
B. Spiral
C. Iterative Enhancement
D. Prototype

4. In which model is software built and delivered in increments?


A. Waterfall
B. Spiral
C. Iterative Enhancement
D. Prototype

5. What term refers to the effort required to locate and fix errors in a
program?
A. Maintainability
B. Inter-operability
C. Portability
D. Testing

1 Word Question:
1. How would you apply development, management, and quality analysis
activities in implementing a real-world software process?

ANS : SCM

2. How would you plan, monitor, control, and terminate a software project in
a live development scenario?

ANS : Management process

3. Demonstrate how software metrics can be used to evaluate and improve


the characteristics of a software product.

ANS : Software Metric

4. How would you identify and manage a baseline during software


configuration management in an ongoing project?

ANS : Software configuration item

5. How would you use models like CMM, QIP, and GQM to improve the
maturity level of a software development organization?

ANS : Process improvement and maturity model

3 MARKS QUESTIONS:

1. Define Software Engineering in 3 ways.

ANS: "Software engineering is the application of a systematic, disciplined,


and quantifiable approach to the development, operation, and maintenance of
software."

“Software Engineering is the process of designing, developing, testing, and


maintaining software by applying engineering principles to ensure reliability,
efficiency, and scalability.”

“Software Engineering is the branch of engineering that deals with the


development of software products using well-defined scientific principles,
methods, and procedures to ensure high quality and low cost.”

2. Explain various problem faced in Software Engineering.

Problems Faced in Software Engineering:

Problem of Scale:
A fundamental problem of software engineering is the problem of scale.
Development of a very large system requires very different set of methods
compared to developing a small system. In other words, the methods that are
used for developing small systems generally do not scale up to large systems.
For example: consider the problem of counting people in a room versus taking
the census of a country. Both are counting problems but the methods used are
totally different. A different set of methods have to be used for developing
large software. Any large project involves the use of technology and project
management. In small projects, informal methods for development and
management can be used. However, for large projects both have to be much
more formal. When dealing with small software project, the technology and
project management requirement is low. However, when the scale changes to
the larger systems, we have to follow formal methods. For example: if we
have 50 bright programmers without formal management and development
procedures and ask them to develop a large project, they will produce anything
of no use.

The Problem of Consistency:

For an organization there is another goal i.e. consistency. An organization


involved in software development does not just want low cost and high quality
for a project but it wants these consistently. Consistency of performance is an
important factor for any organization; it allows an organization to predict the
outcome of the project with reasonable accuracy and to improve its processes
to produce higher-quality products. To achieve consistency, some standardized
procedures must be followed.

3. List out the limitations of waterfall model

ANS: Limitations of Waterfall Model:

1. Waterfall model assumes that requirements of a system can be frozen before


the design begins. It is difficult to state all the requirements before starting a
project.

2. Freezing the requirements usually requires choosing the hardware. A large


project might take a few years to complete. If the hardware stated is selected
early then due to the speed at which the hardware technology is changing, it
will be very difficult to accommodate the technological changes.

3. Waterfall model stipulates that the requirements be completely specified


before the rest of the development can proceed. In some situations, it might be
desirable to produce a part of the system and then later enhance the system.
This can’t be done if waterfall model is used.

4. Describe the Quality attributes of Software Engineering.

ANS: In Software Engineering, quality attributes describe how well a


software product performs and adapts. They are grouped into three
dimensions:

1. Product Operation
 Correctness – Extent to which the software meets its specifications.
 Reliability – Ability to perform expected functions under stated
conditions.
 Efficiency – Optimized use of system resources (e.g., memory, time).
 Usability – Ease of learning and using the software effectively.

2. Product Transition

 Portability – Ease of moving software to different environments.


 Interoperability – Ability to work with other systems.
 Reusability – Use of components in other applications.

3. Product Revision

 Maintainability – Ease of fixing bugs or updating features.


 Testability – Ease of verifying the software's correctness.
 Flexibility – Ease of modifying the functionality.

5. Describe different phases of development process.

ANS: Requirement Analysis Requirement analysis is done in order to


understand the problem to be solved. In this phase, collect the requirement
needed for the software project.

Software Design:

The purpose of design phase is to plan a solution for the problem specified
by the requirement document. The output of this phase is the design
document which is the blue-pint or plan for the solution and used later
during implementation, testing and maintenance. Design activity is divided
into two phases- System design and detailed design. System design aims to
identify the module that should be included in the system. During detailed
design, the internal logic of each of the modules specified during system
design is decided.

Coding:

The goal of coding is to translate the design into code in a given


programming language. The aim is to implement the design in the best
possible manner. Testing and maintenance costs are much higher than the
coding cost, therefore, the goal of should be to reduce testing and
maintenance efforts. Hence the programs should be easy to read and
understand.

Testing:

The starting point of testing is unit testing. Here each module is tested
separately. After this, the module is integrated to form sub-systems and
then to form the entire system. During integration of modules, integration
testing is done to detect design errors. After the system is put together,
system testing is performed. Here, the system is tested against the
requirements to see whether all the requirements are met or not. Finally,
acceptance testing is performed by giving user’s real-world data to
demonstrate to the user.

6. Describe in brief about the prototype model.

ANS:

The goal of prototyping is to overcome the limitations of waterfall model.


Here a throwaway prototype is built to understand the requirements. This
prototype is developed based on the currently known requirements.
Development of the prototype undergoes design, coding and testing, but
each of these phases is not done very thoroughly of formally. By using the
prototype, the client can get actual feel of the system because the
interaction with the prototype can enable the client to better understand the
system. This results in more stable requirements that change less
frequently. Prototyping is very much useful if there is no manual process
or existing systems which help to determine the requirements. Initially,
primary version of the requirement specification document will be
developed and the end-users and clients are allowed to use the prototype.
Based on their experience with the prototype, they provide feedback to the
developers regarding the prototype. They are allowed to suggest changes if
any. Based on the feedback, the prototype is modified to incorporate the
changes suggested. Again clients are allowed to use the prototype. This
process is repeated until no further change is suggested.

5 Mark Questions:

1. What is the Iterative Enhancement Model? List the steps involved in the
Iterative Enhancement Model.

ANS:
This model tries to combine the benefits of both prototyping and waterfall model.
The basic idea is, software should be developed in increments, and each increment
adds some functional capability to the system. This process is continued until the
full system is implemented. An advantage of this approach is that, it results in
better testing because testing each increment is likely to be easier than testing the
entire system. As prototyping, the increments provide feedback from the client,
which will be useful for implementing the final system. It will be helpful for the
client to state the final requirements. Here a project control list is created. It
contains all tasks to be performed to obtain the final implementation and the order
in which each task is to be carried out. Each step consists of removing the next
task from the list, designing, coding, testing and implementation and the analysis
of the partial system obtained after the step and updating the list after analysis.
These three phases are called design phase, implementation phase and analysis
phase. The process is iterated until the project control list becomes empty. At this
moment, the final implementation of the system will be available. The first
version contains some capability. Based on the feedback from the users and
experience with the current version, a list of additional features is generated. And
then more features are added to the next versions. This type of process model will
be helpful only when the system development can be broken down into stages.

Disadvantage:

This approach will work only if successive increments can actually put into
operation.

2. What is the Spiral Model? List the phases of the Spiral Model with
diagram.

ANS: As the name suggests, the activities of this model can be organized like a
spiral that has many cycles as shown in the above figure. Each cycle in the spiral
begins with the identification of objectives for that cycle; the different alternatives
that are possible for achieving the objectives and the constraints that exist. This is
the first quadrant of the cycle. The next step is to evaluate different alternatives
based on the objectives and constraints. The focus is based on the risks. Risks
reflect the chances that some of the objectives of the project may not be met. Next
step is to develop strategies that resolve the uncertainties and risks. This step may
involve activities like prototyping.

The risk-driven nature of the spiral model allows it to suit for any applications.
The important feature of spiral model is that, each cycle of spiral is completed by
a review that covers all the products developed during that cycle; including plans
for the next cycle. In a typical application of spiral model, one might start with an
extra round-zero, in which the feasibility of the basic project objectives is studied.
In round-one a concept of operation might be developed. The risks are typically
whether or not the goals can be met within the constraints. In round-2, the top-
level requirements are developed. In succeeding rounds the actual development
may be done. In a project, where risks are high, this model is preferable.

Problems:

1)It is difficult to convince the customers that the evolutionary approach is


controllable.

2) It demands considerable risk-assessment expertise and depends heavily on this


expertise for the success.

3) If major risks are uncovered and managed, major problems may occur.

Each loop should spiral outward representing progress over time.


3. What is Project Management in software engineering? List the phases of
the Project Management Process.

ANS: Project Management Process:

To meet cost, quality and schedule objectives, the resources have to be allocated
for each activity of the project. The basic task of management process is to plan
the detailed implementation of the process for the particular project and then
ensure that the plan is followed. Proper management is essential for the success of
any project.

Phases of Management Process:

The activities of management process are grouped into three phases- planning,
monitoring and control and termination analysis. Planning is the largest
responsibility of the project management. The goal of this phase is to develop a
plan for the software development. A software plan is usually produced before the
development activities begin. The major activities during planning are cost
estimation, schedule determination, project staffing, quality control etc.

Project monitoring and control phase includes all activities that the project
management has to perform while development is going on to ensure that project
objectives are met and the development process proceeds according to the plan. If
the objectives are not met, then this phase exerts suitable actions to control
development activities. Monitoring requires proper information about the project.
This information is obtained by the management process from the development
process.

Termination analysis is performed when the development phase is over. The basic
reason for performing termination analysis is to provide information about the
development process. The ideal relationship between development process and
management process is given in the figure above. It shows that, planning is done
before starting the development process and termination analysis is conducted
after the development is over. During development process, quantitative
information flows to the monitoring and control phase of the management process
which uses the information to exert control on the development process.

Metrics, Measurements and Models:

Software metrics are quantifiable measures which could be used to measure the
certain characteristics of the software. The quality of the software cannot be
measured directly because software has no physical attributes. Metrics
measurements and models go together. Metrics provide quantification of some
property, measurement provides actual value for the metrics and models are
needed to get the value for metrics that cannot be measured directly.

4. What is Software Configuration Management (SCM).List the Major


Components in the Software Configuration Management process.

ANS: SCM is a process of identifying and defining the items in the system,
controlling the change of these items throughout their life-cycle, recording and
reporting the status of item and change request and verifying the completeness and
correctness of these items. SCM is independent of development process.
Development process handles normal changes such as change in code while the
programmer is developing it or change in the requirement while the analyst is
gathering the information. However it cannot handle changes like requirement
changes while coding is being done. Approving the changes, evaluating the
impact of change, decide what needs to be done to accommodate a change request
etc. are the issues handled by SCM. SCM has beneficial effects on cost, schedule
and quality of the product being developed.

It has three major components:

1. Software configuration identification

2. Change Control

3. Status accounting and auditing.

Configuration Identification: When a change is done, it should be clear, to what,


the change has been applied. This requires a baseline to be established. A baseline
forms a reference point in the development of a system and is generally defined
after the major phases in the development process. A software baseline represents
the software in a most recent state. Some baselines are requirement baseline,
design baseline and the product baseline or system baseline.

Though the goal of SCM is to control the establishment and changes to these
baselines, treating each baseline as a single entity for the change is undesirable,
because the change may be limited to a very small portion of the baseline. For this
reason, a baseline can consist of many software configuration items. [SCI’s] A
baseline is a set of SCIs and their relations. Because a baseline consists of SCIs
and SCI is the basic unit for change control, the SCM process starts with
identification of the configuration items. Once the SCI is identified, it is given a
name and becomes the unit of change control.

Change Control:

Once the SCIs are identified, and their dependencies are understood, the change
control procedures of SCM can be applied. The decisions regarding the change are
generally taken by the configuration control board [CCB] headed by configuration
manager [CM] When a SCI is under development, it has considered being in
working state. It is not under SCM and can be changed freely. Once the developer
is satisfied with the SCI, then it is given to CM for review and the item enters to
‘under review’ state. The CM reviews the SCI and if it is approved, it enters into a
library after which the item is formally under SCM. If the item is not approved,
the item is given back to the developer. This cycle of a SCI is given in the figure
below.

Once the SCI is in the library, it can not be modified, even without the permission
of the CM. an SCI under SCM can be changed only if the change has been
approved by the CM. A change is initiated by a change request (CR). The reason
for change can be anything. The CM evaluates the CR primarily by considering
the effect of change on the cost schedule and quality of the project and the
benefits likely to come due to this change. Once the CR is accepted, project
manager will take over the plan and then CR is implemented by the programmer.

Status Accounting and Auditing:

The aim of status accounting is to answer the question like what is the status of the
CR (approved/rejected), what is the average and effort for fixing a CR and what is
the number of CR. For status accounting, the main source of information is CR.
Auditing has a different role.

5. Describe in brief about the working of waterfall model with the help of a
diagram.

ANS: Waterfall model is the simplest model which states that the phases are
organized in a linear order. In this model, a project begins with feasibility analysis.
On successfully demonstrating the feasibility of a project, the requirement analysis
and project planning begins. The design starts after the requirement analysis is
complete and the coding begins after the design is complete, once the programming is
complete, the code is integrated and testing is done. On successful completion of
testing, the system is installed. After this, the regular operations and maintenance take
place as shown in the figure
Each phase begins soon after the completion of the previous phase.
Verification and validation activities are to be conducted to ensure that
the output of a phase is consistent with the overall requirements of the
system. At the end of every phase there will be an output. Outputs of
earlier phases can be called as work products and they are in the form
of documents like requirement document and design document. The
output of the project is not just the final program along with the user
manuals but also the requirement document, design document, project
plan, test plan and test results.

Project Outputs of the Waterfall Model:

 Requirement document

 Project plan

 System design document

 Detailed design document

 Test plan and test report

 Final code

 Software manuals

 Review report.

You might also like