course hand out - bvrit hyderabadbvrithyderabad.edu.in/wp-content/uploads/2018/07/se.pdf · unit...

18
BVRIT HYDERABAD College of Engineering for Women Department of Information Technology Course Hand Out Subject Name : Software Engineering Prepared by : Mr.A.Rajashekar Reddy,Assistant Professor, IT Year, Sem,Regulation : III Year- I Sem (R13,R15 & R16) Unit I: Introduction to Software Engineering, Generic view of process, Process models Important Points: In Software Development, it is very important to learn about software engineering concepts. Software plays dual role- i.e, Product and the vehicle to deliver that product Software is not manufactured , instead , it is developed or engineered. Software types: Application,System,Embedded,AI,Scientific,Product line,Web applications Software Myths- 3 types:Management myths,Customer myths&Practitioner myths Software Engineering is a Layered technology -4 layers-Quality focus,Process,Methods&Tools A generic process framework has activities-Communication,Planning,Modeling,Construction and Deployment(CPMCD) CMMI(Capability Maturity Model Integration) is an assessment standard for a software organization or process. CMMI has 5 Levels: o Level-0-Incomplete, o Level-1-Performed, o Level-2-Managed, o Level-3-Defined, o Level-4-Quantitatively Managed and o Level-5-Optimized Software Process models: o Water fall Model, o Incremental Models, o Evolutionary models, o Specialized models and o Unified Process model Waterfall model is also called Classic life cycle or Linear Sequential model Incremental Models: Simple Incremental Model and RAD(Rapid App Development)model Evolutionary Process models: o Prototyping model, o Spiral Model , o Concurrent Dev.Model

Upload: others

Post on 10-Aug-2020

22 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Course Hand Out - BVRIT Hyderabadbvrithyderabad.edu.in/wp-content/uploads/2018/07/SE.pdf · Unit – III: Design Engineering, Component-level design, User interface design Important

BVRIT HYDERABAD College of Engineering for Women

Department of Information Technology

Course Hand Out

Subject Name : Software Engineering

Prepared by : Mr.A.Rajashekar Reddy,Assistant Professor, IT

Year, Sem,Regulation : III Year- I Sem (R13,R15 & R16)

Unit – I: Introduction to Software Engineering, Generic view of process, Process

models

Important Points:

In Software Development, it is very important to learn about software engineering concepts.

Software plays dual role- i.e, Product and the vehicle to deliver that product

Software is not manufactured , instead , it is developed or engineered.

Software types: Application,System,Embedded,AI,Scientific,Product line,Web applications

Software Myths- 3 types:Management myths,Customer myths&Practitioner myths

Software Engineering is a Layered technology -4 layers-Quality focus,Process,Methods&Tools

A generic process framework has activities-Communication,Planning,Modeling,Construction

and Deployment(CPMCD)

CMMI(Capability Maturity Model Integration) is an assessment standard for a software

organization or process.

CMMI has 5 Levels:

o Level-0-Incomplete,

o Level-1-Performed,

o Level-2-Managed,

o Level-3-Defined,

o Level-4-Quantitatively Managed and

o Level-5-Optimized Software Process models:

o Water fall Model,

o Incremental Models,

o Evolutionary models,

o Specialized models and

o Unified Process model

Waterfall model is also called Classic life cycle or Linear Sequential model

Incremental Models: Simple Incremental Model and RAD(Rapid App Development)model

Evolutionary Process models:

o Prototyping model,

o Spiral Model ,

o Concurrent Dev.Model

Page 2: Course Hand Out - BVRIT Hyderabadbvrithyderabad.edu.in/wp-content/uploads/2018/07/SE.pdf · Unit – III: Design Engineering, Component-level design, User interface design Important

Unified Process contains 4 phases: Inception, Elaboration, Construction and Transition

Questions:

1. Define Software Engineering and Justify that it is a layered technology.

2. Discuss various characteristics of software compare to hardware?

3. List and explain software myths.

4. Discus Framework activities and Umbrella activities in process framework.

5. Explain various levels of CMMI.

6. Compare PSP(personal software process) and TSP(Team Software Process).

7. Write about Waterfall model with its pros and cons.

