15,16 2 mark seqa

Upload: bhuvi2312

Post on 03-Jun-2018

233 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/12/2019 15,16 2 mark SEQA

    1/32

    2 MARK QUESTIONS AND ANSWERS

    IT 2251- SOFTWARE ENGINEERING AND QUALITY ASSURANCE

    ACD YEAR: 2012-2013(EVEN SEM)

    UNIT I - SOFTWARE PRODUCT & PROCESS

    1. Define software

    Software is collection of computer programs and associated documentation that

    when executed provide desired features, function, and performance.

    2. Define Software Engineering

    Software Engineering is the establishment and the use of sound engineering principle

    in order to obtain a reliable and efficient software.

    OR

    Software engineering is a discipline in which theories, methods and tools are applied

    to develop professional software product.

    OR

    Systematic, disciplined, quantifiable approach to the development, operation and

    maintenance of software. That is the application of engineering to software.

    3. What are the layers present in layered Technology

    Tools

    Methods

    Process

    A Quality Focus

    4. What are the various categories of software?

    System software

    Application software

    Embedded software

    Engineer ing/ Scientific software

    Artificial Intelligence software.

    5. Define Process framework

    It establishes the foundation for a complete s/w process.

    It identifies frame work activities.

    Process framework encompasses a set of umbrella activities.

    Process defines who is doing what, when, and how to reach a certain goals.

  • 8/12/2019 15,16 2 mark SEQA

    2/32

  • 8/12/2019 15,16 2 mark SEQA

    3/32

    Process: process is defined as a series of activities in which one or more inputs are

    used to produce one or more outputs.

    12. Define software engineering paradigm.

    To solve actual problems in an industry, a software engineer or a team of

    engineers must combine a development strategy that includes the process, methods and

    tools. This strategy is referred as software engineering paradigm or process model

    13. What is the difference between verification and validation?

    VerificationValidation

    1. Are we building the product right?

    2. Verificat ion shows conformance

    with specification.

    1. Are we building the right product?

    2. Validation shows that the program

    meets the customers needs.

    14. List the common errors in verification process. Incomplete specifications

    Misunderstand of customer communication

    Deviation from specifications

    Violation of programming standards

    Errors in data representation

    15. Define software life cycle.

    Software life cycle is the period of time beginning with a concept for a software

    product and ending whenever the software is no longer available for use.

    16. Types of lifecycle model.

    1. Prescriptive process model2. Water fall model

    3. Incremental process Model1. Incremental Model2. RAD Model

    4. Evolutionary process Model1. Prototyping model

    2. Spiral Model3. The concurrent development Model

    5. Specialized Process Model

    1. Component based development Model2. Formal Methods Model

    3. Aspect oriented S/W development (AOSD)6. Unified process model

    17. Define Water fall model. It is an oldest model

  • 8/12/2019 15,16 2 mark SEQA

    4/32

    Sometimes called classic lifecycle model

    It is a systematic and sequential approach

    Start from communication and process through planning, modeling,

    construction and deployment.

    18. What are the Steps present in Waterfall model?

    Communication: Collaboration with customer, gathering information

    Planning: establish a work plan, describe technical risks, list resource,

    work products etc

    Modeling: creation of models, and design

    Construction: coed generation and testing

    Deployment: delivered to the customer ,evaluate, and provides a feedback

    19. Drawbacks of waterfall model

    Oldest model. Rarely follows the sequential flow. Difficult to collect requirement explicitly at the beginning.

    A working version not available in later releases.

    It leads a blocking state.

    20. What are the phases encompassed in RAD model?

    a. Business modeling

    b. Data modeling

    c. Process modeling

    d. Application generation

    e. Testing

    21. Write the key challenges facing software engineering.

    Heterogenity

    Delivery

    Trust challenge

    22. What is meant by development process?

    A software development process is a structure imposed on the development of

    software product which include analysis, design, code and Test.

    23. Give at least two reasons for why prototyping is problematic.

    Prototyping model doesnt consider the overall software quality or long term

    maintainability.

    Developer uses an inappropriate operating system or programming language in order

    to get a prototype working quickly.

  • 8/12/2019 15,16 2 mark SEQA

    5/32

    24. What are the advantages of prototyping model?

    Prototyping model is used when a customer defines a set of objectives for software

    but doesnt identify detailed input, processing and output requirements.

    It serves as the mechanism for identifying software requirements.

    If the prototype is built the developer attempts to use existing program fragments to

    develop a working program.

    25. What are the characteristics of software? (Attributes of good software).

    Software should deliver the required functionality and should be

    Maintainable, dependable, usable, efficient.

    26. What is the advantage of incremental model?

    Incremental model is useful when staffing is unavailable.

    Increments can be planned to manage technical risks.

    27. Drawbacks of spiral model

    If major risks are not discovered and managed problems will occur.

    It demands a direct consideration of technical risks at all stages of project.

    28. Identify in which phase of the software life cycle the following documents are

    delivered.

    a. Architectural design, b. Test plan, c. Cost estimate, d. Source code document.

    Architectural design: Design phase

    Test plan : Testing phase

    Cost estimate: Requirement analysis

    Source code: Implementation phase

    29. Define system engineering.

    Concerned with all aspects of computer based systems development ( Specifying

    the system , defining its overall architecture , integrating the different parts to create the

    finished system etc. ) . It include hardware, software , process engineering and people.

    Software engineering is a part of this process.

    30. Various phases of System engg. process

    Requirement analysis

    System design

    Sub_ System development

    System Integration

    System deployment

    System evolution

  • 8/12/2019 15,16 2 mark SEQA

    6/32

    System decommissioning.

    31. Define System Engg. Hierarchy

    System Engg encompasses a collection of top-down and bottom up methods to

    navigate the hierarchy.

    The levels are

    World view

    Domain view

    Element view

    Detailed view

    32. Define a system and computer based system.

    System is an established way of doing something like method, procedure.

    Computer based system is a set of arrangement of elements that are organized to

    accomplish some predefined goal by processing information system elements.

    33. Define Business Process Engineering (BPE)

    The goal of Business Process Engineering (BPE) is to define architectures that

    will enable a business to use information effectively. Three different architectures are

    Data architecture

    Applications architecture

    Technology architecture

    34. Define Product engg.The goal of product engg is to translate the customers desire for a set of defined

    functionalities into a working product. Four components are software , hardware ,data ,

    people.

    UNIT II SOFTWARE REQUIREMENTS

    1. List out the e lements of analysis model.

    i. Data Dictionary

    ii. Entity Relationship Diagram

    iii. Data Flow Diagram

    iv. State Transition Diagram

    v. Control Specification

    vi. Process specification

  • 8/12/2019 15,16 2 mark SEQA

    7/32

    2. What are the informations available in the data dictionary?

    Precise definition of data elements, User names, roles and privileges, Schema

    objects, Integr ity constraints, stored procedure, General data base structure, Space

    allocations.

    3. What are the various types of traceability in software engineering?

    i. Source traceability These are basically the links from requirement to stakeholders

    who propose these requirements.

    ii. Requirements traceability These are links between dependant requirements.

    iii. Design traceability These are links from requirements to design.

    4. Why it is difficult to gain a clear understanding of what the customer wants?

    Customer requirement is gathered at particular period of time. So the customer is

    not able to predict the future which they are going to work. So it is difficult to gain a clearunderstand about what they wants.

    5. Create a data dictionary that provides with a precise definition of telephone number

    it should indicate where and how this data item is used and any s upplementary

    information that is relevant to it.

    Data dictionary for telephone number:

    Name: Telephone number

    Aliases: None

    Whos used/How used: assess against setup (output)

    Dial phone(input)

    Supplementary information

    Telephone number:[local no.][long distance number]

    Local no: prefix+ access number

    Long distance no: 1+area code +local number

    Prefix: a 3 digit no. that never starts with 0 or1.

    Access no: any 4 no. string

    6. What are the various prototyping techniques?

    i. Dynamic high level language development.

    ii. Database programming.

    iii. Component and application assembly.

    7. What does DFD level0 represent?

  • 8/12/2019 15,16 2 mark SEQA

    8/32

    Level0 DFD is called as fundamental system model or context model. In the

    context model the entire software system is represented by a single bubble with input and

    output indicated by incoming and outgoing arrows.

    8. Write the steps in requirement engineering process .

    Feasibility study, Requirement elicitation, Requirement analysis, Requirement

    specification, System modeling, Requirement validation and management.

    9. Compare evolutionary and throw away prototyping.

    10. What is meant by software prototyping?

    Software prototyping is defined as a rapid software development for validating the

    requirements.

    11. What is the advantage of software prototyping?

    i. Prototype serves as a basis for deriving system specification.

    ii. Design quality can be improved.

    iii. System can be maintained easily.

    iv. Development efforts may get reduced.

    v. System usability can be improved

    12. Define requirement engineering process.

    Requirement engineering is the process of establishing the services that the customer

    requires from the system and the constraints under which it operates and is developed.

    13. What are the advantages of evolutionary prototyping?

    i. Fast delivery of the working system.

    ii. User is involved while developing the system.

    ii. More useful system can be delivered.

    iv. Specification, design and implementation work in co-ordinate manner

    Evolutionary Throw away prototyping

    1. The objective of Evolutionary

    prototyping is to deliver a working system

    to end users.

    2. Prototypes usually evolve so quicklythat it is not cost effective to produce a

    great deal of system requirements.

    The objective Throw away prototyping is

    to validate or derive the system

    requirement.

    It may not be possible to prototype someof the most important parts of the system.

  • 8/12/2019 15,16 2 mark SEQA

    9/32

    14. Define cardinality and modality.

    Cardinality specifies how the number of occurrences of one object is related to the

    number of occurrences of another object.

    Modality indicates whether or not a particular data object must participate in the

    relationship.

    15. What is meant by DFD?

    Data Flow Diagram depicts the information flow and the transforms that are applied on

    the data as it moves from input to output.

    16. What is meant by CFD?

    Control Flow Diagram show how events flow among processes. It also shows how

    external events activates the processes.

    17. What is meant by structural analysis?

    The structural analysis is mapping of problem domain to flows and transformations. Thesystem can be modeled using Entity relationship diagram, Data flow diagram and control

    flow diagram.

    18. What are the non functional requirements for software?

    The non functional requirements define system properties and constraints.

    Various properties of the system can be Reliability, response time, storage requirements.

    Constraints of the system can be Input and output device capability, system

    representations.

    19. Define Data dictionary.

    The data dictionary can be defined as an organized collection of all the data

    elements of the system with precise and rigorous definitions so that user and system

    analyst will have a common understanding of inputs, outputs, components of stores and

    intermediate calculations.

    20. What do you mean by rapid prototyping?

    Rapid prototyping is a technique in which the initial version of the software

    system that demonstrates the concept can be developed rapidly. Dur ing rapid prototyping

    the initial prototype is produced and can be refined in later versions.

  • 8/12/2019 15,16 2 mark SEQA

    10/32

    UNIT III ANALYSIS, DESIGN CONCEPTS AND PRINCIPLES

    1. What is an architectural style?

    Architectural style describes system category that encompasses

    a set of components that performs a function required by a system.

    Set of connectors that enable communication, coordination among components

    How components can be integrated to form the system

    Semantic models enable a designer to understand the overall properties of a

    system.

    2. Describe version control in the context of SCM.

    Configuration management allows a user to specify alternative configurations of

    the software system.

    3. What is logarithmic Poisson distribution model?

    logarithmic Poisson distribution model is a version of failure model which takes the

    form

    f(t)=(1/p)ln[I0pt+1]

    where f(t)=Number of expected failure at time t.

    I0=Initial number of failure intensity.

    P=Exponential reduction in failure intensity.

    4. What is transform mapping?

    The transform mapping is a set of design steps applied on the DFD in order to

    map the transformed flow characteristics into specific architectural style.

    5. What are the types of coupling?

    Data coupling , stamp coupling, control coupling, External coupling, Common

    coupling, Content coupling.

    6. What are the different types of Cohesion?

    *Coincidentally cohes ive * logically cohes ive *Temporal cohesion * Procedural

    cohesion * Communicational cohesion

    7. Differentiate version control and change control.

    Version Control combines procedures and tools to manage different versions of

    configuration objects that are created during software process.

    Change control is a set of procedures to evaluate the need of change and apply the

    changes requested by the user in a controlled manner.

  • 8/12/2019 15,16 2 mark SEQA

    11/32

    8. List the principles of a software design.

    i. The design process should not suffer from tunnel vision.

    ii. The design should be traceable to the analysis model.

    iii. The design should exhibit uniformity and integration.

    iv. Design is not coding.

    v. The design should not reinvent the wheel.

    9. What is meant by cohesion? How software should be des igned considering cohesion?

    Cohesion is a measure of the relative functional strength of a module. The greater

    the cohesion of each module in the system, lower the coupling between the modules. The

    internal cohesion of a module is measured in terms of the strength of the hiding of

    elements with in the module.

    10. What are the various models produced by software design process?

    *Data design *Architectural design *Interface design * Component level design.11. What are the quality parameters considered for effective modular design?

    Two quality parameters are Coupling and Cohesion.

    Coupling is defined as a interdependency between the modules.

    Cohesion is defined as a individual strength of a module

    12. What are types of architectural styles?

    i. Data centered architecture.

    ii. Data flow architecture.

    iii. Call and return architecture.

    iv. Object-oriented architecture.

    v. Layered architecture.

    13. Define real time system.

    Real time system is a software system in which the correct functionalities of the

    system are dependent upon results produced by the system and the time at which these

    results are produced.

    14. Define hard and soft real time system.

    A soft real time system is a system whose operation is degraded if results are not

    produced according to the specified timing requirements.

    A hard real time system is a system whose operation is incorrect if results are not

    produced according to the timing specificat ion.

  • 8/12/2019 15,16 2 mark SEQA

    12/32

  • 8/12/2019 15,16 2 mark SEQA

    13/32

    UNIT IV TESTING

    1. Define software Testing.

    Testing can be described as a process used for revealing defects in software, and

    for establishing that the software has attained a specified degree of quality withrespect

    to selected attributes.

    2. What are the steps for top down integration?

    * Main control module is used as a test driver and stubs are substituted for all

    components directly subordinate to the main module.

    * Depending on integration approach (Depth or breadth first) subordinate stubs are

    replaced one at a time with actual components.

    *Tests are conducted as each component is integrated.

    *The completion of each set of tests another stub is replaced with real component

    *Regression testing may be conducted to ensure that new errors have not been

    introduced.

    3. What are the steps involved in testing real time system?

    *Task testing * Behavioral Testing, *Inter task Testing, *System Testing

    4. Assume a program for computing the roots of quadratic equation. List out the test

    cases using equivalence partitioning method.

    Roots of quadratic equation = -b+ b2-4ac

    2a

    Roots can be equal, unequal or imaginary. So test cases are selected that all the three

    conditions are satisfied.

    5. Write short notes on equivalance partitioning.

    Equivalance partitioning is a black box testing method that divide the input domain of

    a program into classes of data from which test cases can be derived.

    6. What is the use of drivers and stubs in testing?

    A driver is a main program that accepts test case data, passes such data to the

    component and print relevant results.

    A stub or dummy subprogram uses the subordinate modules inter face, may do the

    minimal data manipulation, prints verification of entry and returns control to the module

    undergoing testing.

    7. What is the objective of unit testing?

  • 8/12/2019 15,16 2 mark SEQA

    14/32

    The objective of unit testing is to test the modules individually in order to detect

    defects

    8. What is Beta testing?

    Alpha testing is a testing in which the version of software is tested by the

    customer without the developer being present. This testing is performed at customers site.

    9. What is system testing and specify the type.

    In system testing, the testing of group of components integrated to create a system or

    sub-system is done. These tests are based on system specification.

    Types of system testing are Recovery testing, Security testing, Stress testing,

    Performance testing

    10. What are the objectives of testing?

    Testing is a process of executing a program with the intend of finding an error.

    A good test case is one that has high probability of finding an undiscovered error. A successful test is one that uncovers as an-yet undiscovered error.

    11. What are the principles of testing the software engineer must apply while

    performing the software testing?

    All tests should be traceable to customer requirements.

    Tests should be p lanned long before testing begins.

    The Pareto principle can be applied to software testing-80% of all errors

    uncovered during testing will likely be traceable to 20% of all program modules.

    Testing should begin in the small and progress toward testing in the large.

    Exhaustive testing is not possible.

    To be most effective, an independent third party should conduct testing.

    12. What are the errors uncovered by black box testing?

    Incorrect or missing functions

    Interface errors

    Errors in data structures

    Performance errors

    Initialization or termination error

    13. What are the guidelines for debugging?

    a. Debugging occur as a consequence of successful testing

    b. Debugging process begins by executing the test cases

    c. Test results are assessed and a lack of correspondence between expected and

    actual results

  • 8/12/2019 15,16 2 mark SEQA

    15/32

    d. The debugging process attempts to match symptom with cause. This enables to

    correct the errors.

    14. Distinguish black box and white box testing.

    15. What is meant by cyclomatic complexity?

    Cyclomatic complexity is a software metric that gives the quantitative measure of

    logical complexity of the programV(G)=E-N+2

    E-Number of flow graph edges

    N-Number of flow graph nodes

    16. What is stress testing?

    Stress testing is a testing for a system which is executed in a manner that demands

    resources in abnormal quantity, frequency, volume.

    17. Why tests are important with respect to software?

    The purpose of software testing is to ensure whether the software functions appear to be

    working according to specifications and performance requirements. This helps in

    improving the overall quality of the software.

    18. What is meant by regression testing?

    Regression testing is used to check for defects propagated to other modules by changes

    made to existing program. Thus, regression testing is used to reduce the side effects of

    the changes.

    19. What is alpha testing?

    Alpha testing is a testing in which the version of complete software is tested by

    the customer under the supervision of developers. This testing is performed at

    developer site.

    20. What is meant by Boundary value analysis?

    Boundary value analysis is a testing techniquein which the elements at the edge of

    the domain are selected and tested.

    Black box testing white box testing

    1. Black box testing is called behavioral

    testing

    2.It examines a system functionality with

    testcase input and output.

    1. white box testing is called glass box

    testing

    2. Here the procedural details, all the

    logical paths, all the internal data

    structures are closely examined.

  • 8/12/2019 15,16 2 mark SEQA

    16/32

  • 8/12/2019 15,16 2 mark SEQA

    17/32

    28. Define Test Cases.

    A test case in a practica l sense is attest related item which contains the followinginformation.

    A set of test inputs. These are data items received from an externalsource by the code under test. The external source can be hardware,

    software, or human.

    Execution conditions. These are conditions required for running the test,for example, a certain state of a database, or a configuration of ahardware device.

    Expected outputs. These are the specified results to be produced by the

    code under test.

    29. Write short notes on Test,

    A Test is a group of related test cases, or a group of related test cases and test

    procedure.

    UNIT V SOFTWARE QUALITY ASSUSRANCE

    1. Define process in the context of software quality. ( U.Q Nov/Dec 2009)

    Process, in the software engineering domain, is a set of methods, practices,

    Standards, documents, activities, polices, and procedures that software engineers use to

    develop and maintain a software system and its associated artifacts, such as project and

    test plans, design documents, code, and manuals.

    2. Define Software Quality.

    Quality relates to the degree to which a system, system component, or process meets

    specified requirements.

    Quality relates to the degree to which a system, system component, or process

    meets Customer or user needs, or expectations.

    3. List the Quality Attributes.

    Correctness

    Reliability

    Usability

    Integrity

    Portability

    Maintainability

    Interoperability

  • 8/12/2019 15,16 2 mark SEQA

    18/32

    4. Define SQA group.

    The software quality assurance (SQA) group is a team of people with the

    necessary training and skills to ensure that all necessary actions are taken during the

    development process so that the resulting software confirms to established technical

    requirements.

    5. Explain the work of SQA group.

    Testers to develop quality related policies and quality assurance plans for each

    project.The group is also involved in measurement collection and analysis, record

    keeping, and Reporting. The SQA team members participate in reviews and audits,

    record and track Problems, and verify that corrections have been made.

    6. Define SCM (Software Configuration management).Software Configuration Management is a set of activities carried out for

    identifying, organizing and controlling changes throughout the lifecycle of computer

    software.

    7. What are the SCM activities?

    *Object identification

    * Change control

    * Version control

    *Configuration audit

    *Status reporting

    8. Define basic equation for the effort estimation models

    Effort E=V/L

    where V=Volume of the program, L=Length of the program

    By Halsteads measurement E=1N2log2

    22

    9. Categorize the project planner estimates in FP based estimation

    Inputs, Data files, External interfaces, Critical performance, Code designed for

    reuse, Outputs, inquires, back up, recovery, Master files updated on-line, Multiple

    installation.

    10. What is the purpose of timeline chart?

    The purpose of the timeline chart is to emphasize the scope of the individual task.

    Hence set of tasks are given as input to the timeline chart

    11. How to measure the function point FP?

    i. Determine a number of items occurring in the system.

    ii.Unadjusted Function count is calculated by UFC=itemi wi

  • 8/12/2019 15,16 2 mark SEQA

    19/32

    iii.Function point FP=UFC * TCF where TCF is Technical complexity factor.

    TCF=0.65+0.1fi

    12. Define information flow metric.

    Information flow metric is defined as the product of length, fan-in and fan-out.

    Information flow= length *(fan-in * fan-out)2

    13. What is EVA?

    Earned Value Analysis is a technique of performing quantitative analysis of the

    software project. It provides a common value scale for every task of software project. It

    acts as a measure for software project progress.

    14. Write the advantages of CASE tool.

    *Ability of automate manual activities and to improve engineering insight.

    *CASE tools help to ensure that quality is designed in before the products are built.

    15. What are types of software maintenance? Corrective maintenance: maintenance for correcting the software faults

    Adaptive maintenance: maintenance for adapting the change in environment.

    Enhancement maintenance: modifying or enhancing the system to meet the new

    requirements

    Preventive maintenance: changes made to improve future maintainability.

    16. List out few product and process metrics.

    Process metrics: Lines of code or function points per module and function, defect

    reported for major software function, errors found during formal technical review.

    Product metrics: Metrics for testing , maintenance ,quality

    17. What are the four categories of CASE tool?

    *Business process engineering tool,* Project planning tools,*Risk analysis tools

    *Requirements tracing tools.

    18. What is meant by Scheduling?

    Scheduling is an activity that distributes estimated effort across the planned

    project duration by allocating effort to specified software engineering tasks.

    19. What are the reasons for software change?

    *New requirements emerge when the software is used.* Change in business

    environment,*Errors needs to be repaired,* New equipment must be

    accommodated,* The performance may have to be improved.

  • 8/12/2019 15,16 2 mark SEQA

    20/32

    20. What is meant by COCOMO model?

    COnstructive COst MOdel is a cost estimation model, which gives the estimate of

    number of person per months it will take to develop the software product.

    21. What is software cost estimation?

    It is the process of predicting the resources required for software development

    process.

    22. What is meant by direct and indirect metrics?

    Direct measures refers to immediately measurable attributes.(eg):lines of code

    Indirect measure refers to the aspects that are not immediately measurable. Eg:

    Functionality of the program.

    23. What are the building blocks of CASE?

    CASE has the following components, Environment architecture, Hardware

    platform, Operat ing system, Portability services, Integration frame work, and CASE tools24. What is the purpose of Zips law?

    The purpose of ZIPS studies was to investigate dependencies between

    frequencies of some words in a sample of text.ZIPs law can be used to derive a length of

    document(n) for a given number of classes of tokens.

    25. What is meant by metrics and measurement?

    Metrics is the degree to which a system component or processes possesses a given

    attribute. The software metrics relate several measures. Eg: average no. of errors found

    per review.

    Measurement means deriving a numeric value for an attribute of a software product

    or process.

  • 8/12/2019 15,16 2 mark SEQA

    21/32

    UNIT I1. Explain the system engineering hierarchy in detail.

    System Engineer ing as a consequence of process.

    Focus on variety of elements, analyzing, designing & organizing those elements

    into a system

    System engg Process are:

    Requirement gathering &analysis

    System design

    SubSystem development

    System integration

    System deployment

    System evolution

    System decommmisioning

    System design:

    Organizing requirements

    Identification of subsystem

    Requirement assignment

    Specifying subsystem functionality

    Subsystem interfeace defn

    System engineering hierarchy diagram

    World view WV={D1,D2,,Dn}Domain view Di={E1,E2,,En}Element view Ei={C1,C2,,Ck}Detailed view

    System ModelingTo construct a system model the following restraining factors are to be considered:

    Assumptions

    Simplifications

    Limitations

    Constraints

    Preferences System Simulation

    2. Explain software development life cycle models or software process models.

    1.Linear Sequential Model or Classic life cycle model or Waterfall modelDiagram for Waterfall model

    The model encompasses the following activities:1. System/information engineering and modeling2. Software requirement analysis

    3. Design4. Code generation

  • 8/12/2019 15,16 2 mark SEQA

    22/32

    5. Testing6. Support

    Advantages and disadvantages2. Prototyping Model

    The prototype can serve as the first system which is a throw awaysystem.

    Diagram for prototyping model

    Activities: Listen to customerBuild/Revise Mock-up

    Customer test drives Mock-up

    3. RAD Model

    Rapid Application Development Model is the type of incrementalModel. Diagram

    Phases include1. Business modeling2. Data modeling

    3. Process modeling

    4. Application generation.5. Testing and turnover.4. Incremental Model

    It is an evolutionary software process model.

    The first increment is a core product.

    Combines the elements of the linear sequential model with

    iterative nature of prototyping

    Diagram for Incremental model

    Activities: analysis,design,code,test

    Advantages5.Spiral Model

    It is an evolutionary software process model. Combines the elements of the linear sequential model with

    iterative nature of prototyping

    Used for the development of large sca le systems and software.

    Spiral model diagram

    The task regions are:

    Customer communicationPlanningRisk analysis.

    Engineering.Construction and release.

    Customer evaluation.6.WIN WIN Spiral Model

    It is an evolutionary software process model.

    Diagram

    The model includes 3 process milestones called anchor points:

    Life cycle objectives

    Life cycle architecture

    Initial Operational Capability

    7.Object Oriented Model

  • 8/12/2019 15,16 2 mark SEQA

    23/32

    Object Oriented Model Process model which define a network of

    activities .

    Object oriented model diagram.

    Phases in object oriented life cycle model.

    Requirement phase

    Analysis phaseIdentification of classes

    Identification of objects Design phase

    Designing interfaces between classes

    Encapsulation of networkEstablishing inheritance and code reusability

    Implementation and component based development

    Testing

    UNIT II

    1. Explain the various prototyping approaches or prototyping models in detail.

    i. Evolutionary Prototyping Objective is to deliver a working system to end user

    Start with the user requirements which are best understood.

    Diagram for Evolutionary prototyping.Advantages

    Accelerated de livery of the system

    User engagement with the system

    Problems

    Management problems

    Maintenance problems

    Contractual problems

    ii. Throw-away Prototyping

    Objective is to validate or derive the system requirements.

    Diagram for Throw away prototyping

    Start with those requirements that are not well understood.

    Advantages

    Problems

    It can be undocumented.

    Changes made during the software development proceed maydegrade the system structure.

    Sometimes organizational quality standard may not be strictlyapplied.2. Explain the various rapid prototyping techniques or methods

    Development techniques which emphasize speed of delivery.There are 3 techniques

    Dynamic high level language development

    Definition : These are programming language which include powerfulruntime management facilities.

    Advantage: Increased power, reduced costDisadvantage: needs large run time support

    Database Programming

  • 8/12/2019 15,16 2 mark SEQA

    24/32

    Definition4GL(Fourth generation language)

    Components of 4GL-Diagram

    Data base query language

    Interface generatorSpreadsheet/Report generator

    Component and application assembly

    Diagram-Reusable component compositionLevels:

    1.application level2.Component level

    Application linking

    3. Explain functional and non-functional requirements.

    Functional requirements

    Statements of services the system should provide, how the system should react to

    particular inputs and how the system should behave in particular situations.

    Non-functional requirements

    Constraints on the services or functions offered by the system.Different types of non-functional requirements (Diagram) are

    o Product requirements

    Usability requirement-Performance, space requirementEfficiency requirement

    Reliability requirementPortability requirement

    o Organisational requirements

    Delivery requirementImplementation requirement

    Standars requirement

    o External requirementsInteroperability requirement

    Ethical requirementLegislative requirement

    4. Explain the structure of software requirements document

    Requirements document should satisfy six requirements

    Specify only external system behavior

    Specify constraints on the implementation

    Easy to change

    Serve as a reference tool for system maintainers

    Record forethought about the life cycle of the system.

    Characterise acceptable responses to undesired events.Structure of a requirements documents:

    Preface

    Introduction

    Glossary

    User requirements definition

    System Architecture

    System Requirements Specification

    System models

    System evolution

  • 8/12/2019 15,16 2 mark SEQA

    25/32

    Appendices

    Index

    5. Explain in detail about data modeling

    Data modeling makes use of the Entity Relationship Diagram.

    Data Objects, Attributes and Relationships

    Data object representation of something that has a number of different

    properties or attributes,ExampleAttributes - name a data object, describe its characteristics, make reference to

    another object.Relationships Indicate the manner in which data objects are connected to

    one another. Example diagram

    Cardinality and Modality

    Cardinality is the specification of the number of occurrences of one objectthat can be related to the number of occurrences of another object.

    o One-to-one cardinality.o One-to-many cardinality.o Many-to-Many cardinality.

    Modality of a relation is 0 if there is no explicit relationship or relation isoptional.Modality is 1 if an occurrence of relationship is mandatory.

    Entity/Relationship DiagramsComponents of ER Diagram

    ER diagram for manufacturer and relationship

    6. Explain the requirements engineering tasks in detail.

    Requirement engineering process diagram

    Four Requirement engineering activities

    Feasibility studies

    Requirements elicitation and analysis

    The activities involved in elicitation and analysis process are:1. Domain Understanding

    2. Requirements Collection3. Classification4. Conflict resolution

    5. Prioritisation6. Requirements checking

    1. Viewpoint oriented elicitationA viewpoint is

    1. data source or sink

    2. A representation frame work

    3. A receiver of servicesPrincipal stages of Viewpoint oriented Requirement method are:

    1.Viewpoint identification2.Viewpoint structuring

    3.Viewpoint documentation4.Viewpoint system mapping

    2. Scenar ioso Event scenarioso Use cases

    3.Ethnography

    Requirements Validation

  • 8/12/2019 15,16 2 mark SEQA

    26/32

    Different types of checks carried out on the requirement duringvalidation are:

    Validity checks

    Consistency

    Completeness

    Realism checks

    Verifiability

    Requirement validation techniques are: Requirement review

    Reviewers check for :

    o Verifiabilityo Comprehensibility

    o Traceabilityo Adaptability

    Prototyping

    Test case generation

    Automated consistency analysis

    Requirements Management

    1. Enduring and Volatile requirements Enduring requirements

    Stable requirements related directly to the domain of the

    system. Volatile requirements

    Changes during system development or after the systemhave been put into operation.

    2. Requirements Management Planning During requirement management stage decide on

    Requirements identification

    A change management process

    Traceability policies

    CASE tool support

    There are three types of traceability information

    Source traceability information

    Requirements traceability information

    Design traceability information

    Requirements management tools is required for:

    Requirements Storage

    Change Management

    Traceability Management

    3. Requirements Change Management There are 3 principal stages to a change management process:

    Problem analysis and change specification

    Change analysis and costing

    Change implementation

    7. Explain in detail about Functional Modeling.

    This model describes the computations that take place within a system.

    This model is useful when the transformation from the inputs to outputs iscomplex.

  • 8/12/2019 15,16 2 mark SEQA

    27/32

    The functional model of a system can be represented by a data Flow

    Diagram (DFD).Data Flow Diagrams/Data Flow Graph/Bubble chartA DFD is a graphical representation that depicts the information flow and the

    transforms that are applied as the data move from input to output.Level 0 DFD also called as fundamental system model or context model

    represents the entire software as a s ingle bubble with input and output indicated by

    incoming and outgoing arrows.Level 1 DFD contains 5 or 6 bubbles. Each bubbles can be refined at Layers to

    depict more details.Extensions to Real Time Systems

    Ward and Meller extensionsData and control flow using ward and mellor extensions-d iagram

    Hatley and Pirbhai extension.

    Relationship between data and control models

    UNIT III

    1. Explain the design steps for transform mapping. Review the fundamental system model.

    Level0 DFD for safe home-DiagramLevel1 DFD for safe home-Diagram

    Review and refine the data flow diagrams for the software.Level2 DFD for safe home-Diagram

    Determine whether the DFD has the transform or transaction flowCharacteristics

    Level3 DFD for monitor sensors with flow boundaries-diagram

    Isolate the transform center by specifying incoming and outgoing flowboundaries.

    Perform first- level factoring.first- level factor ing-Diagram

    Perform second-level factoring.Second- level factoring-Diagram

    First iteration structure for monitor sesors

    Refine the first iteration architecture using design heuristics for

    improved software quality2. Explain the design steps in transaction mapping.

    Review the fundamental model.

    Review and refine the data flow diagrams for the software.

    Determine whether the DFD has the transform or transaction flowCharacteristics

    Level 2 DFD for user interaction subsystem with flow boundaries-Diagram

    Identify transaction center and the flow characteristics along each of theaction paths.

    Map the DFD in a program structure amenab le to transaction processing.

    Factor and refine the transaction structure and the structure of each

    action path.Diagram for first level factoring of user interaction system.

    Refine the first iteration architecture using design heuristics forimproved software quality.

  • 8/12/2019 15,16 2 mark SEQA

    28/32

    Diagram for first iteration structure of user interaction system.

    3. Explain in detail the design concepts.

    Abstraction

    Functional or Procedural abstraction Data abstraction

    Control abstraction

    Refinement Modularity

    5 criteria to define a effective modular system Modular decomposability

    Modular composability Modular Understandability

    Modular Continuity Modular protection

    Software Architecture

    Control Hierarchy

    Structural Partitioning

    Horizontal partitioning Vertical partitioning

    Data Structure

    Software Procedure

    Information Hiding

    4. Explain the different architectural styles for software design in detail.

    Data-centered architecture

    Data-flow architecture

    Call and return architectureso Main program/subprogram architectureso Remote procedure call architectures

    Object oriented architectures

    Layered architectures

    5. Explain real time system?

    Real time system is a software system where the correct functioning of the

    system depends on the results produced by the system and the time at whichthese results are produced.

    Types

    Hard real time systemSoft real time system

    Real time system modeling

    Real time programming

    6. Explain the design principles.

    The design process should not suffer from tunnel vision.

    The design should be traceable to the analysis model.

    Design should not reinvent the wheel.

    The design should minimize the intellectual distance between the software and

    problem as it exists in the real world.

  • 8/12/2019 15,16 2 mark SEQA

    29/32

    The design should be structured to degrade gently, even when aberrant data,

    events or operating conditions are encountered.

    Design is not coding, coding is not design.

    The design should be assessed for quality as it is being created, not after

    the fact.

    The design should be reviewed to minimize conceptual (semantic) errors

    7. Explain User interface design process Diagram

    Framework activities for User interface design process

    1.User,task,environment analysis and modeling2.Interface design

    3.Interface construction4.Interface validation

    UNIT IV

    1. Explain Black Box testing and white box-testing.

    White box testing also called as Basis path testing Flow Graph Notation

    Cyclomatic Complexity

    Deriving Test cases

    o Using the design or code as a foundation draw a corresponding flowgraph

    o Determine the cyclomatic complexity of the resultant flow graph

    Determine a basis set of linearly independent paths

    Prepare test cases that will force execution of each path in the basis set

    Graph Matrices

    Black Box testing also called as behavioral testing

    Graph-Based Testing Methods

    Equivalence partitioning

    Boundary Value Analysis

    Comparison Testing

    Orthogonal Array Testing

    2. Explain about the software testing strategies.

    Verification and Validation. Verification refers to the set of activities that ensure

    that software correctly implements a specific function. Validation refers to adifferent set of activities that ensure that the software that has been built istraceable to the customer requirements.

    Organizing for software testing

    A software testing strategy.

    Criteria for completion of testing.

    3. Different types of software testing Unit testing

    Unit Test Considerations

    Unit Test Procedures

  • 8/12/2019 15,16 2 mark SEQA

    30/32

    Integration Testing

    Top-down Integration

    Bottom-up Integration

    Regression testing

    Smoke Testing

    Integration Test Documentation Validation Testing

    Validation Test Criteria Configuration Review

    Alpha and Beta Testing System Testing

    Recovery Testing

    Security Testing

    Stress Testing

    Performance Testing

    UNIT V

    1. Describe the activities of SCM in detail.

    BaselinesSoftware Configuration Items

    SCM Activities

    Identification of objects

    Version Control

    Change control

    Configuration audit.

    Status reporting

    1.Explain the different Software Cost Estimation Models.

    Function Point ModelDiagram-function point model-a general scheme

    i. Determine a number of items occurring in the system.ii.Unadjusted Function count is calculated by UFC=itemi wiiii.Function point FP=UFC * TCF where TCF is Technical complexity factor.

    TCF=0.65+0.1fi COCOMO Model

    Constructive Cost Model. Software cost estimation gives the estimation of how much months a man

    take to develop a software product. Application Composition Model. Early design stage model

    Post-architecture stage model. COCOMO II application composition uses object points.

    OP=(object point)X[100-%reuse)/100] NOP-New Object Point. Productivity Rate, PROD=NOP/person-Month.

    Delphi Method

  • 8/12/2019 15,16 2 mark SEQA

    31/32

    ProcedureThe co-ordinator presents a specification and estimation form to each expert.

    Co-ordinator calls a group meeting in which the experts discuss estimationissues with the coordinator and each other.

    Experts fill out forms anonymously.Co-ordinator prepares and distributes a summary of the estimates.The Co-ordinator then calls a group meeting.In this meeting theexperts mainly

    discuss the points where their estimates vary widely.The experts again fill out forms anonymously.

    Again co-ordinator edits and summarizes the forms,repeating steps 5and 6 until the co-ordinator is satisfied with the overall predictionsynthesized from experts.

    4. Explain about Architectural Evolution in detail

    Reasons to change from centralized to distributed client-server systems are:o Hardware costso User interface expectations

    o Distributed access to systems

    5 layers of a distributed modelo Presentation layero Data Validation layero Interaction control layer

    o Application service layero Database layer

    User interface distributionTwo implementation strategies for user interface distribution:

    o Use Window management systemo Use WWW browser

    5. Discuss about Software maintenance. Software maintenance

    Three different types of software maintenance

    Maintenance to repair software faults.

    Maintenance to adapt the software to a different operating environment.

    Maintenance to add to or modify the systems functionality.

    Key factors that lead to higher maintenance cost are:

    Team stability

    Contractual responsibility

    Staff skills

    Program age and structure

    Maintenance Process Maintenance Prediction

    Metrics useful for assessing maintainability

    Number of requests for corrective maintenance

    Average time required for impact analysis

    Average time taken to implement a change request

    Number of outstanding change requests

    6. Explain the scheduling of software projectScheduling is an activity that distributes estimated effort across the planned

    project duration by allocating effort to specified software engineering tasks.

  • 8/12/2019 15,16 2 mark SEQA

    32/32

    Scheduling methods

    * Program evolution and review technique (PERT)*Critical Path Method (CPM)

    Timeline chart

    Tracking the schedule

    Time boxing

    7. Explain in detail Earned value analysis(EVA)A Quantitative technique for assessing progress and percent of completion of the project.

    Determine BCWS(Budgeted cost of work scheduled)

    Calculate Budget at completion BAC=BCWSk Determine Budgeted cost of work performed(BCWP)

    Calculate Progress indicatorsSchedule performance index SPI=BCWP

    BCWSSchedule variance SV=BCWP-BCWS

    Percent scheduled for completion =BCWS/BAC

    Percent complete =BCWP/BAC

    Determine Actual cost of work performed(ACWP)

    Cost performance index CPI=BCWP/ACWP

    Cost variance CV=BCWP-ACWP

    8. Explain about Halsteads software science measure.

    Program length

    Estimated Program length N=N1+N2N1-Total number of operandsN2-Total number of operands

    Actual program length N=

    Program volume measure

    Potential volume measure

    Program level

    Effort and time measure

    .