Sunteți pe pagina 1din 11

Solutions to Chapter One Questions

1. What is software? List out the important characteristics of software.


Ans.
Software is a set of instructions or computer programs that when executed provide desired
function and performance.
The important characteristics of software are:
 Software is developed or engineered; it is not manufactured.
 Software does not wear out.
 Most software is custom-built, rather than being assembled from existing components.

2. What is the advantage of software reusability?


Ans.
The advantage with software reuse is that, it allows for faster software development and higher-
quality programs.

3. Briefly list out the major application areas of software.


Ans.
The two areas of application of software are:
 Embedded software
 Application software
4. Give the IEEE definition of software engineering.
Ans.
"The application of a systematic, disciplined, quantifiable approach to the development, operation,
and maintenance of software, that is, the application of engineering to software."

5. Name the three generic views of software engineering.


Ans.
The three generic views of software engineering are:
 The definition phase
 The development phase
 The maintenance phase

6. What is software engineering paradigm?


Ans.
Software engineering is a discipline that integrates process, methods and tools for the
development of computer software. This development strategy is often referred to as a process
model or software engineering paradigm. A process model for software engineering is chosen
based on the nature of the project and application, the methods and tools to be used, and the
controls and deliverables that are required.

7. What are the limitations of waterfall model?


Ans.
The limitations of waterfall model are:
 The model states that the entire set of requirements should be frozen before development
begins. This is possible for small projects, but is difficult for large projects where the exact
requirements may not be known in advance.
 The waterfall model requires formal documents after each phase. This is not possible in GUI-
based applications where the documentation will be very extensive.
 The customer sees the software only at the end of the development phase. As a result, the
customer cannot suggest any changes until the product is delivered.

8. What is a throwaway prototype?


Ans.
In the throwaway prototype approach, the prototype is constructed with an idea that it will be
discarded after the completion of analysis and the final system will be built from the scratch.

9. What is evolutionary software process model?


Ans.
Evolutionary process models are the models, which evolves over period of time. These software
process models are iterative in nature.

Solutions to Chapter Two Questions


1. Give the IEEE definition of software requirements analysis.
Ans.
A requirement is (1) a condition of capability needed by a user to solve a problem or achieve; (2)
a condition or a capability that must be met or possessed by a system, to satisfy a contract,
standard, specification or other formally imposed document.

2. What is problem analysis?


Ans.
Problem analysis answers the question "have we captured all the user needs?"

3. What is a data dictionary?


Ans.
The data dictionary is a repository of various data flows defined in a DFD.

4. What is an evolutionary prototype model?


Ans.
The evolutionary prototype is built with an idea that it will later be converted into the final system.
5. When do you say that an SRS is traceable?
Ans.
SRS is traceable when each requirement in an SRS must be uniquely identified to a source, such
as use case, government requirement, or industry standard.

6. List out the important characteristics of a good SRS.


Ans.
A good SRS should be:
 Complete
 Consistent
 Accurate
 Modifiable
 Ranked
 Testable
 Traceable
 Unambiguous
 Valid

7. Name the important methods of requirements validation.


Ans.
The methods of requirements validations are automated cross-referencing, reading, and
prototyping.

8. What are specification languages? Give an example.


Ans.
Specification languages are the languages in which requirements are written. These languages
are exact, unambiguous, and precise. Decision table is an example of specification language.

9. Give the outline structure of SRS.


Ans.
The outline of SRS structure is:
Introduction
1.1 Purpose
1.2 Document conventions
1.3 Intended audience
1.4 Additional information
1.5 Contact information/SRS team members
1.6 References

Overall Description
2.1 Product perspective
2.2 Product functions
2.3 User classes and characteristics
2.4 Operating environment
2.5 User environment
2.6 Design/implementation constraints
2.7 Assumptions and dependencies

External Interface Requirements


3.1 User interfaces
3.2 Hardware interfaces
3.3 Software interfaces
3.4 Communication protocols and interfaces

System Features
4.1 System feature A
4.1.1 Description and priority
4.1.2 Action/result
4.1.3 Functional requirements
4.2 System feature B

Other Nonfunctional Requirements


5.1 Performance requirements
5.2 Safety requirements
5.3 Security requirements
5.4 Software quality attributes
5.5 Project documentation
5.6 User documentation

Solutions to Chapter Three Questions


1. Why is design an important phase in software development life cycle?
Ans.
Design is an important phase in the software development life cycle because it bridges the
requirements specification and the final solution for satisfying the requirements.