8. Distinguish between Incremental and Evolutionary process models.

9. Write the importance of 4 phases in unified process.

Sample Objective Questions:

1.Which of the following is not a software myth? [d]

a.Customer myth

b.Practitioner myth

c.management myth

d.designer myth

2.What are attributes of good software ? [d]

a) Software maintainability

b) Software functionality

c) Software development

d) Software maintainability & functionality

3. RAD stands for [b]

a) Relative Application Development

b) Rapid Application Development

c) Rapid Application Document

d) None of the mentioned

4. Which one of the following models is not suitable for accommodating any change? [d]

a) Build & Fix Model

b) Prototyping Model

c) RAD Model

d) Waterfall Model

5.Which one of the following is not a phase of Prototyping Model? [c]

a) Quick Design

b) Coding

c) Prototype Refinement

d) Engineer Product

6.What is the major drawback of using RAD Model? [d]

a) Highly specialized & skilled developers/designers are required

b) Increases re-usability of components

c) Encourages customer/client feedback

d) Increases re-usability of components, Highly specialized & skilled developers/designers are

required

7.One can choose Waterfall Model if the project development schedule is tight. [b]

a) True

b) False

8.What is the major advantage of using Incremental Model? [d] a) Customer can respond to each increment

b) Easier to test and debug

c) It is used when there is a need to get a product to the market early

d) Easier to test and debug & It is used when there is a need to get a product to the market early

Page 3: Course Hand Out - BVRIT Hyderabadbvrithyderabad.edu.in/wp-content/uploads/2018/07/SE.pdf · Unit – III: Design Engineering, Component-level design, User interface design Important

9.The spiral model was originally proposed by [b]

a) IBM

b) Barry Boehm

c) Pressman

d) Royce

10.Identify the disadvantage of Spiral Model. [a]

a) Doesn’t work well for smaller projects

b) High amount of risk analysis

c) Strong approval and documentation control

d) Additional Functionality can be added at a later date

11. SDLC stands for_____________________Software development Life cycle

12.Inrcremental model is combination of _Linear model_________ and _Prototyping model

Unit – II: Software Requirements, Requirements engineering process,

System models

Important Points :

The requirements for a system are the descriptions of what the system should do—the

services that it provides and the constraints on its operation.

Two typical requirements are User requirements and System Requirements.

Software system requirements are classified as Functional and Non functional requirements.

Functional requirements are 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 are constraints on the services or functions offered by the

system.

Functional requirements depend on the type of software being developed, the expected users of

the software.

When expressed as user requirements, functional requirements are usually described in an

abstract way that can be understood by system users. However, more specific functional

system requirements describe the system functions, its inputs and outputs, exceptions, etc.

Non-functional requirements, as the name suggests, are requirements that are not directly

concerned with the specific services delivered by the system to its users.

Non-functional requirements may affect the overall architecture of a system rather than the

individual components

Non functional Requirements Types:

i)Product requirements—Usability,Dependability,Security,Efficiency(Performance and Space)

ii)Organizational requirements—Environmental,Operational and Development Requirements

iii)External requirements—Regulatory,Legislative and Ethical Requirements

The software requirements document (sometimes called the software requirements

specification or SRS) is an official statement of what the system developers should

implement. It should include both the user requirements for a system and a detailed

specification of the system requirements.

Users of requirements document: System customers, managers, System engineers, Test

Engineers, Maintenance Engineers.

It (SRS)should be organized so that both system customers and software developers can use it.

Requirements Engg process has mainly,

o feasibility study

o Requirements elicitation and analysis

Requirements Discovery,Classification,Prioritization

Page 4: Course Hand Out - BVRIT Hyderabadbvrithyderabad.edu.in/wp-content/uploads/2018/07/SE.pdf · Unit – III: Design Engineering, Component-level design, User interface design Important

o Requirements Specification

o Requirements validation

o Requirements Management

Requirements elicitation and analysis is an iterative process that can be represented as a

spiral of activities—requirements discovery, requirements classification and organization,

requirements negotiation, and requirements documentation.

Requirements validation is the process of checking the requirements for validity, consistency,

completeness, realism, and verifiability.

