You are on page 1of 15

Solutions to Chapter Seven Questions1.

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 allprofessionally 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 arecarried out during the entire life cycle of software, so that each work product meets therequirements, 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 preliminarydesign, 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? <body style='background:transparent'></body></html>"" style="border: 0px;"><body style='background:transparent'></body></html>"" style="border: 0px; visibility: hidden; display: none;">

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, andexpandability.

Solutions to Chapter Eight Questions1.


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 changerequests, 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, thatthereafter serves as the basis for further development, and that can be changed only throughformal 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 configurationobjects 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 softwarerequirements. Change control is important because all the change requests initiated bycustomers 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 <body style='background:transparent'></body></html>"" style="border: 0px;"><body style='background:transparent'></body></html>"" style="border: 0px; visibility: hidden; display: none;">

. Solutions to Chapter One Questions1


What is software? List out the important characteristics of software. Ans. Software is a set of instructions or computer programs that when executed provide desiredfunction 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 thedevelopment of computer software. This development strategy is often referred to as a processmodel or software engineering paradigm. A process model for software engineering is chosenbased on the nature of the project and application, the methods and tools to be used, and thecontrols and deliverables that are required. 7. What are the limitations of waterfall model?

Ans. The limitations of waterfall model are: <body style='background:transparent'></body></html>"" style="border: 0px;"><body style='background:transparent'></body></html>"" style="border: 0px; visibility: hidden; display: none;">

The model states that the entire set of requirements should be frozen before developmentbegins. This is possible for small projects, but is difficult for large projects where the exactrequirements 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, thecustomer 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 bediscarded 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 softwareprocess models are iterative in nature.

Solutions to Chapter Two Questions1.


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. <body style='background:transparent'></body></html>"" style="border: 0px;"><body style='background:transparent'></body></html>"" style="border: 0px; visibility: hidden; display: none;"> 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, suchas 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, andprototyping. 8. What are specification languages? Give an example. Ans. Specification languages are the languages in which requirements are written. These languagesare 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 P u r p o s e 1.2Document conventions1 .3 I n t e n d e d a u d i e n c e 1.4Additional information1.5Contact information/SRS team members1 . 6 R e f e r e n c e s Overall Description 2.1Product perspective2.2Product functions2.3User classes and characteristics2.4Operating environment
<body style='background:transparent'></body></html>"" style="border: 0px;"><body style='background:transparent'></body></html>"" style="border: 0px; visibility: hidden; display: none;"> <body style='background:transparent'></body></html>"" style="border: 0px;"><body style='background:transparent'></body></html>"" style="border: 0px; visibility: hidden; display: none;"> <body style='background:transparent'></body></html>"" style="border: 0px;"><body style='background:transparent'></body></html>"" style="border: 0px; visibility: hidden; display: none;"> <body style='background:transparent'></body></html>"" style="border: 0px;"><body style='background:transparent'></body></html>"" style="border: 0px; visibility: hidden; display: none;">

Solutions to Chapter Four Questions1.


What is internal documentation? Ans.

Internal documentation is a descriptive material written directly with in the program, at a levelappropriate 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 thosepeople 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 thetime. 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, usersmanual, and error message manual. Solutions to Chapter Five Questions1. What is software testing? Ans. Software testing is the process of testing the functionality and correctness of software by runningit. 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 operationsperform according to specification while black box testing is performed to evaluate the functionalcapability 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 specifiedfunction while Validation is a set of activities that ensures that the software that has been built, istraceable 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 Questions1.


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 projectinvolves defining the goals, assumptions, and constraints of the project. The aim of planning aproject is to identify the requirements for the project and the constraints on the project. Projectplanning enables a project manager to make a plan that meets the requirements of the projectwithin 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. <body style='background:transparent'></body></html>"" style="border: 0px;"><body style='background:transparent'></body></html>"" style="border: 0px; visibility: hidden; display: none;"> 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 insoftware 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 projectattributes. 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 toidentify 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 therebyadopting a proactive approach to risks. Risk monitoring refers to monitoring the facts that mayprovide 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 byallocating 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 theimpact 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 2.5User environment2.6Design/implementation constraints2.7Assumptions and dependencies External Interface Requirements 3 .1 Us e r i n t e r f a c e s 3.2Hardware interfaces3.3Software interfaces3.4Communication protocols and interfaces System Features 4 .1 S ys t e m f e a t u r e A 4.1.1 Description and priority4.1.2 Action/result4.1.3 Functional requirements4 .2 S ys t e m f e a t u r e B Other Nonfunctional Requirements 5.1 Performance requirements5.2 Safety requirements5.3 Security requirements5.4 Software quality attributes5.5 Project documentation5.6 User documentation Solutions to Chapter Three Questions1. 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 therequirements 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 bemanageable 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 analysismodel 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 contextsensitive, enabling the user to select from those topics that are relevant to the actions currentlybeing 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'smanual 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 fundamentalto 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 1. What is software testing? Ans. Software testing is the process of testing the functionality and correctness of software by runningit. 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 operationsperform according to specification while black box testing is performed to evaluate the functionalcapability 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 specifiedfunction while Validation is a set of activities that ensures that the software that has been built, istraceable 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

You might also like