solution of the question.docx

Upload: april-jones

Post on 14-Apr-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/29/2019 solution of the question.docx

    1/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 performancerequirements,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 review4.

    What is a defect amplification model?

    Ans.

    A defect amplification model is used for generation and detection of errors duringpreliminarydesign, 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?

    "" style="border: 0px;">"" style="border: 0px; visibility: hidden;display: none;">

  • 7/29/2019 solution of the question.docx

    2/15

    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, recordingand 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 onlythroughformal 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.

  • 7/29/2019 solution of the question.docx

    3/15

    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 ofconfigurationobjects 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"" style="border: 0px;">"" style="border: 0px; visibility: hidden;

    display: none;">

    . Solutions to Chapter One Questions1What is software? List out the important characteristics of software.Ans.

    Software is a set of instructions or computer programs that when executed providedesiredfunction 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.

  • 7/29/2019 solution of the question.docx

    4/15

    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 referredto 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 arerequired.

    7.What are the limitations of waterfall model?

  • 7/29/2019 solution of the question.docx

    5/15

    Ans.

    The limitations of waterfall model are:

    "" style="border:

    0px;">"" style="border:0px; visibility: hidden; display: none;">

    The model states that the entire set of requirements should be frozenbefore developmentbegins. 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 veryextensive.

    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 bebuilt 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 problemor 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 imposeddocument.

    2.What is problem analysis?

  • 7/29/2019 solution of the question.docx

    6/15

    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.

    "" style="border:

    0px;">"" 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

  • 7/29/2019 solution of the question.docx

    7/15

    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. Theselanguagesare 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:

    Introduction1 . 1 P u r p o s e 1.2Document conventions1.3Int ende d

    audience1.4Additional information1.5Contact information/SRS team

    members1 . 6 R e f e r e n c e sOverall Description

    2.1Product perspective2.2Product functions2.3User classes and

    characteristics2.4Operating environment"" style="border: 0px;">"" style="border: 0px; visibility: hidden;

    display: none;">

    "" style="border: 0px;">"" style="border: 0px; visibility: hidden;display: none;">

    "" style="border: 0px;">"" style="border: 0px; visibility: hidden;

    display: none;">

    "" style="border: 0px;">"" style="border: 0px; visibility: hidden;

    display: none;">

    Solutions to Chapter Four Questions1.What is internal documentation?

    Ans.

  • 7/29/2019 solution of the question.docx

    8/15

    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 ofsoftware 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.

  • 7/29/2019 solution of the question.docx

    9/15

    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 thesoftware 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.

  • 7/29/2019 solution of the question.docx

    10/15

    The different kinds of software development team structure are:

    Democratic decentralized team

    Controlled centralized team

    Controlled decentralized team2.

    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 theproject. 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 identifiedconstraints. If a software project is not planned properly before development,itleads to schedule slippage, cost over-runs, poor quality, and high maintenance

    costs for software.

    "" style="border:0px;">"" 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 estimatethe 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

  • 7/29/2019 solution of the question.docx

    11/15

    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 groupedinto 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 Charts7.Give the IEEE definition of risk management.

    Ans.

    According to IEEE definition, risk management is an emerging discipline whoseobjectives 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 tomonitoring 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 projectduration 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 anautomated 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:

  • 7/29/2019 solution of the question.docx

    12/15

    Project risk: Threatens the project plan of a proposed software product

    2.5User environment2.6Design/implementation

    constraints2.7Assumptions and dependenciesExternal Interface Requirements

    3.1User interfaces3.2Hardware interfaces3.3Softwareinterfaces3.4Communication protocols and interfaces

    System Features4.1System feature A4.1.1 Description and priority4.1.2 Action/result4.1.3

    Functional requirements4.2System feature BOther Nonfunctional Requirements

    5.1 Performance requirements5.2 Safety requirements5.3 Security requirements5.4

    Software quality attributes5.5 Project documentation5.6 User documentationSolutions toChapter 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 itbridges 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 thesequences of processing and decisions.

    3.

    Define the term modularity.Ans.

    Modularity is a logical partitioning of the software design that allows complexsoftware 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?

  • 7/29/2019 solution of the question.docx

    13/15

    Ans.

    The main objective of data design activity is to translate the data objects defined inthe 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 model8.

    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 isoften 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. Itis 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 useof a set of existing logical constructs from which any program could be formed.

  • 7/29/2019 solution of the question.docx

    14/15

    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:

  • 7/29/2019 solution of the question.docx

    15/15

    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 thesoftware 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