A model is an abstract view of a system that ignores some system details. Complementary

system models can be developed to show the system’s context, interactions, structure, and

behavior.

Context models show how a system that is being modeled is positioned in an environment

with other systems and processes. They help define the boundaries of the system to be

developed.

Use case diagrams and sequence diagrams are used to describe the interactions between user

the system being designed and users/other systems.

Structural models show the organization and architecture of a system. Class diagrams are

used to define the static structure of classes in a system and their associations.

Behavioral models are used to describe the dynamic behavior of an executing system.

Activity diagrams may be used to model the processing of data, where each activity

represents one process step.

State diagrams are used to model a system’s behavior in response to internal or external

events.

Questions :

1) Give classification of requirements& Explain about functional requirements

2) Explain about Non functional requirements, with hierarchy & metrics.

3) Write short notes on a)User Requirements b)System Requirements

4) Explain about software requirements document in detail.

5) Explain about Requirements engineering process.

6) Briefly explain Requirement elicitation and analysis.

7) Discuss about Requirement validation and Requirements management.

8) Compare and contrast various system models like Context models, Behavioural models

Object models and structured methods.

Sample Objective Questions:

1. Which one of the following is a functional requirement ? [d]

a) Maintainability

b) Portability

c) Robustness

d) None of the mentioned

2. Functional requirements capture the intended behavior of the system. [a]

a) True

b) False

3. What is the first step of requirement elicitation ? [a]

a) Identifying Stakeholder

b) Listing out Requirements

Page 5: Course Hand Out - BVRIT Hyderabadbvrithyderabad.edu.in/wp-content/uploads/2018/07/SE.pdf · Unit – III: Design Engineering, Component-level design, User interface design Important

c) Requirements Gathering

d) All of the mentioned

4. Requirements elicitation is a cyclic process [a]

a) True

b) False

5. Which of the following is not a diagram studied in Requirement Analysis ? [d]

a) Use Cases

b) Entity Relationship Diagram

c) State Transition Diagram

d) Activity Diagram

6. Requirements should specify ‘what’ but not ‘how’. [a]

a) True

b) False

7. Which of the following property does not correspond to a good Software Requirements

Specification (SRS) ? [b]

a) Verifiable

b) Ambiguous

c) Complete

d) Traceable

8. Which of the following statements about SRS is/are true ? [c]

i. SRS is written by customer

ii. SRS is written by a developer

iii. SRS serves as a contract between customer and developer

a) Only i is true

b) Both ii and iii are true

c) All are true

d) None of the mentioned

9. Which model in system modeling depicts the dynamic behaviour of the system ? [b]

a) Context Model

b) Behavioral Model

c) Data Model

d) Object Model

10. Activity diagrams are used to model the processing of data. [a]

a) True

b) False

11. Which model in system modeling depicts the static nature of the system ? [d]

a) Behavioral Model

b) Context Model

c) Data Model

d) Structural Model

12. System modeling is the process of developing abstract models of a system, with each model

presenting a different view or perspective of that system. 13. Sequence diagrams in the UML are primarily used to model the interactions between the actors and the objects in

a system

14. State diagrams are used to model a system’s behavior in response to internal or external

events.

15. Behavioral models are used to describe the dynamic behavior of an executing system

Page 6: Course Hand Out - BVRIT Hyderabadbvrithyderabad.edu.in/wp-content/uploads/2018/07/SE.pdf · Unit – III: Design Engineering, Component-level design, User interface design Important

Unit – III: Design Engineering, Component-level design, User interface design

Important Points :

Design is where customer requirements, business needs, and technical considerations all come

together in the formulation of a product or system.

The design model provides detail about the software data structures, architecture, interfaces,

and components

Software design is an iterative process through which requirements are translated into a

blueprint for constructing the software

Analysis Model to Design Model –MAPPING

Tasks for Software Design:

o Examine the information domain model and design appropriate data structures

o select an architectural style, Using the analysis model

o Partition the analysis model into design subsystems

o Create a set of design classes or components

o Design any interface required with external systems or devices

o Design the user interface

o Conduct component-level design

o Develop a deployment model

Goals of good design:

o The design must implement all of the explicit requirements contained in the analysis