2. What is a program structure?


Ans.
The program structure represents the hierarchy of control with out regard to the sequences of
processing and decisions.

3. Define the term modularity.


Ans.
Modularity is a logical partitioning of the software design that allows complex software to be
manageable for purposes of implementation and maintenance.
4. What is cohesion?
Ans.
Cohesion is a measure of the relative functional strength of a module.

5. What is the main objective of data design?


Ans.
The main objective of data design activity is to translate the data objects defined in the analysis
model into data structures that resides with in the software.

6. What are the three main areas where interface design is focused?
Ans.
The interface design focuses on three important areas:
 The design of interfaces between software modules
 The design of interfaces between the software and other external entities, such as non-
human producers and consumers of information
 The design of the interface between the user and the computer

7. Name the four Interface design models that provide a human-computer interface (HCI).
Ans.
There are four Interface design models that provide a HCI:
 Design model
 User model
 System perception model or user's model
 System image model
8. What is the difference between integrated help and add-on help?
Ans.
Integrated help facility is designed into the software from the beginning, and it is often context
sensitive, enabling the user to select from those topics that are relevant to the actions currently
being performed. It provides a very quick help for the user.
Add-on help facility is added to the software after system has been built. It is an on-line user's
manual with limited query capabilities.

9. What is structured programming?


Ans.
Structured programming is a procedural design technique, which refers to the use of a set of
existing logical constructs from which any program could be formed. The constructs fundamental
to structured programming are sequence, condition, and repetition.

10. Name any two graphical design notations used in procedural design.
Ans.
The two graphical design notations used in procedural design are:
 Flow chart
 Box diagram
Solutions to Chapter Four Questions
1. What is internal documentation?
Ans.
Internal documentation is a descriptive material written directly with in the program, at a level
appropriate for a programmer.

2. How is an external document being described?


Ans.
External document is a part of overall system documentation and is intended to be read by those
people who may never look at the actual code.

3. What are programming tools?


Ans.
Programming tools are the tools, which reduce the software development effort and save the
time.

4. What are source code tools?


Ans.
Source code tools are the tools, which helps editing and viewing of source code.

5. What documents constitute a document set?


Ans.
Documentation set consists of installation manual, operations manual, procedure manual, users
manual, and error message manual.

Solutions to Chapter Five Questions


1. What is software testing?
Ans.
Software testing is the process of testing the functionality and correctness of software by running
it.

2. Why is software testing very important?


Ans.
Software testing is important because it performs critical role for quality assurance and for
ensuring the reliability of software.

3. How does white-box testing differ from black box testing?


Ans.
White-box testing tests the internal working of product and ensure that all internal operations
perform according to specification while black box testing is performed to evaluate the functional
capability of software.

4. Give two examples for white-box testing method.


Ans.
The white box testing methods are:
 Basis Path testing
 Conditional Testing

5. Give two examples for black-box testing method.


Ans.
The black box testing methods are:
 Boundary Value Analysis
 Equivalence class partitioning

6. What is the difference between verification and validation?


Ans.
Verification is a set of activities that ensures that the software correctly implements a specified
function while Validation is a set of activities that ensures that the software that has been built, is
traceable to the customer requirements.
7. What is system testing?
Ans.
System testing verifies that the system performs well with other system elements like hardware,
information, and databases.

8. Name the important approaches used in program debugging.


Ans.
There are three debugging approaches:
 Brute force method
 Backtracking
 Cause elimination

Solutions to Chapter Six Questions


1. Name the different kinds of software development team structure?
Ans.
The different kinds of software development team structure are:
 Democratic decentralized team
 Controlled centralized team
 Controlled decentralized team

2. Why should a software project be planned before development?


Ans.
Planning of a project is the first component of a software project management. Planning a project
involves defining the goals, assumptions, and constraints of the project. The aim of planning a
project is to identify the requirements for the project and the constraints on the project. Project
planning enables a project manager to make a plan that meets the requirements of the project
within the identified constraints. If a software project is not planned properly before development,
it leads to schedule slippage, cost over-runs, poor quality, and high maintenance costs for
software.
3. What is an estimation model?
Ans.
An estimation model for computer software is used to predict efforts and costs for computer
software. For example, you can use a cost estimation model to estimate the costs of a project in
software project management.

4. Name the different techniques, which are based on COCOMO.


Ans.
The different techniques based on COCOMO are:
 Basic
 Intermediate
 Detailed

5. What are cost drivers?


