IT 2251- SOFTWARE ENGINEERING AND QUALITY ASSURANCE IT/SEQA/1… · IT 2251- SOFTWARE ENGINEERING...

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 Engineering/ 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.

Transcript of IT 2251- SOFTWARE ENGINEERING AND QUALITY ASSURANCE IT/SEQA/1… · IT 2251- SOFTWARE ENGINEERING...

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

Engineering/ 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.

6. Define software process.

Software process can be defined as the structured set of activities that are required to

develop the S/W system. The software process is characterized by process framework

activities, task sets, umbrella activities.

7. What do you mean by umbrella activities and what are they?

Umbrella activities are the set of activities that can occur throughout the software

life cycle. They are

*Software Configuration management * Risk management *Software quality

assurance *Formal technical reviews *Measurement.

8. What are the activities in Process framework?Process framework activities are,

¸ 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: code generation and testing

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

9. What are the activities in Task sets ?¸ Actual work done

¸ Collection of S/W Engg. work tasks

¸ Project Mile stones

¸ SQA points.

10. Define Capability Maturity Model Integration(CMMI)

The S/W engg. Institute(SEI) has developed a Capability Maturity Model. It is

rated according to the following levels.

Level 0: Incomplete

Level 1: Performed

Level 2: Managed

Level 3: Defined

Level 4: Quantitatively Managed

Level 5: Optimized

11. Define the term product and process.

Product: Product is an entity that can be produced by development organization

and is sold on the market to any customer. Product consists of computer

programs, procedures and documentation..

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. Verification shows conformance

with specification.

1. Are we building the right product?

2. Validation shows that the program

meets the customer’s 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 model3. Incremental process Model

1. Incremental Model2. RAD Model

4. Evolutionary process Model1. Prototyping model2. Spiral Model3. The concurrent development Model

5. Specialized Process Model1. Component based development Model2. Formal Methods Model3. Aspect oriented S/W development (AOSD)

6. Unified process model

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

ß 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 doesn’t 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.

24. What are the advantages of prototyping model?

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

but doesn’t 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

∑ 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 customer’s 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 elements of analysis model.

i. Data Dictionary

ii. Entity Relationship Diagram

iii. Data Flow Diagram

iv. State Transition Diagram

v. Control Specification

vi. Process specification

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

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

objects, Integrity 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 clear

understand 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 supplementary

information that is relevant to it.

Data dictionary for telephone number:

Name: Telephone number

Aliases: None

Who’s 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?

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 quickly

that 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 some

of the most important parts of the system.

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