model

o must be a readable and understandable guide

o should provide a complete picture of the software, addressing the data, functional, and

behavioural domains

Design quality Guidelines:

o A design should exhibit an architecture that has been created using recognizable

architectural styles or patterns

o A design should be modular

o A design should contain distinct representations of data, architecture, interfaces, and

components

o A design should lead to data structures that are appropriate

o A design should lead to components that exhibit independent functional characteristics

o A design should lead to interfaces that reduce the complexity of connections between

components

Page 7: Course Hand Out - BVRIT Hyderabadbvrithyderabad.edu.in/wp-content/uploads/2018/07/SE.pdf · Unit – III: Design Engineering, Component-level design, User interface design Important

o A design should be derived using a repeatable method that is driven by information

obtained during software requirements analysis

o A design should be represented using a notation that effectively communicates its

meaning

Design concepts:

o Abstraction,

o Architecture,

o Patterns,

o Modularity,

o Information hiding,

o Functional independence,

o Refinement,

o Refactoring,

o Design classes(UI,Business domain,Process,System,Persistent)

Architectural Style: Describes a system category that encompasses:

o a set of components

o a set of connectors that enables “communication and coordination

o Constraints that define how components

o can be integrated to form the system

o Semantic models to understand the overall properties of a system

Architectural pattern: It is a template that specifies approach for some behavioral

characteristics of the system

o Patterns are imposed on the architectural styles

o 3- pattern domains

Concurrency

Persistence

Duration

Architectural design:

o The software architecture of a program or computing system is the structure or structures

of the system, which comprise software components, the externally visible properties of

those components and the relationship among them.

COMPONENT LEVEL DESIGN is the definition and design of components and modules

after the architectural design phase.

o Component-level design defines the data structures, algorithms, interface

characteristics, and communication mechanisms allocated to each component for the

system development

o Component Views

OO View – A component is a set of collaborating classes.

Conventional View – A component is a functional element of a program that

incorporates processing logic, the internal data structures required to implement

the processing logic, and an interface that enables the component to be invoked

and data to be passed to it.

OO design:

There are five stages of object oriented design process

Understand and define the context and the modes of use of the system.

Page 8: Course Hand Out - BVRIT Hyderabadbvrithyderabad.edu.in/wp-content/uploads/2018/07/SE.pdf · Unit – III: Design Engineering, Component-level design, User interface design Important

Design the system architecture

Identify the principle objects in the system.

Develop a design model

Specify the object interfaces

User interface design:

o Golden rules:

Place the user in control

Reduce the user’s memory load

Make the interface consistent

o User interface analysis and design:

The overall process for analyzing and designing a user interface begins with the

creation of different models of system function.

There are 4 different models that is to be considered when a user interface is to be

analyzed and designed.

User model, Design model, User’s mental model &Implementation

model

Users- Novice, Intermittent, Knowledgeable users

The user interface analysis and design process is an iterative process and it can

be represented as a spiral model.

Designing a user interface begins with the creation of different models of system

function.

It consists of following framework activities

o User, task and environment analysis

o Interface design

o Interface construction

o Interface validation

UI design process has following steps:

o Interface analysis

o Interface design

o Implementation

o Validation

Various Design Issues are:

o Response time

o Help facilities

o Error handling

o Menu and command labeling

o Application accessibility

o Internationalization

Page 9: Course Hand Out - BVRIT Hyderabadbvrithyderabad.edu.in/wp-content/uploads/2018/07/SE.pdf · Unit – III: Design Engineering, Component-level design, User interface design Important

Questions :

1) Explain about Design process, Design quality, Design Concepts and Design Model

2) Discuss about a)Software Architecture b)Data design

3) Write short notes on a)Architectural styles b)Architectural pattern

4) Differentiate between Objects and object classes.

5) Write short notes on a)OO Design process b)Design evolution.

6) Explain Golden Rules of design.

7) Write short notes on a)UI analysis& design

8)Explain the process of Interface Analysis in design

9) Explain about Interface design steps and Design evaluation.

Sample Objective Questions:

1. Which of the following is golden rule for interface design? [d]

a) Place the user in control

b) Reduce the user’s memory load