Ans.
Cost drivers include subjective assessments of product, hardware, personnel, and project
attributes. The COCOMO model uses 15 cost drivers, which are grouped into four categories:
software product attributes, computer attributes, personnel attributes, and project attributes.
6. Name the methods that are commonly used for representing scheduling techniques.
Ans.
The methods used for representing scheduling techniques are:
 Gantt Charts
 PERT Charts
7. Give the IEEE definition of risk management.
Ans.
According to IEEE definition, risk management is an emerging discipline whose objectives are to
identify address and eliminate software risks items before rework.

8. Define the terms: risk mitigation, risk monitoring.


Ans.
Risk mitigation refers to avoiding risks by developing a strategy for reducing the turn over thereby
adopting a proactive approach to risks. Risk monitoring refers to monitoring the facts that may
provide an indication of whether the risk is becoming more or less likely.

9. Is scheduling same as project tracking?


Ans.
Scheduling is an activity to distribute estimated effort across the planned project duration by
allocating the efforts to specific software engineering tasks, such as availability of resources.
Software tracking is an activity that tracks the activity of each task mentioned in the schedule.
This enables a project manager to use an automated project scheduling tool to determine the
impact of schedule slippage if a task is tracked to be behind the schedule.

10. How do you classify risks?


Ans.
The various categories of risks are:
 Project risk: Threatens the project plan of a proposed software product.
 Technical risk: Threatens the quality and timeliness of the proposed software.
 Business risk: Threatens the viability of the proposed software.
 Known risk: Is obtained from the careful evaluation of the project plan.
 Predictable risk: Is obtained from the experience of a past software project.
 Unpredictable risk: Is difficult to find and cannot be known in advance.

Solutions to Chapter Seven Questions


1. Define the terms: Quality, Quality assurance and Quality control.
Ans.
Software quality is conformance to the explicitly stated functional and performance requirements,
explicitly documented development standards, and implicit characteristics that are expected of all
professionally developed software.
Quality assurance is an auditing and reporting function of management.
Quality control consists of a series of activities like inspections, reviews, and tests, which are
carried out during the entire life cycle of software, so that each work product meets the
requirements, placed upon it.

2. What is software quality assurance?


Ans.
Quality assurance is an auditing and reporting function of management.

3. Name the different types of software reviews.


Ans.
There are two types of software reviews:
 Informal review
 Formal review

4. What is a defect amplification model?


Ans.
A defect amplification model is used for generation and detection of errors during preliminary
design, detail design, and coding steps of software engineering process.

5. Name any two commonly used quality standards for software.


Ans.
The two commonly used quality standards for software are:
 ISO
 CMM

6. What is the importance of SQA plan?


Ans.
The SQA plan provides a road map and a layout for the software quality assurance activity.

7. What is the importance of McCall's quality factors?


Ans.
McCall's quality factors determine the software quality of the product under the product is under
operation, revision, and transition.
8. Why are quality metrics very important?
Ans.
Quality metrics measures the software quality in terms of audibility, accuracy, completeness,
conciseness, consistency, data commonality, error tolerance, execution efficiency, and
expandability.

Solutions to Chapter Eight Questions


1. Give the IEEE definition of Software configuration management.
Ans.
IEEE has given the definition of SCM as:
" SCM is the 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 items and change
requests, and verifying the completeness and correctness of items."

2. What is a baseline?
Ans.
Baseline is a specification or product that has been formally reviewed and agreed upon, that
thereafter serves as the basis for further development, and that can be changed only through
formal change control procedure.

3. Give two examples of baselines.


Ans.
The two examples of baselines are:
 SRS
 Design Document

4. What is an SCM process?


Ans.
SCM process consists of five activities, which are:
 Identification of individual SCIs
 Version control
 Change control
 Configuration auditing
 Reporting
5. What are aggregate objects? Give one example.
Ans.
Aggregate objects are collection of basic objects and other aggregate objects.

6. What is version control?


Ans.
Version control combines procedures and tools to manage different version of configuration
objects that were created during software engineering process.

7. What is change control? Why is it important?


Ans.
Change control is an important activity of SCM, which control the changes in software
requirements. Change control is important because all the change requests initiated by
customers are analyzed by CCB. CCB accepts or rejects change keeping in view the impact of
change on cost, quality and schedule of software project.

8. Name the important functions of SCM process.


Ans.
The important functions of SCM process are:
 Identification of individual SCIs
 Version control
 Change control
 Configuration auditing
 Reporting

S-ar putea să vă placă și