system 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. During rapid prototyping

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

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[I0 pt+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 cohesive * logically cohesive *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. 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 designed 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 specification.

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

16. What is the difference between horizontal and vertical partitioning?

Horizontal partitioning:

∑ It can be done by partitioning system into input, data transformation, output.

∑ This kind of partitioning have fewer side effects in error or change propagation.

Vertical partitioning:

∑ It suggests the control and work should be distributed to-down in the program

structure.

∑ It defines separate branches of the module hierarchy for each major function.

17. What are the three modes of abstraction?

Procedural abstraction, Data abstraction, Control abstraction.

18. What is mean by fan-in, fan-out, factoring?

Fan- in: It indicates how many modules directly control a given module. Modules with

fan- in must have good cohesion.

Fan-out: It is a measure of the number of immediate subordinates to a module. If fan-out

is very high then it indicates that a single module is controlling many other modules.

Factoring: It means separation of function in to new modules. By applying factoring the

size of the module is reduced hence complexity is reduced and it avoids duplication of

functions in more than one module.

19. What is meant by real time executives?

Real time executives are specialized operating system which is used in process

management.

20. What the strength and weakness are of transform mapping?

Strength: After performing transform mapping the architectural representation of

software gets developed with good cohesion and low coupling.

Weakness: If the modifications need to be made on this architecture then it requires

additional work.

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 module’s interface, 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?

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

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 program

V(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.

21. What are the limitations of testing?

¸ Intraceability

¸ Undecidability

22. Differentiate between testing and debugging. (U.Q Nov/Dec 2008)

23. Define the term Debugging or fault localization.

Debugging or fault localization is the process of ∑ Locating the fault or defect

∑ Repairing the code, and∑ Retesting the code.

24. Define Error

An error is mistake or misconception or misunderstanding on the part of a

software developer.

25. Define Faults (Defects).

A fault is introduced into the software as the result of an error. It is an anomaly

in the software that may cause nit to behave incorrectly, and not according to its

specification.

26. Define failures.

A failure is the inability of a software or component to perform its required functions

within specified performance requirements.

27. Distinguish between fault and failure. (U.Q May/June 2009)

Fault Failure

1. A fault is introduced into the

software as the result of an error. It

is an anomaly in the software that

may cause nit to behave incorrectly,

and not according to its

specification.

2. A failure is the inability of a

software or component to perform

its required functions within

specified performance

requirements.

Testing Debugging

1. Testing as a dual purpose process

∑ Reveal defects∑ And to evaluate

quality attributes

1. Debugging or fault localization is the process of

∑ Locating the fault or defect

∑ Repairing the code, and∑ Retesting the code.

28. Define Test Cases. A test case in a practical sense is attest related item which contains the following

information.∑ A set of test inputs. These are data items received from an external

source 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 a hardware 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

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 Halstead’s measurement E=η1N2log2η

2η2

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

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

TCF=0.65+0.1∑fi

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.

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, Operating system, Portability services, Integration frame work, and CASE tools

24. What is the purpose of Zip’s law?

The purpose of ZIP’S studies was to investigate dependencies between

frequencies of some words in a sample of text.ZIP’s 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.

UNIT I1. Explain the system engineering hierarchy in detail.

∑ System Engineering 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 diagramWorld 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 model

Diagram for Waterfall modelThe model encompasses the following activities:

1. System/information engineering and modeling2. Software requirement analysis3. Design4. Code generation

5. Testing6. Support

Advantages and disadvantages2. Prototyping Model

The prototype can serve as “the first system” which is a throw away system.

Diagram for prototyping modelActivities: Listen to customer

Build/Revise Mock-upCustomer test drives Mock-up

3. RAD ModelRapid Application Development Model is the type of incremental

Model. DiagramPhases include

1. Business modeling2. Data modeling3. Process modeling4. 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∑ Advantages

5.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 scale 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

∑ Object Oriented Model Process model which define a network ofactivities .

∑ Object oriented model diagram.∑ Phases in object oriented life cycle model.∑ Requirement phase∑ Analysis phase

Identification of classesIdentification of objects

∑ Design phaseDesigning 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 delivery 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 may

degrade the system structure.Sometimes organizational quality standard may not be strictly

applied.2. Explain the various rapid prototyping techniques or methods

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

∑ Dynamic high level language developmentDefinition : These are programming language which include powerful runtime management facilities.Advantage: Increased power, reduced costDisadvantage: needs large run time support

∑ Database Programming

Definition4GL(Fourth generation language)Components of 4GL-Diagram

Data base query languageInterface generatorSpreadsheet/Report generator

∑ Component and application assemblyDiagram-Reusable component composition

Levels:1.application level2.Component levelApplication linking

3. Explain functional and non-functional requirements.∑ Functional require ments

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 requirementsConstraints on the services or functions offered by the system.

Different types of non-functional requirements (Diagram) areo Product requirements

Usability requirement-Performance, space requirementEfficiency requirementReliability requirementPortability requirement

o Organisational requirementsDelivery requirementImplementation requirementStandars requirement

o External requirementsInteroperability requirementEthical requirementLegislative requirement

4. Explain the structure of software requirements documentRequirements 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

∑ Appendices∑ Index

5. Explain in detail about data modelingData modeling makes use of the Entity Relationship Diagram.

∑ Data Objects, Attributes and RelationshipsData 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 DiagramER 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 Understanding2. Requirements Collection3. Classification4. Conflict resolution5. Prioritisation6. Requirements checking

1. Viewpoint –oriented elicitationA viewpoint is

1. data source or sink2. A representation frame work3. A receiver of services

Principal stages of Viewpoint oriented Requirement method are:1.Viewpoint identification

2.Viewpoint structuring3.Viewpoint documentation4.Viewpoint –system mapping

2. Scenarioso Event scenarioso Use cases

3.Ethnography∑ Requirements Validation

ÿ Different types of checks carried out on the requirement during validation are:

∑ Validity checks∑ Consistency∑ Completeness∑ Realism checks∑ Verifiability

ÿ Requirement validation techniques are:∑ Requirement review

Reviewers check for :o Verifiabilityo Comprehensibilityo Traceabilityo Adaptability

∑ Prototyping∑ Test case generation∑ Automated consistency analysis

∑ Requirements Management1. 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 system have 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 is

complex.

∑ 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 modelrepresents the entire software as a single 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-diagram

∑ 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 flow CharacteristicsLevel3 DFD for monitor sensors with flow boundaries-diagram

∑ Isolate the transform center by specifying incoming and outgoing flowboundaries.

∑ Perform first- level factoring.first- level factoring-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 flow

CharacteristicsLevel 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 amenable 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 for improved software quality.

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 architectures

o 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 which these results are produced.

∑ TypesHard 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.

∑ 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 afterthe 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 design3.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 flow graph

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 a different set of activities that ensure that the software that has been built is traceable 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

ÿ 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 ItemsSCM Activities

∑ Identification of objects∑ Version Control∑ Change control∑ Configuration audit.∑ Status reporting

1.Explain the different Software Cost Estimation Models.∑ Function Point Model

Diagram-function point model-a general schemei. Determine a number of items occurring in the system.

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

iii.Function point FP=UFC * TCF where TCF is Technical complexity factor.TCF=0.65+0.1∑fi

∑ 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

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

Co-ordinator calls a group meeting in which the experts discuss estimation issues 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 5

and 6 until the co-ordinator is satisfied with the overall predictionsynthesized from experts.

4. Explain about Architectural Evolution in detailReasons to change from centralized to distributed client-server systems are:

o Hardware costso User interface expectationso Distributed access to systems

5 layers of a distributed modelo Presentation layero Data Validation layero Interaction control layero 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 system’s 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.

∑ 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 indicators

Schedule performance index SPI=BCWPBCWS

Schedule 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 Halstead’s software science measure.∑ Program length

Estimated Program length N=N1+N2

N1-Total number of operandsN2-Total number of operands

Actual program length N=

∑ Program volume measure∑ Potential volume measure∑ Program level∑ Effort and time measure

.