c) Make the interface consistent

d) All of the mentioned

2. Which of the following is not a user interface design process? [c]

a) User, task, and environment analysis and modeling

b) Interface design

c) Knowledgeable, frequent users

d) Interface validation

3. Which of the following option is not considered by the Interface design? [c]

a) the design of interfaces between software components

b) the design of interfaces between the software and human producers and consumers of information

c) the design of the interface between two computers

d) all of the mentioned

4.A software engineer designs the user interface by applying an iterative process that draws on

predefined design principles. [a]

a) True

b) False

5.What incorporates data, architectural, interface, and procedural representations of the [a]

software?

a) design model

b) user’s model

c) mental image

d) system image

6.Which of the following is not a UI design process? [e]

a)Interface analysis

b)Interface design

c)Implementation

d)Validation

e)None of above

7. Software design is an iterative process through which requirements are translated into a blueprint.

Page 10: Course Hand Out - BVRIT Hyderabadbvrithyderabad.edu.in/wp-content/uploads/2018/07/SE.pdf · Unit – III: Design Engineering, Component-level design, User interface design Important

8. Architectural pattern is a template that specifies approach for some behavioral characteristics of

the system

9. Which of the following is not a design principle that allow the user to maintain control? [C ]

a. Provide for flexible interaction

b. Allow user interaction to be interrupt-able and undo-able

c. Show technical internals from the casual user

d. Design for direct interaction with objects that appear on the screen

10. Which of the following is not a user interface design process? [C]

a. User, task, and environment analysis and modeling

b. Interface design

c. Knowledgeable, frequent users

d.Interface validation

11.COMPONENT LEVEL DESIGN is the definition and design of components and modules after

the architectural design phase.

12. A design should lead to data structures that are appropriate.

13. Which of the following option is not considered by the Interface design? [ C]

a. the design of interfaces between software components

b. the design of interfaces between the software and human producers and consumers of information

c. the design of the interface between two computers

d. all of the mentioned

14. A software engineer designs the user interface by applying an iterative process that draws on

predefined design principles [A]

a.True

b.False

c.Can’t say

d.none of above

15. When users are involved in complex tasks, the demand on __________ can be significant.[a]

a.short term memory

b.Short cuts

c.objects that appear on the screen

d.all of the mentioned

Page 11: Course Hand Out - BVRIT Hyderabadbvrithyderabad.edu.in/wp-content/uploads/2018/07/SE.pdf · Unit – III: Design Engineering, Component-level design, User interface design Important

Unit – IV: Testing Strategies, Product metrics Important Points :

Testing is the process of execution of a program with the intention of finding errors.

Testing Involves 40% of total project cost.

Verification Vs Validation:

o Verification: Are we building the PRODUCT RIGHT?

o Validation: Are we building the RIGHT PRODUCT?

Testing can be done by both the software developer and independent testing group

Testing and debugging are different activities. Debugging follows testing.

Low level tests verifiy small code segments.

High level tests validate major system functions against customer requirements.

Testing Strategies for Conventional Software

o Unit Testing: Testing the lower level components/units of Software

o Integration Testing: Testing the Integrated components before deployment

o Validation Testing : Testing the software with customer requirements

o System Testing: Testing the software characteristics like security,recovery,stress,

performance etc.

Two major categories of software testing

o Black box testing and White box testing

Black box testing :

o Treats the system as black box whose behavior can be determined by studying its

input and related output. i.e., t focuses on functional requirements of the software

o Not concerned with the internal structure of the program.

o 3 types:

Graph based testing: Contains graph of objects and relations, with test

cases to uncover the graph such that each object and its relationship exercised.

Equivalence partition method: Divides all possible inputs into classes such

that there are a finite equivalence classes.

Equivalence class: Set of objects that can be linked by relationship

Boundary value Analysis: Select input from equivalence classes such

that the input lies at the edge of the equivalence classes

Page 12: Course Hand Out - BVRIT Hyderabadbvrithyderabad.edu.in/wp-content/uploads/2018/07/SE.pdf · Unit – III: Design Engineering, Component-level design, User interface design Important

Example: If 0.0<=x<=1.0 ,test cases (0.0,1.0) for valid input and (-0.1

and 1.1) for invalid input

Orthogonal array testing: Used when dealing with problems in which input

domain is relatively small but too large for exhaustive testing

Ex: Three inputs A,B,C each having three values will require 27 test

cases, can be only 9 Test cases if followed this type.

White box testing :

o Involves knowing the internal working of a program.

o Also called glass box testing.

o Guarantees that all independent paths will be exercised at least once.

o Exercises all logical decisions on their true and false sides.

o White box testing techniques

Basis path testing :Proposed by Tom McCabe

o Defines a basic set of execution paths based on logical complexity of a

procedural design

Control structure testing

o Control structure broadens the basic test coverage and improves the quality

of white box testing

o Condition Testing: Exercise the logical conditions contained in a program

module

Focuses on testing each condition(Simple or Compound) in the

program to ensure that it does contain errors

o Data flow Testing: Selects test paths according to the locations of

definitions and use of variables in a program

construct a definition-use graph from the control flow of a

program

Uses---C use(Computation) & P Use(Predicate use)

Every DU chain be tested at least once.

o Loop Testing :Focuses on the validity of loop constructs

Four categories are considered

Simple loops, Nested loops ,Concatenated loops,Unstructured loops

Validation Testing: It succeeds when the software functions in a manner that can be

reasonably expected by the customer. three components:

o Validation Test Criteria

o Configuration Review

o Alpha and Beta Testing

o Alpha testing: testing done at developers environment in presence of developer and

customer.

o Beta testing: testing done at customer’s environment only by customer.

System Testing: Its primary purpose is to test the complete software against different

characteristics.

o Recovery Testing

o Security Testing

o Stress Testing and

o Performance Testing

Debugging occurs as a consequence of successful testing.

Debugging Strategies

Page 13: Course Hand Out - BVRIT Hyderabadbvrithyderabad.edu.in/wp-content/uploads/2018/07/SE.pdf · Unit – III: Design Engineering, Component-level design, User interface design Important

o Brute Force Method.

o Back Tracking

o Cause Elimination and

o Automated debugging

Software Quality: It is Conformance to explicitly stated functional and performance

requirements, explicitly documented development standards, and implicit characteristics that

are expected of all professionally developed software.

McCalls quality factors:

o Product operation

Correctness , Reliability , Efficiency ,Integrity ,Usability

o Product Revision

Maintainability ,Flexibility ,Testability

o Product Transition Portability, Reusability, Interoperability

FURPS: Functionality,Usability,Reliability,Performance,Supportability

Product metrics: Product metrics for computer software helps us to assess quality.

o Metrics for Analysis model:

Function point metric:uses following parameters

EIS(No.of External inputs)

EOS(No.of External outputs)

EQS(No.of External Inquiries)

ILF(No.of Internal Logical files)

EIFS(No.of External Interface files)

o Metrics for Design model:

DSQI: Dsign Structure Quality Index is used

Uses following parameters:

S1:Total number of modules

S2:Number of modules whose correct function depends on the data input

S3:Number of modules whose function depends on prior processing

S4:Number of data base items

S5:Number of unique database items

S6: Number of database segments

S7:Number of modules with single entry and exit

Then,Calculate D1 to D6 from s1 to s7

o Metrics for Source code: Primitive measure that may be derived after the code is

generated or estimated once design is complete

n1 = the number of distinct operators that appear in a program

n2 = the number of distinct operands that appear in a program

N1 = the total number of operator occurrences.

N2 = the total number of operand occurrence.

Overall program length N can be computed:

N = n1 log2 n1 + n2 log2 n2

V = N log2 (n1 + n2)

o Metrics for Testing: Program level & Effort are calculated

n1 = the number of distinct operators that appear in a program

n2 = the number of distinct operands that appear in a program

N1 = the total number of operator occurrences.

N2 = the total number of operand occurrence.

PL (Program level)= 1/[(n1 / 2) x (N2 / n2 l)]

E(Effort) = V/PL

o Metrics for Maintenance:

Page 14: Course Hand Out - BVRIT Hyderabadbvrithyderabad.edu.in/wp-content/uploads/2018/07/SE.pdf · Unit – III: Design Engineering, Component-level design, User interface design Important

SMI(Software Maturity Index) used Mt = the number of modules in the current release

Fc = the number of modules in the current release that have been changed

Fa = the number of modules in the current release that have been added.

Fd = the number of modules from the preceding release that were deleted in the

current release

SMI = [Mt – (Fc + Fa + Fd)/ Mt ]

Metrics for Process And Product:

o Software Measurement:

Direct Measure

Indirect Measure

o The metrics in software Measurement are:

Size oriented metrics

Function oriented metrics

Object oriented metrics

Web based application metric

o Metrics for Software Quality metrics:

Correctness , Maintainability ,Integrity, Usability

DRE(Defect Removal Efficiency):

o DRE=E/(E+D)

o E is the no. of errors found before delivery and D is no. of defects

o Ideal value of DRE is 1

Questions :

1) Differentiate between White box testing and black box testing.

2) Explain about a)Unit testing b) Integration testing c)Regression testing

3) Write short notes on Validation testing and System testing.

4) Discuss the importance of debugging in software quality.

5) Explain about metrics for analysis and design models

6) What are metrics for source code and testing? Explain.

7) Explain about metrics for software maintenance.

8) What are the metrics for software quality. Explain briefly

Page 15: Course Hand Out - BVRIT Hyderabadbvrithyderabad.edu.in/wp-content/uploads/2018/07/SE.pdf · Unit – III: Design Engineering, Component-level design, User interface design Important

Sample Objective Questions:

1. Verification and Validation uses_Internal and External resources respectively

2. Unit Testing concerns with testing the lower level components/units of Software

3.white box testing is also known as glass box testing.

4. Testing beyond normal operational capacity is __________. [C]

a. Load testing

b. Performance testing

c. Stress testing

d. All of these.

5. A tester is executing a test to evaluate and it complies with the user requirement for a certain

field be populated by using a dropdown box containing a list of values, at that time tester is

performing __________ [B]

a.White box testing

b.black box testing

c.Load testing

d.Regression teting

6. Which testing is the re-execution of some subset of tests that have already been conducted to

ensure the changes that are not propagated? [B]

a. Unit testing

b.Regression testing

c.Integration testing

d.Thread based testing

7.Alpha testing is a type of user acceptance testing(UAT) in which the software is tested in the

developer environment in presence of customer.

8.DRE stands for Defect Removal Efficiency

9. Cyclomatic complexity belongs to [A]

a.White box testing

b.Black box testing

10.Which of the following does not belong to system testing [D]

a. Recovery Testing

b.Performance testing

c.Stress testing

d.loop testing

11.Which of the following is not a McCalls quality factor? [B]

a.Product Operation

b.Product refinement

c.Product revision

d.Product Transition

12. DSQI is acronym for Dsign Structure Quality Index

13. Software Quality is the Conformance to explicitly stated functional and performance requirements

14. Function point metric is a metric for analysis model [A]

a.true

b.false

15.Which of the following is not a debugging strategy [E] a.Automated debugging

b.backtracking

c.brute force method

d.cause elimination

e.None

Page 16: Course Hand Out - BVRIT Hyderabadbvrithyderabad.edu.in/wp-content/uploads/2018/07/SE.pdf · Unit – III: Design Engineering, Component-level design, User interface design Important

Unit – V: Risk management, Quality Management

Important Points:

Risk is an undesired event or circumstance that occur while a project is underway

Risk Management: aims at reducing the impact of all kinds of risks that may affect a project

by identifying, analyzing and managing them.

Risk Management: two risk strategies:

o Reactive : It monitors the projects likely risk and resources are set aside.

o Proactive: Risk are identified, their probability and impact is accessed

The different risks are

o Project Risk

o Technical Risk

o Business Risk

o Known Risk

o Unpredictable Risk

o Predictable Risk

The different stages in risk management are:

o Risk Identification

o Risk Projection:

o Risk Refinement

Risk Mitigation Monitoring And Management (RMMM): Its goal is to assist project team

in developing a strategy for dealing with risk

o There are three issues of RMMM

Risk Avoidance

Risk Monitoring and

Risk Management

RMMM plan: It documents all work performed as a part of risk analysis

o Each risk is documented individually by using a Risk Information Sheet(RIS)

o RIS is maintained by using a database system

Quality Management: o Variation control is the heart of quality control

o Quality of design

o Quality of conformance

o Quality control(QC)

o Quality assurance(QA)

o Cost of quality

Prevention costs

Appraisal costs

Failure costs

External failure costs

o SQA(software quality assurance): is the concern of every software engineer to reduce

cost and improve product time-to-market.

o Software Reviews: Purpose is to find errors before they are passed on to another

software engineering activity or released to the customer.

o Software engineers (and others) conduct formal technical reviews (FTRs) for

software quality assurance.

Page 17: Course Hand Out - BVRIT Hyderabadbvrithyderabad.edu.in/wp-content/uploads/2018/07/SE.pdf · Unit – III: Design Engineering, Component-level design, User interface design Important

o Using formal technical reviews (walkthroughs or inspections) is an effective means

for improving software quality.

o FTR:A FTR is a software quality control activity performed by software engineers and

others.

o Statistical Quality Assurance(SQA): Information about software defects is collected

and categorized.

o Pareto principle (80% of the defects can be traced to 20% of the causes) used.

o Six Sigma for Software Engineering:

Three core steps:

1. Define customer requirements, deliverables, and project goals via

well-defined methods of customer communication.

2. Measure each existing process and its output to determine current

quality performance (e.g., compute defect metrics)

3. Analyze defect metrics and determine vital few causes

o Software Reliability: probability of failure free operation of a computer program in a

specified environment for a specified time period

o Measures of Reliability:

Mean time between failure (MTBF) = MTTF + MTTR

MTTF = mean time to failure

MTTR = mean time to repair

Availability = [MTTF / (MTTF + MTTR)] x 100%

Questions :

1) Differentiate Reactive and Proactive risk strategies

2) write short notes on a)Risk Identification b)Risk Projection

3) Explain briefly about Risk refinement

4) Discuss RMMM, RMMM plan

5) What are quality concepts? Explain.

6) Explain briefly about Software Quality Assurance(SQA).

7) Write short notes on Software reviews and Formal technical reviews.

8) What is the importance of SQA (statistical quality assurance) in quality assurance?

9) Discuss ISO 9000 Quality standards.

Page 18: Course Hand Out - BVRIT Hyderabadbvrithyderabad.edu.in/wp-content/uploads/2018/07/SE.pdf · Unit – III: Design Engineering, Component-level design, User interface design Important

Sample Objective Questions:

1.Which of the following is not a stage in risk management? [D]

a.Risk Identification

b.Risk Projection

c.Risk Refinement

d.Risk evaluation

2.RMMM stands for Risk Mitigation Monitoring And Management

3. Information about software defects is collected and categorized using SQA(Software Quality

Assurance)

4. According to Pareto’s principle, x% of defects can be traced to y% of all causes. What are the

values of x and y? [C]

a.60,40

b.70,30

c.80,20

d.none

5. What is Six Sigma? [C]

a. It is the most widely used strategy for statistical quality assurance

b. The “Six Sigma” refers to six standard deviations

c. It is the most widely used strategy for statistical quality assurance AND The “Six Sigma” refers to

six standard deviations

d. A Formal Technical Review(FTR) guideline for quality walkthrough or inspection

6. The degree to which the design specifications are followed during manufacturing is known as

a.Quality of design [B]

b.Quality of conformance

c.Quality of testing

d.None

7. Which risk gives the degree of uncertainty and the project schedule will be maintained so that

the product will be delivered in time? [C]

a.Business risk

b.Technical risk

c.Schedule risk

d.Project risk

8. Which risks identify Potential Design, Implementation, Interface, Verification and

Maintenance Problems? [B]

a.Business risk

b.Technical risk

c.Schedule risk

d.Project risk 9. Building an excellent product or system that no one really want a risk is a Business risk

10. Which of the following is not a business risk? [C]

a. building an excellent product or system that no one really wants

b. losing the support of senior management due to a change in focus or change in people

c. lack of documented requirements or software scope

d. losing budgetary or personnel commitment