unit ii - yolasoftwarecse.yolasite.com/resources/cs2301 software engg... · web viewwhich style of...

65
Subject Name :SOFTWARE ENGINEERING Subject CS Academic Year : 2014 - 2015 Semester V Name of the :M.MADAN MOHAN UNIT I SOFTWARE PRODUCT AND PROCESS 2 Marks: 1. What is software engineering? May 2009, Dec 2009 Software engineering is a discipline in which theories, methods and tools are applied to develop professional software. 2. What is Software? Dec 2008 Software is nothing but a collection of computer programs that are related documents that are indented to provide desired features, functionalities and better performance. 3. What are the characteristics of the software? Software is engineered, not manufactured. Software does not wear out. Most software is custom built rather than being assembled from components. 4. What are the various categories of software? System software Application software Engineering/Scientific software Embedded software 5. What are the challenges in software? 1

Upload: phungthu

Post on 25-Mar-2018

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

Subject Name :SOFTWARE ENGINEERING Subject Code: CS 2301Academic Year : 2014 - 2015 Semester : VName of the Faculty :M.MADAN MOHAN

UNIT I

SOFTWARE PRODUCT AND PROCESS

2 Marks:

1. What is software engineering? May 2009, Dec 2009

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

professional software.

2. What is Software? Dec 2008

Software is nothing but a collection of computer programs that are related documents that are

indented to provide desired features, functionalities and better performance.

3. What are the characteristics of the software?

Software is engineered, not manufactured.

Software does not wear out.

Most software is custom built rather than being assembled from components.

4. What are the various categories of software?

System software

Application software

Engineering/Scientific software

Embedded software

5. What are the challenges in software?

Copying with legacy systems, Heterogeneity challenge, Delivery times challenge.

6. Define software process. Distinguish between process and methods. May 2005, May 2004

Software process is defined as the structured set of activities that are required to develop the

software system.

Method is mainly in object oriented programming which refers to a piece of code that is

exclusively associated with a class or with an object.

7. What are the fundamental activities of a software process?

1

Page 2: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

Specification, Design and implementation, Validation, Evolution

8. What are the umbrella activities of a software process? Or

Write down the generic process framework that is applicable to any software project. Dec 2010

The phases and related steps described in our generic view of software engineering are

complemented by a number of umbrella activities. Typical activities in this category include:

Software project tracking and control

Formal technical reviews

Software quality assurance

Software configuration management

Document preparation and production

Reusability management

Measurement

Risk management

9. What are the merits of incremental model?

i) The incremental model can be adopted when there is less number of people involved in the project.

ii) Technical risks can be managed with each increment.

iii) For a very small time span, at least core product can be delivered to the customer.

10. List the task regions in the Spiral model.

Customer communication: Suggested to establish customer communication.

Planning: All planning activities are carried out

Risk analysis: The tasks required to calculate technical and management risks.

Engineering: Tasks required to build one or more representations of applications

Construct and release: Tasks required to construct, test and install the applications

Customer evaluation: Tasks are performed and implemented at installation stage based on the

customer evaluation.

11. What are the drawbacks of spiral model?

It is based on customer communication. If the communication is not proper then the software

product that gets developed will not be the up to the mark.

It demands considerable risk assessment. If the risk assessment is done properly then only the

successful product can be obtained.

Cost involved in this model is usually high.

It is a complicated approach especially for projects with a clear SRS.

Skills required evaluating and reviewing project from time to time, need expertise.

2

Page 3: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

Rules and protocols should be followed properly to effectively implement this model. Doing so,

through-out the span of project is tough.

Due to various customizations allowed from the client, using the same prototype in other projects,

in future, is difficult. 

It is not suitable for low risk projects.

Meeting budgetary and scheduling requirements is tough if this development process is followed.

Amount of documentation required in intermediate stages makes management of project very

complex affair.

12. What is System Engineering? Dec 2008

System Engineering focuses on a variety of elements, analyzing, designing, and organizing those

elements into a system that can be a product, a service, or a technology for the transformation of

information or control.

13. List the process maturity levels in SEIs CMM. May 2006

Level 1: Initial - Few processes are defined and individual efforts are taken.

Level 2: Repeatable – To track cost schedule and functionality basic project management

processes are established.

Level 3: Defined – The process is standardized, documented and followed.

Level 4: Managed – Both the software process and product are quantitatively understood and

controlled using detailed measures.

Level 5: Optimizing – Establish mechanisms to plan and implement change.

14. What is an effectors process? Dec 2005

The effectors process is a process that verifies itself. The effectors process exists in certain

criteria.

15. Define system and computer based system. Dec 2007

System: Purposeful collection of inter-related components working together to achieve some

common objectives.

Computer based system: A set or an arrangement of elements that are organized to accomplish

some predefined goal by processing information.

16. Distinguish between verification and validation.

May 2005, December 2007, May 2008, May 2009, December 2011

3

Page 4: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

S.No Verification Validation

1

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.

2 Are we building the product right? Are we building the right product?

3After a valid and complete

specification, verification starts.Begins as soon as project starts.

4Conducted to ensure whether

software meets its specification.

Conducted to show that the user requirements are

getting satisfied.

17. List the goals of software engineering. May 2011

To produce a high-quality system, application, or product.

To improve the ease with which changes can be accommodated and reduce the amount of effort

expended when changes must be made

18. What are the steps followed in testing?

1) Unit testing: The individual components are tested in this type of testing.

2) Module testing: Related collection of independent components are tested.

3) Sub-system testing: Various modules are integrated into a subsystem and the whole subsystem

is tested.

4) System testing: The whole system is tested in this system.

5) Acceptance testing: This type of testing involves testing of the system with customer data.

19. What is the use of CMM?

Capability Maturity Model is used in assessing how well an organization’s processes allow to

complete and manage new software projects.

20. Name the Evolutionary process Models.

i. Incremental model

ii. Spiral model

iii. WIN-WIN spiral model

iv. Concurrent Development

21. What is meant by Software engineering paradigm?

The development strategy that encompasses the process, methods and tools and generic

phases is often referred to as a process model or software engineering paradigm.

4

Page 5: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

22. What are the various elements for computer based system? Dec 2008

Software, Hardware, People, Database, Documentation, Procedures.

23. Define dynamic verification?

Dynamic verification is performed during the execution of software and dynamically checks its

behavior.

24. Define static verification?

Static verification is a process to check some requirements of software doing a physical inspection

of it. Example: software metric calculation.

25. What are two types of software products? May 2012

(i) Generic: These products are developed and to be sold to the range of different customers.

(ii) Custom: These products are developed and to be sold to the specific group of customers and

developed as per their requirements.

26. Is it always possible to realist win-win model for software? Dec 2012

Not possible. Because in this type of spiral model, customer communication is important for

obtaining the requirements for the project. If communication is not proper, then the software product

gets developed will not be upto the mark. In reality, the negotiation between customer and developer

occurs. If this negotiation is successful, then both sides WIN otherwise not.

27. Why software architecture is important in software process? May 2005

Communication among stakeholders. Use as a basis for mutual understanding, negotiation,

consensus, and communication.

Early design decisions. Software architecture manifests the earliest design decisions about a

system, and these early bindings carry weight far out of proportion to their individual gravity with

respect to the system's remaining development, its deployment, and its maintenance life. It is also

the earliest point at which design decisions governing the system to be built can be analyzed.

Transferable abstraction of a system. Software architecture constitutes a relatively small,

intellectually graspable model for how a system is structured and how its elements work together,

and this model is transferable across systems. In particular, it can be applied to other systems

exhibiting similar quality attribute and functional requirements and can promote large-scale re-

use.

28. Write a brief note on waterfall model. May 2004

or

State the advantages and drawbacks of waterfall model.

or

What are the potential advantages of adhering to life cycle models for software?

5

Page 6: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

May 2008, May 2009, May 2006, December 2004, May 2009, November 2012, December 2012.

Classical model of software engineering, one of the oldest models and is widely used in

government projects and in many major companies. As this model emphasizes planning in early stages, it

ensures design flaws before they develop. In addition, its intensive document and planning make it work

well for projects in which quality control is a major concern. It is used when requirements are well

understood in the beginning and also called as classic life cycle.

Advantages:

Disciplined approach

Careful checking by the Software Quality Assurance Group at the end of each phase.

Testing in each phase.

Documentation available at the end of each phase.

Drawbacks:

It is difficult to respond to changing customer requirements.

Therefore, this model is only appropriate when the requirements are well-understood and

changes will be fairly limited during the design process.

Few business systems have stable requirements.

The waterfall model is mostly used for large systems engineering projects where a system

is developed at several sites.

The customer must have patience. A working version of the program will not be available

until late in the project time-span

Feedback from one phase to another might be too late and hence expensive.

29. What are the Strengths and Weakness of Prototyping model? Dec 2006

Strengths:

Requirements can be set earlier and more reliably

Customer sees results very quickly.

Customer is educated in what is possible helping to refine requirements.

Requirements can be communicated more clearly and completely

When prototype is shown to the user, he gets a proper clarity and 'feel' of the functionality of the

software and he can suggest changes and modifications.

When client is not confident about the developer's capabilities, he asks for a small prototype to be

built. Based on this model, he judges capabilities of developer. 

Sometimes it helps to demonstrate the concept to prospective investors to get funding for project.

It reduces risk of failure, as potential risks can be identified early and mitigation steps can be

taken.

6

Page 7: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

Iteration between development team and client provides a very good and conductive environment

during project.

Time required to complete the project after getting final the SRS reduces, since the developer has

a better idea about how he should approach the project.

Weaknesses:

Requires a rapid prototyping tool and expertise in using it–a cost for the development

organization

Smoke and mirrors - looks like a working version, but it is not.

Prototyping is usually done at the cost of the developer. So it should be done using minimal

resources. It can be done using Rapid Application Development (RAD) tools. Please note

sometimes the start-up cost of building the development team, focused on making prototype, is

high.

Once we get proper requirements from client after showing prototype model, it may be of no use.

That is why, sometimes we refer to the prototype as "Throw-away" prototype. 

It is a slow process.

Too much involvement of client, is not always preferred by the developer. Too many changes can

disturb the rhythm of the development team.

30. What are the phases encompassed in the RAD model? Dec 2007

Business modeling, Data modeling, Process modeling, Application generation Testing and

turnover

31. Explain about the business, data and process modeling.

Business modeling:

• What information drives the business process?

• What information is generated?

• Who generates it?

Data Modeling:

• The information flow defined as part of the business modeling phase is refined into a set

of data objects that are needed to support the business.

• The characteristics ( called attributes) of each object are identified and the relationships

between these objects are defined

Process modeling:

• The data modeling phase are transformed to achieve the information flow necessary to

implement a business function.

• Processing descriptions are created for adding , modifying, deleting, or retrieving a data

7

Page 8: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

Object.

32.Define software process model.

It is an abstract representation of a process. It presents a description of a process from some particular

perspective.

33. State the advantages and drawbacks of RAD. May 2005

Advantages

Extremely short development time.

Uses component-based construction and emphasis reuse and code generation

Quick initial reviews occur

Encourages customer feedback

Integration from very beginning solves a lot of integration issues.

Disadvantages

Large human resource requirements (to create all of the teams).

Requires strong commitment between developers and customers for “rapid-fire”

activities.

High performance requirements maybe can’t be met (requires tuning the components).

Depends on strong team and individual performances for identifying business requirements.

Only system that can be modularized can be built using RAD

Requires highly skilled developers/designers.

High dependency on modeling skills

Inapplicable to cheaper projects as cost of modeling and automated code generation is very high.

34. List out the advantages of Spiral Model.

Focuses attention on reuse options.

Focuses attention on early error elimination.

Puts quality objectives up front.

Integrates development and maintenance.

Provides a framework for hardware/software Development.

Most flexible SDLC models in place. Development phases can be determined by the project

manager, according to the complexity of the project.

Project monitoring  is very easy and effective. Each phase, as well as each loop, requires a review

from concerned people. This makes the model more transparent.

Risk management is one of the in-built features of the model, which makes it extra attractive

compared to other models.

8

Page 9: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

Changes can be introduced later in the life cycle as well. And coping with these changes isn’t a

very big headache for the project manager. 

Project estimates in terms of schedule, cost etc become more and more realistic as the project

moves forward and loops in spiral get completed. 

It is suitable for high risk projects, where business needs may be unstable.

A highly customized product can be developed using this.

36. What is meant by blocking states in linear sequential model? Dec 2006

Classic life cycle leads to “blocking states” in which some project team members must wait for

other members of the team to complete dependent tasks. In fact, the time spent waiting can exceed the

time spent on productive work! The blocking state tends to be more prevalent at the beginning and end of

a linear sequential process.

37. Define the term product and process in software engineering. May 2007

Product is a standalone entity that can be produced by the developmental organization and sold on

the open market to any customer who is able to buy them. It consists of computer programs, procedures

and associated documentation.

Process is the structured set of activities that are required to develop software system. Activities

include Specification, Design and Implementation, Validation and Evolution.

38. Which process model leads to software reuse? Why? Dec 2007

Object oriented model is used for software reuse because this model is based on the incremental

development of the software product. This can be done on one or more iterations.

39. Define Business Process Engineering. Dec 2010

The goal of business process engineering (BPE) is to define architectures that will enable a

business to use information effectively.

One of the approach for creating an overall plan for implementing the computing architecture

40. Give two reasons why system engineers must understand the environment of a system? May 2012

(i) Reason for the existence of the system is it becomes easy to make changes (if required) in its

environment.

(ii) If the system environment is understood then the functioning of a system can be predicted.

41. What is the goal of product engineering?

To translate the customer’s desire for a set of defined capabilities into a working product.

42.  When to use RAD model:

RAD should be used when there is a need to create a system that can be modularized in 2-3

months of time.

9

Page 10: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

It should be used if there’s high availability of designers for modeling and the budget is high

enough to afford their cost along with the cost of automated code generating tools.

RAD SDLC model should be chosen only if resources with high business knowledge are

available and there is a need to produce the system in a short span of time (2-3 months).

16 Marks:

1. Explain iterative waterfall and spiral model for software life cycle and discuss various activities in

each phase. (16). May 2003, May 2006, Dec 2004, Dec 2008, May 2005, May 2004

Iterative waterfall model

• Requirement gathering phase in which all requirements are identified.

• The deign phase is responsible for creating architectural view of the software.

• The implementation phase in which the software design is transformed into coding.

• Testing is a kind of phase in which the developed software component is fully tested.

• Maintenance is an activity by which the software product can be maintained.

Spiral Model

• The spiral model is divided into number of frame works. These frameworks are denoted by task regions.

• Usually there are six task regions. In spiral model project entry point axis is defined.

• The task regions are: Customer communication Planning Risk analysis. Engineering. Construct and

release. Customer evaluation.

Drawbacks • It is based on customer communication.

• It demands considerable risk assessment.

2. List several software process paradigms. Explain how both waterfall model and prototyping model

can be accommodated in the spiral process model. (16)

3. a) Which is more important-the product or process? Justify your answer. (4)

b) Identify the umbrella activities in software engineering process. (4)

c) With suitable illustration explain SPIRAL model evolutionary software development (8)

4. Explain System Engineering Process in detail. Dec 2007, Dec 2008

System engineering process follows a waterfall model for the parallel development of different parts of the

system.

Usually follows a ‘waterfall’ model because of the need for parallel development of different parts of the

system. There is a little scope for iteration between phases because hardware changes are very expensive.

Software may have to compensate for hardware problems. Inevitably involves engineers from different

disciplines who must work together.

10

Page 11: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

5. Write short notes on Business Process Engineering overview and Product Engineering overview?

Dec 2007, May 2009

BUSINESS PROCESS ENGINEERING:

Defines architectures that will enable a business to use information effectively. It involves the

specification of the appropriate computing architecture and the development of the software architecture for

the organization's computing resources. There are three different architectures must be analyzed and

designed within the context of business objectives and goals,

PRODUCT ENGINEERING:

Translates the customer's desire for a set of defined capabilities into a working product. It achieves this

goal by establishing product architecture and a support infrastructure. Product architecture components

consist of people, hardware, software, and data. Support infrastructure includes the technology required to tie

the components together and the information to support the components.

6. Explain about the incremental model. Dec 2002, May 2006

Have same phases as the waterfall model.

Phases are Analysis, Design, Code, Test.

Incremental model delivers series of releases to customers called as increments.

The first increment is called as core product. Here only the document processing facilities are available.

Second increment, more sophisticated document producing and processing facilities are available.

Next increment spelling and grammar checking facilities are given.

Merits

This model can be adopted when there is less number of people involved in the project.

Technical risks can be managed with each increment.

For a very small time span, at least core product can be delivered to the customer.

RAD Model

Rapid Application Development Model is the type of incremental model.

Achieves the high speed development using component based construction.

Phases

Business modeling

Data modeling

Process modeling

Application generation.

Testing and turnover.

11

Page 12: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

7. Explain in detail about the software process.

It is defined as the structured set of activities that are required to develop the software system.

Fundamental activities

Specification, Design and implementation, Validation, Evolution

Common Process Framework

Process framework activities

Communication Planning Modeling Construction Deployment.

Task Sets

Defines the actual work to achieve the software objective.

Umbrella activities

Software project tracking and control, Risk management, Software quality assurance, Formal technical

reviews, Software configuration management, Work product preparation and production Reusability

management, Measurement.

Capability Maturity Model(CMM)

Level 1:Initial – Few processes are defined and individual efforts are taken.

Level 2:Repeatable – To track cost schedule and functionality basic project management processes are

established.

Level 3:Defined – The process is standardized, documented and followed. Level 4:Managed – Both

the software process and product are quantitatively understood and controlled using detailed measures.

Level 5:Optimizing – Establish mechanisms to plan and implement change.

8. Explain in detail about the life cycle process.

System requirements definition

Three types of requirements

Abstract functional requirements. System properties.

Undesirable Characteristics. System objectives

System requirement problem.

The system design process

Process steps

Partition requirements, Identify sub-systems, Assign requirements to sub-systems, Specify sub-system

functionality, Define sub-system interfaces, Requirement Definition definition, System Design, Sub-system

Design System, Integration System, System evolution, System Installation

Sub-System development process

After system design it starts.

12

Page 13: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

Involve use of COTS (Commercial-Off-The-Shelf).

System Integration

It is the process of putting hardware, software and people together to make a system.

System Installation

Issues are

Environmental assumptions may be incorrect.

There may be human resistance to the introduction of anew system. System may have to coexist with

alternative systems for some period.

There may arise some physical installation problems (e.g. cabling problem). Operator training has to be

identified.

System evolution

The lifetime of large systems is too long. They must evolve to meet change requirements.

The evolution may be costly.

System Decommissioning

Taking the system out of service after its useful lifetime is called as System Decommissioning.

13

Page 14: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

UNIT II SOFTWARE REQUIREMENTS

2 Marks:

1. What is requirement engineering? May 2006, May 2009

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.

2. Write distinct steps in requirement engineering process. Or

What does requirement process involve? May 2006, May 2012

Requirements elicitation

Requirements analysis

Requirements validation

Requirements management

3. Distinguish between the terms inception, elicitation and elaboration with reference to requirements?

Inception: During inception, the requirements engineer asks a set of questions to establish a basic

understanding of the problem, the people who want a solution, the nature of the solution that is desired, the

effectiveness of preliminary communication and collaboration between the customer and the developer.

Elicitation: Eliciting requirements is difficult because of problems of scope, problems of understanding what

is wanted, what the problem domain is, and what the computing environment can handle and problems of

volatility because the requirements change over time

Elaboration: During elaboration, the software engineer takes the information obtained during inception and

elicitation and begins to expand and refine it.

Focuses on developing a refined technical model of software functions, features, and constraints

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

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

ii. Requirements traceability – These are links between dependant requirements.

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

5. What is meant by prototyping?

Creating a demo of a new system. Prototyping is essential for clarifying information requirements. The design

of a system (functional specs) must be finalized before the system can be built. While analytically-oriented

people may have a clear picture of requirements, others may not.

6. Define software prototyping. May 2004, May 2009, Dec 2010

Software prototyping is defined as a rapid software development for validating the requirements. Use of

system prototypes is to help customers and developers to understand the system requirements.

14

Page 15: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

7. What are the benefits of prototyping? Dec 2009

Eliminates ambiguities and improve accuracy in interpretation of system requirements and functionality

Ensures that the solution does what it is supposed to do - not what the developer thinks it ought to do, or

how Simply provides an insight or overview of a system (eg look and feel of the user interface), or to focus on

a component part in detail but possibly in isolation (eg stand alone rather than integrated)

Helps to identify and address problems early on (eg missing, confusing or misunderstood features)

5. What are the prototyping approaches in software process? May 2006

Evolutionary prototyping:

The initial prototype is prepared and it is then refined through number of stages to final stage

To deliver working system to the end-user

Process starts with well understood requirements

It must be developed for the systems where the systems where specifications cannot be developed in

advance

Throw-away prototyping:

A rough practical implementation of the system is produced. The requirement problems can be identified

from this implementation

To validate or to derive the system requirements

Process starts with well understood requirements

Developed to reduce the requirement risks

6. What are the advantages of evolutionary prototyping?

(i) Fast delivery of the working system

(ii) User is involved while developing the system

(iii) More useful system can be delivered

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

7. What are the various Rapid prototyping techniques?

(i) Dynamic high level language development

(ii) Database programming

(iii) Component and application assembly

8. What is meant by rapid prototyping?

It is a technique in which the initial version of the software system that demonstrates the concept can be

developed rapidly. During the process, initial prototype is produced and can be refined in later versions.

15

Page 16: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

9. Why SRS must be traceable? What is traceability requirement? or

“An SRS is traceable”. Comment. Dec 2005, Dec 2012

There may be chances of having new requirements during development of the software. Traceability is

concerned with relationship between requirements, their sources and system design. Thus change in

requirement is manageable if SRS is traceable.

The traceability requirement is the relationship between dependent requirements.

10. Why it is so difficult to gain a clear understanding of what customer wants? or

What are the problems makes elicitation difficult? Dec 2007, May 2008, Dec 2008, May 2010

1.Customer is unable to specify scope of the project. Sometimes customers specify too many technical details

and this may increase the confusion.

2. There is difficulty in understanding the problem. Sometimes customer could not decide what their needs

and wants. Sometimes they may get poor understanding of capabilities and limitations of the existing

computing environment.

3. Sometimes customers find it difficult to communicate with the system engineer about their needs and may

have got some conflicting requirements. This ultimately results in specifying ambiguous requirements.

4. As project progresses the needs or requirements of the customers changes, creates the problem of volatility.

11. What is the use of User Interface prototyping?

This prototyping is used to pre-specify the look and feel of user interface in an effective way.

12. How requirements are collected for user interface of software? Dec 2004

While designing the user interface of software, the requirement collection can be done by focusing on the

profile of the user who interacts with the system. Skill level, business understanding and general grasping to

the new system are recorded.

13. What are the characteristics of SRS?

(i) Correct: The SRS should be made up to date when appropriate requirements are identified.

(ii) Unambiguous: When the requirements are correctly understood then only it is possible to write

an unambiguous software.

(iii) Complete: To make SRS complete, it should be specified what a software designer wants to

create software.

(iv) Consistent: It should be consistent with reference to the functionalities identified.

(v) Specific: The requirements should be mentioned specifically.

(vi) Traceable: What is the need for mentioned requirement?

16

Page 17: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

14. What is data modeling?

Basic step in the analysis modeling. Data objects are examined independently of processing. The data model

represents how data are related with one another.

15. What is a data object?

Data object is a collection of attributes that act as an aspect, characteristic, quality, or descriptor of the object.

16. What are attributes?

Attributes are the one, which defines the properties of data object.

17. What is cardinality in data modeling? Dec 2006, Dec 2008

Cardinality in data modeling, cardinality specifies how the number of occurrences of one object is related to

the number of occurrences of another object.

18. What does modality in data modeling indicates? Dec 2006, Dec 2008

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

19. What is ERD?

Entity Relationship Diagram is the graphical representation of the object relationship pair. It is mainly used in

database applications.

20.What are all the steps used to build ERD?

The steps involved in creating an entity relationship diagram are:

Identify the entities.

Determine all significant interactions.

Analyze the nature of the interactions.

Draw the entity relationship diagram.

21. What is DFD? Dec 2006

Data Flow Diagram(DFD) depicts the information flow and the transforms that are applied on the data as

it moves from input to output.

Collection of process, data store, flow of data(transitions) and external entity.

Used to represent the system at any level of abstraction and the increasing levels are used to expose more

and more functionalities in the system.

22. What are the linkages between data flow and ERD? May 2009

An ER diagram is the Entity Relationship Diagram, showing the relationship between different entities in a

process.

A Data Flow diagram is a symbolic structure showing how the flow of data is used in different process stages.

17

Page 18: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

23. Draw the DFD notations for the following.

(a) External Entity (b) Data items.

(a) External entities are objects outside the system, with which the system communicates. External entities are

sources and destinations of the system's inputs and outputs.

(b) Datastores are repositories of data in the system. They are sometimes also referred to as files.

24. What does Level 0 DFD represent?

Level 0 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.

25. What is a state transition diagram? Dec 2006

State transition diagram is basically a collection of states and events. The events cause the system to change its

state. It also represents what actions are to be taken on the occurrence of particular event. Typically drawn at

a single level. Intended to expose the overall behavior of the system.

26. Define Data Dictionary. Where it is used in software engineering? Dec 2004, May 2009, May 2003

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.

27. What are all the information stored in data dictionary? Dec 2007

Name: Primary name of data or control item, the data source or external entity.

Alias: Other name used for the name.

Where used or how used: It describes where the data or control item is used. It also describes how that item is

used. (i.e., input and output to the process)

18

Page 19: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

28. 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 why supplementary information that is relevant to it?

Data dictionary for the telephone number is given below.

Name: Telephone number

Aliases: None

Where used/How used: Assess against the set-up (o/p)

Description:

Telephone number=[local number+STD]

Local number=Prefix+Access number

STD= +91+Area code+Local Number

Prefix=*a four digit number that starts with 2*

Access number=*any four digit number*

Example: Consider telephone no of Pratheeba Publishers is +91 (0422)2619100 in Tamilnadu. Here +91 then

followed by area code 0422 then comes prefix=2619 which starts with 2 and the access number is 100. To dial

in Tamilnadu itself, the local number is 2619100.

29. What are 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.

30. What are functional requirements? Dec 2010, May 2011

Functional requirements are statements of services the system should provide how the system should react to

particular input and how the system should behave in particular situation.

31. What are non functional requirements? May 2003, May 2005, Dec 2010, May 2012

Non functional requirements are constraints on the services or functions offered by the system such as timing

constraints, constraints on the development process, standards, etc.

32. Name the metrics to specify non functional requirements. Dec 2011

(i) Time (Transactions/sec, Response time, Time to complete an operation), Space (Main memory, Auxiliary

memory, Cache)

(ii) Usability (Training time, Number of choices, Mouse clicks)

(iii) Reliability (Mean time to failure, Downtime probability, Failure rate, Availability)

19

Page 20: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

(iv) Robustness (Time to recovery,% of incidents leading to catastrophic failures, Data corruption probability

after a failure)

(v) Portability (% of non-portable code, Number of systems where software can run)

33. What is the major distinction between user requirements and system requirements? May 2008

User Requirements: These are statements, in a natural language plus diagrams of what services the system is

expected to provide and the constraints under which it must operate.

System Requirements: Sets out the system’s functions, services and operational constraints in detail. The

system requirements document (sometimes called a functional specification) should be precise. It may be a

part of the contact between the system buyer and the software developers.

34. Which style of prototyping is most appropriate when the requirements are not well understood?

May 2008

A throw away prototyping approach has to be used when the requirements are not well understood. Here,

rough demonstration of requirements is available and it can be discarded if not achieving the level of

satisfaction.

35. How do we use the models that we create during requirement analysis? Dec 2008

Data Model: ER model is created during the data modeling. ERD defines the relationship between data objects.

Functional Model: DFD’s are created in this modeling. It depicts the information flow in three phases: Input,

Output and Process.

Behavioral Model: Used to describe overall behavior of a system. STD’s are used to represent this model.

36. What is the outcome of feasibility study? Dec 2003

The outcome of feasibility study is the results obtained from the following questions:

Whether system contributes to organizational objectives?

Whether the system can be engineered? Is it within the budget?

Whether the system can be integrated with other existing system?

37. What is meant by structural analysis?

The structural analysis is mapping of problem domain to flows and transformations. The system can be

modeled by using Entity Relationship diagram, Data flow diagram and Control flow diagrams.

16 Marks:

1) Explain the ways and means for collecting the software requirements and how are they organized

and represented? (16)

2) Describe various prototyping techniques and discuss on analysis sand modeling.(16) Dec 2007

i. Evolutionary prototyping – In this approach of system development,the initial prototype is prepared

and it is then refined through number of stages to final stage.

20

Page 21: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

ii. Throw-away prototyping – Using this approach a rough practical implementation of the system is

produced. The requirement problems can be identified from this implementation. It is then discarded.

System is then developed using some different engineering paradigm.

Evolutionary prototyping

Objective:

The principal objective of this model is to deliver the working system to the end-user. Example-AI

systems.

Advantages

Fast delivery of the working system.

User is involved while developing the system. More useful system can be delivered.

Specification, design and implementation work is co-ordinated manner.

Problems

Management problems Maintenance problem Verification

Incremental Development

After designing the overall architecture the system is developed and delivered in series of increments.

Throw-away prototyping

Objective:

The principal objective of this model is to validate or to derive the system requirements. It is developed

to reduce requirement risks.

Advantages

Requirement risks are very less.

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.

3) a) Discuss in detail the data modeling activity (8) May 2004, Dec 2008, May 2010

b) Write briefly about the utility of state transition diagram in analysis modeling activity (8)

4) a) Compare functional and behavioral models. (4) Dec 2007

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 chart

A DFD is a graphical representation that depicts the information flow and the transforms that are

applied as the data move from input to output.

21

Page 22: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

Level 0 DFD also called as fundamental system model or context model represents the entire

software as a single bubble with input and output data 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 extensions

Hatley and Pirbhai extension.

b) With a suitable diagram explain the elements of the analysis model (8)

c) With an example explain about DFD. (4)

5) a) Explain the extensions of DFD for real time systems. (8)

b) Discuss the features of state transition diagram and its application. (8)

6) a) Explain the feasibility studies. What are the outcomes? Does it have either implicit or explicit effects

on software requirement collection? (8)

b) What is the prototyping technique? How prototype models are prepared for a software process? Discuss.

(8)

7) a) Describe how software requirements are documented? State the importance of documentation. (8)

b) Explain the software requirement analysis and modeling. (8)

8) Explain the state oriented approaches for representing behavioral specifications of software. (16)

9) Narrate the importance of software specification of requirements. Explain a typical SRS structure and

its parts. (16)

10) Discuss in detail the FAST method of

a. Requirement elicitation with an example. (8)

b. What is software specification? (8)

11) Write short notes on data modeling? (6) Dec 2007

Discuss in detail the basic structure of analysis model. (10)

Data modeling makes use of the ERD. Consists of 3 interrelated information.

The data object.

Attributes. Relationships.

Cardinality and Modality

Cardinality is the specification of the number of occurrences of one object that can be related to

the number of occurrences of another object.

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

22

Page 23: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

Modality of a relation is 0 if there is no explicit relationship or relation is optional.

Modality is 1 if an occurrence of relationship is mandatory.

Entity/Relationship Diagrams

Components are Data Objects.

Attributes.

Relationships.

Various type indicators.

12) How is SRS for a development project arrived at? (6)

What minimum features are required to be present in a good SRS?(10)

13) Explain about rapid prototyping techniques.

 Executable specification languages.

Used to animate the system specification.

It is expressed in a formal, mathematical language to provide a system prototype.

Very high level languages.

These are programming languages which include powerful data management facilities.

Application generators and fourth-generation languages.

These are successful languages because there is a great deal of communality across data processing

applications.

14) Explain about structural modeling. June 2010

Structural model includes a detail refinement of ERD, data flow model and control flow model.

23

Page 24: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

UNIT – III ANALYSIS, DESIGN CONCEPTS AND PRINCIPLES

2 Marks:

1. What are the elements of design model? May 2006

i. Data design ii. Architectural design iii. Interface design iv. Component-level design

2. Define design process.

Design process is a sequence of steps carried through which the requirements are translated into a

system or software model.

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

4. What are the guidelines and benefit of modular design? Dec 2003

Benefit : Changes made during testing and maintenance becomes manageable and they do not affect

other modules.

Guidelines:

1. To achieve functional independence

2. High level of cohesion should be achieved

3. There should be minimum number of coupling.

5. What is a cohesive module?

A cohesive module performs only “one task” in software procedure with little interaction with other

modules. In other words cohesive module performs only one thing.

6. What are the different types of Cohesion?

i. Coincidentally cohesive - The modules in which the set I\of tasks are related with each other loosely.

ii. Logically cohesive – A module that performs the tasks that are logically related with each other.

iii. Temporal cohesion – The module in which the tasks need to be executed in some specific time span.

iv. Procedural cohesion – When processing elements of a module are related with one another and must be

executed in some specific order.

v. Communicational cohesion – When the processing elements of a module share the data then such

module is called communicational cohesive.

7. What is coupling? May 2007

Coupling is the measure of interconnection among modules in a program structure. It depends on

the interface complexity between modules.

24

Page 25: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

8. What are the various types of coupling? May 2007

i. Data coupling – The data coupling is possible by parameter passing or data interaction.

ii. Control coupling – The modules share related control data in control coupling.

iii. Common coupling – The common data or a global data is shared among modules.

iv. Content coupling – Content coupling occurs when one module makes use of data or control

information maintained in another module.

9. What are the common activities in design process?

i. System structuring – The system is subdivided into principle subsystems components and

communications between these subsystems are identified.

ii. Control modeling – A model of control relationships between different parts of the system is

established.

iii. Modular decomposition – The identified subsystems are decomposed into modules.

10. What are the benefits of horizontal partitioning? May 2003, May 2005

i. Software that is easy to test. ii. Software that is easier to maintain.

iii. Propagation of fewer side effects. iv. Software that is easier to extend.

11. What is vertical partitioning? May 2003, May 2005

Vertical partitioning often called factoring suggests that the control and work should be distributed

top-down in program structure.

12. What are the advantages of vertical partitioning?

i. Easy to maintain changes. ii. Reduce the change impact and error propagation.

13. What are the various elements of data design?

i. Data object – The data objects are identified and relationship among various data objects can be

represented using ERD or data dictionaries.

ii. Databases – Using software design model, the data models are translated into data structures and data

bases at the application level.

iii. Data warehouses – At the business level useful information is identified from various databases and

the data warehouses are created.

14. List the guidelines for data design.

i. Apply systematic analysis on data.

ii. Identify data structures and related operations.

iii. Establish data dictionary.

iv. Use information hiding in the design of data structure.

v. Apply a library of useful data structures and operations.

25

Page 26: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

15. Name the commonly used architectural styles. Dec 2010

i. Data centered architecture

ii. Data flow architecture

iii. Call and return architecture

iv. Object-oriented architecture.

v. Layered architecture.

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

17. What is a 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.

18. What are the objectives of Analysis modeling?

i. To describe what the customer requires.

ii. To establish a basis for the creation of software design.

iii. To devise a set of valid requirements after which the software can be built.

19. What is an Architectural design?

The architectural design defines the relationship between major structural elements of the software, the

“design patterns” that can be used to achieve the requirements that have been defined for the system.

20. What is data design?

The data design transforms the information domain model created during analysis into the data structures

that will be required to implement the software.

21. What is interface design?

The interface design describes how the software communicates within itself, with systems that

interoperate with it, and with humans who use it.

22. What is component level design?

The component level design transforms structural elements of the software architecture into a procedural

description of software components.

23. What is software design?

Software design is an iterative process through which the requirements are translated into a “blueprint”

for constructing the software.

24. What is user interface design? Dec 2009

User interface design creates an effective communication medium between a human and a computer.

26

Page 27: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

25. What is system design? May 2009

System design process involves deciding which system capabilities are to be implemented in software

and which in hardware.

26. What are data acquisition systems? May 2012

Systems that collect data from sensors for subsequent processing and analysis are termed as data

acquisition systems. Data collection processes and processing processes may have different periods and

deadlines.

27. How do you evaluate user interface? May 2003

28. Enumerate different data flow architectures. Dec 2005

Context flow diagrams, ER diagrams, State transition diagrams, Data Flow Diagrams.

29. Brief the importance of user interface. Dec 2003

30. What is the work product of software design process and who does it? May 2004

31. Define the term software architecture. May 2004, May 2008

Hierarchical structure of software components and their interactions. Here, software model is designed and

the structure of that model is partitioned horizontally or vertically.

32. What are the quality parameters considered for effective modular design?

Or

State different criteria applied to evaluate an effective modular design. May 2006

Functional Independence, Cohesion, Coupling.

Creating an ERD.

Developing relationships and cardinality/Modality. Creating a data flow model using the guidelines.

Creating a control flow model which describes the structural connection of

Processes

Control flows

Control stores. State automation

Process activation table.

27

Page 28: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

16 Marks:

1. What is transform mapping? Explain the process with an illustration. What is its strength and

weakness? (16) May 2010

Review the fundamental model.

Review and refine the DFD for the software.

Determine whether the DFD has the transform or transaction mapping.

Isolate the transform center by specifying incoming and outgoing flow boundaries.

Perform first-level factoring.

Perform second-level factoring.

Refine the first iteration architecture using design heuristics for improved software quality.

2. a) Explain about the various design concepts considered during design? (12) May 2008

Abstraction

Functional abstraction

Data abstraction

Control abstraction

Information hiding

Each module in the system hides the internal details of its processing activities and modules

communicate only through over defined interfaces.

Structure

It permits the decomposition of a large system into smaller, more manageable units with well

defined relationships to the other units in a system.

Network is the most general form of structure.

Hierarchical Structures/Structure Charts

It depicts the structure of subroutines in a system, the data passed between routines, can be

indicated on the arcs connecting routines. Modularity

Modular system consists of well-defined, manageable units with well defined interfaces among

units.

Concurrency

Independent processes that can be activated simultaneously if multiple processors are available.

Coupling and Cohesion

Data coupling – The data coupling is possible by parameter passing or data interaction.

Control coupling – The modules share related control data in control coupling.

Common coupling – The common data or a global data is shared among modules.

28

Page 29: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

Content coupling – Content coupling occurs when one module makes use of data or control

information maintained in another module.

b) Write short notes on user interface design process? (4) Dec 2008

3. a) Explain data architectural and procedural design for a software? (8)

b) Describe the design procedure for data acquisition system (8) Dec 2004

4. Explain the importance of user interface design in sale of software. (16) Dec 2004

5. Describe decomposition levels of abstraction and modularity concepts in software design? (16)

Dec 2005

6. What are the characteristics of a good design? Describe different types of coupling and cohesion. How

design evaluation is performed? (16) Dec 2005

7. Draw the basic structure of analysis model and explain each entity in detail.(16)

8. a) discuss in detail about the design process in software development process (8) May 2005

b) Justify “Design is not coding and coding is not design”. (8) May2004,May

2005

9. a) Explain in detail about the characteristics and criteria for a good design. (10)

b) Describe the golden rules for interface design. (6) May 2009

10. a) What is the design document? b) How is it organized? (16)

11. a) What are the various software architectures available for the developer according to you? Which is

the best and why? (8) May 2007

b) Explain transaction mapping in detail. (8)

Review the fundamental model.

Review and refine the DFD for the software.

Determine whether the DFD has the transform or transaction mapping. Identify transaction center

and the flow characteristics along each of the action paths.

Factor and refine the transaction structure and the structure of each action path.

Refine the first iteration architecture using design heuristics for improved software quality.

12. What do you mean by modularity in software development? Why is it needed? What is its strength? (8)

13. a) What are the various model of abstraction? Discuss any two in detail? (8)

b) How does a real time system design differ comparing distributed system design? (8)

Hard and soft real time systems.

Real time and high performance.

Real-Time control.

Real time software design

Periodic Stimuli – Occur at predictable time intervals. Aperiodic Stimuli – Occur regularly

29

Page 30: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

14. a) Explain the set of principles for software engineering design? (10)

b) Describe the concept of information hiding. (6)

15. a) What is data flow oriented design. (3)

b) Draw a detailed dataflow diagram for library management. (10)

c) What are the components dataflow oriented design. (3)

16. a) What is SCM? (4) May 2007

b) How are SCM tasks practiced over the operational life of software? (6)

Software Configuration Management is an umbrella activity that is applied throughout the software

process.

SCM Activities

Identify change.

Control change.

Ensure the change is properly implemented.

Report change to others.

Need for SCM

When you build computer software change happens, you need to control it effectively.

SCI Software Configuration Item is information that is carried as part of the software engineering

process.

c) What is the impact of requirement changes during development of a software product? (6)

May 2003

17. Explain the design principles. (8) Dec 2008

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 after the fact.

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

30

Page 31: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

UNIT – IV TESTING

2 Marks:

1. Define software testing?

Software testing is a critical element of software quality assurance and represents the ultimate

review of specification, design, and coding.

2. What are the objectives of testing?

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

ii. A good test case is one that has high probability of finding an undiscovered error.

iii. A successful test is one that uncovers as an-yet undiscovered error.

3. What are the testing principles the software engineer must apply while performing the software

testing?

i. All tests should be traceable to customer requirements.

ii. Tests should be planned long before testing begins.

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

iv. Testing should begin “in the small” and progress toward testing “in the large”. v. Exhaustive

testing is not possible.

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

4. What are the two levels of testing?

i. Component testing - Individual components are tested. Tests are derived from developer’s

experience.

ii. System Testing - The group of components are integrated to create a system or sub-system is

done. These tests are based on the system specification.

5. What are the various testing activities?

Test planning, Test case design, Test execution, Data collection, Effective evaluation

6. Write short note on black box testing. May 2012

The black box testing is also called as behavioral testing. This method

fully focus on the functional requirements of the software. Tests are derived that fully exercise all

functional requirements.

31

Page 32: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

7. What is equivalence partitioning?

Equivalence partitioning is a black box technique that divides the input domain into classes of

data. From this data test cases can be derived. Equivalence class represents a set of valid or invalid states

for input conditions.

8. What is a boundary value analysis?

A boundary value analysis is a testing technique in which the elements at the edge of the domain

are selected and tested. It is a test case design technique that complements equivalence partitioning

technique.

9. What are the reasons behind to perform white box testing? Dec 2010

1. Programmers may have some incorrect assumptions while designing or implementing some

functions.

2. Certain assumptions on flow of control and data may lead programmer to make design errors. To

uncover the errors on logical path, white box testing is must.

3. There may be certain typographical errors that remain undetected even after syntax and type

checking mechanisms. Such errors can be uncovered during white box testing.

10. What is cyclomatic complexity? May 2006, Dec 2006

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

complexity of the program.

11. How to compute the cyclomatic complexity? Dec 2006

The cyclomatic complexity can be computed by any one of the following ways. 1. The numbers

of regions of the flow graph correspond to the cyclomatic complexity.

2. Cyclomatic complexity (G), for the flow graph G, is defined as: V(G)=E-N+2, E -- number of

flow graph edges, N -- number of flow graph nodes

3. V(G) = P+1 Where P is the number of predicate nodes contained in the flow graph.

12. What is BRO testing? Dec 2006

Boolean and Relational Operator Testing (BRO) method is a condition testing strategy which is

based on the detection of Boolean and Relational operator errors which normally occur in the condition.

It is a cost effective testing method in quality assurance.

13. What are the various testing strategies for conventional software?

i. Unit testing

ii. Integration testing

iii. Validation testing

iv. System testing

32

Page 33: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

14. Write about drivers and stubs.

Drivers and stub software need to be developed to test incompatible software.

The “driver” is a program that accepts the test data and prints the relevant results.

The “stub” is a subprogram that uses the module interfaces and performs the minimal data manipulation

if required.

15. What are the approaches of integration testing?

The integration testing can be carried out using two approaches.

Non-incremental testing, Incremental testing

16. What are the advantages and disadvantages of big-bang?

Advantage:

This approach is simple.

Disadvantages:

It is hard to debug.

It is not easy to isolate errors while testing.

In this approach it is not easy to validate test results.

17. What are the benefits of smoke testing? Dec 2008

Integration risk is minimized.

The quality of the end-product is improved.

Error diagnosis and correction are simplified.

Assessment of program is easy.

18. What are the conditions exists after performing validation testing?

(i)The function or performance characteristics are according to the specifications and are accepted.

(ii)The requirement specifications are derived and the deficiency list is created.

19. Distinguish between alpha and beta testing

Alpha and beta testing are the types of acceptance testing.

Alpha test : The alpha testing is attesting in which the version of complete software is tested by the

customer under the supervision of developer. This testing is performed at developer’s site.

Beta test : The beta testing is a testing in which the version of the software is tested by the customer

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

20. What are the various types of system testing? May 2003, May 2006

1. Recovery testing – is intended to check the system’s ability to recover from failures.

2. Security testing – verifies that system protection mechanism prevent improper penetration or data

alteration.

3. Stress testing – Determines breakpoint of a system to establish maximum service level.

33

Page 34: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

4. Performance testing – evaluates the run time performance of the software, especially real time

software.

21. Define debugging. May 2003, Dec 2004

Debugging is defined as the process of removal of defect. It occurs as a consequence of successful

testing.

22. What are the common approaches in debugging? Dec 2004, May 2003

Brute force method: The memory dumps and run-time tracks are examined and program with write

statements is loaded to obtain clues to error causes.

Back tracking method: The source code is examined by looking backwards from symptom to potential

causes of errors.

Cause elimination method: This method uses binary partitioning to reduce the number of locations where

errors can exists

23. What is meant by structural testing?

In structural testing derivation of test cases is according to program structure. Hence knowledge

of the program is used to identify additional test cases.

24. What is meant by regression testing? Dec 2010

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.

25. What is meant by unit testing?

The unit testing focuses verification effort on the smallest unit of software design, the software

component or module.

16 Marks:

1. Discuss the differences between black box and white box testing models. Discuss how these testing

models may be used together to test a program schedule. (16) May 2003, May 2004, Dec 2005, May

2007

Black box or behavioral testing focuses on the functional requirements of the software.

It is applied during the last stage of testing.

Syntax driven testing is suitable for the specification which are described by a certain grammar.

Decision table based testing is implemented when the original softwarerequirement have been

formulated in the format of “ if-then” statements.

Liquid level control is the study of a simple control problem which is designed to check the liquid

level.

It has 2 sensors.

Cause effect graphs in functional testing.

34

Page 35: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

2. a) What do you mean by system testing? Explain in detail (12)

b) Explain boundary value analysis. (4)

3. a) Justify the importance of testing process(8)

b) Discuss in detail about alpha and beta testing. (8)

4. What do you mean by integration testing? Explain their outcomes: (16) May 2007

It is a systematic technique for constructing the program structure.

Incremental integration

The program is constructed and tested in small increments.

Top-down integration

It is an incremental approach.

Modules are integrated by moving downward through the control hierarchy beginning with the main

control module(main program).

Subordinate modules are incorporated by depth-first or breadth-first manner.

Bottom-up integration

This testing begins construction and testing with the components at the lowest levels in the

program structure.

Regression testing

It is the re-execution of some subset of tests that have already been conducted to ensure the

changes that have not been propagated unintended side effects.

Smoke testing

It minimizes the integration risk.

Error diagnosis and correction are simplified.

5. What is black box testing? Is it necessary to perform this? Explain various test activities: (16)

6. Explain the integration testing process and system testing process and discuss their outcomes: (16)

7. a) What do you mean by system testing? Give a case study of a system testing for operating system? (8)

System testing Stress testing Security testing.

Performance testing

b) What do you mean by boundary value analysis? Give two examples of boundary value testing.(8)

Dec 2006, May 2009

8. Explain black box testing methods and its advantages and disadvantages. (16)

9. Write short notes on

a) Data flow testing. (8)

b) Integration testing. (8)

35

Page 36: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

10. a) Explain the testing procedures for boundary conditions.(8)

b) Describe verification and validation criteria for a software. (8)

11. a) Describe unit testing and integration testing. How test plans are generated? (8)

Dec 2006, Dec 2008, May 2009

b) Suggest software testing sequence for a 100% bug free software. Explain. (8)

12. Discuss software failures and faults? What are test coverage criteria? Discuss testing issues: (16)

13. Explain automated testing tools. How test cases are generated? Discuss when to stop testing? What is

performance testing? Describe. (16)

14. What are the various testing strategies to software testing? Discuss them briefly:(16) May 2005, May

2006, Dec 2009

A strategic approach to software testing.

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. According to Boehm,

Verification:” Are we building the product right?”

Validation:” Are we building the right product?”

Organization for software testing

A software testing strategy.

Criteria for completion of testing.

36

Page 37: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

UNIT – V SOFTWARE PROJECT MANAGEMENT

2 Marks:

1. Define measure.

Measure is defined as a quantitative indication of the extent, amount, dimension, or size of some

attribute of a product or process.

2. Define metrics.

Metrics is defined as the degree to which a system component, or process possesses a given

attribute.

3. What are the types of metrics?

Direct metrics – It refers to immediately measurable attributes.

Example – Lines of code, execution speed.

Indirect metrics – It refers to the aspects that are not immediately quantifiable or measurable.

Example – functionality of a program.

4. Write short note on the various estimation techniques.

Algorithmic cost modeling – the cost estimation is based on the size of the software.

Expert judgment – The experts from software development and the application domain.

Estimation by analogy – The cost of a project is computed by comparing the project to a similar

project in the same application domain.

Parkinson’s Law – The cost is determined by available resources rather than by objective

assessment.

Pricing to win – The project costs whatever the customer ready to spend it.

5. What is COCOMO model?

COnstructive COst MOdel is a cost model, which gives the estimate of number of man-months it

will take to develop the software product.

6. Give the procedure of the Delphi method. May 2003

1. The co-coordinator presents a specification and estimation form to each expert.

2. Co-coordinator calls a group meeting in which the experts discuss estimation issues with the

coordinator and each other.

3. Experts fill out forms anonymously.

4. Co-coordinator prepares and distributes a summary of the estimates.

5. The Co-coordinator then calls a group meeting.

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

37

Page 38: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

8. What is EVA? Nov/Dec 2012

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.

9. What are the metrics computed during error tracking activity?

Errors per requirement specification page.

Errors per component-design level

Errors per component-code level

DRE-requirement analysis

DRE-architectural analysis

DRE-component level design

DRE-coding.

10. What is software maintenance?

Software maintenance is an activity in which program is modified after it has been put into use.

11. Define maintenance.

Maintenance is defined as the process in which changes are implemented

By either modifying the existing system’s architecture or by adding new components to the system.

12. What are the types of software maintenance? Dec 2000

Corrective maintenance – Means the maintenance for correcting the software faults.

Adaptive maintenance – Means maintenance for adapting the change in environment.

Perfective maintenance – Means modifying or enhancing the system to meet the new requirements.

Preventive maintenance – Means changes made to improve future maintainability.

13. How the CASE tools are classified?

CASE tools can be classified by

a. By function or use

b. By user type (e.g. manager, tester), or

c. By stage in software engineering process (e.g. requirements, test).

14. What are the types of static testing tools?

There are three types of static testing tools.

(i) Code based testing tools – These tools take source code as input and generate test cases.

(ii) Specialized testing tools – Using this language the detailed test specification can be written for each

test case.

(iii) Requirement-based testing tools – These tools help in designing the test cases as per user

requirements.

38

Page 39: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

15. What is meant by Software project management? May 2006

Software project management is an activity of organizing, planning and scheduling software

projects.

16. What is meant by software measurement?

Software measurement means deriving a numeric value for an attribute of a software product or

process.

17. What is meant by software cost estimation? May 2010

The software cost estimation is the process of predicting the resources required for software

development process.

18. What is meant by CASE tools?

The computer aided software engineering tools automatic the project management activities,

manage all the work products. The CASE tools assist to perform various activities such as analysis,

design, coding and testing.

19. What is meant by Delphi method?

The Delphi technique is an estimation technique intended to active a common agreement for

estimation efforts.

20. What is meant by software evolution?

Software evolution is a process of managing the changes in the software.

21. Derive ZIP’s law.

ZIP’s first law of the form,

fr r = C (or) nr = Cn / r

C constant

r rank for tokens

fr frequency of occurrence

22. What is software configuration management (SCM)?

Software configuration management is the art of identifying, organizing, and controlling

modifications to the software being built by a programming team.

23. What is meant by risk management? Dec 2011

Risk management is an activity in which risks in the software projects are identified.

24. What is meant by software project scheduling?

Software project scheduling is an activity that distributes estimated effort across the planned

project duration by allocating the effort to specified software engineering tasks.

39

Page 40: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

25. Write about software change strategies.

The software change strategies that could be applied separately or together are:

(i) Software maintenance – The changes are made in the software due to requirements.

(ii) Architectural transformation – It is the process of changing one architecture into another form.

(iii) Software re-engineering – New features can be added to existing system and then the system is

reconstructed for better use of it in future.

16 Marks:

1. Explain the need for software measures and describe various metrics. (16) May 2003

2. Discuss briefly on software maintenance activities and how do you estimate the cost involved. (16)

Dec 2003, Dec 2005, May 2003

3. a) Explain in detail about the maintenance process.(8) May 2004, May 2005, May 2006

b) Discuss in detail about software evolution. (8) May 2005, Dec 2008

4. Describe two metrics which are used to measure the software in detail. Discuss clearly the advantages

and disadvantages of these metrics. (16)

5. a) What is Halsted’s software science metric. Define. (8) May 2006

b) Explain about function point metric in detail. (8) May 2006, Dec 2006

6. Write short notes on

a) Software maintenance (8)

b) Task scheduling with an example. (8) May 2006

7. Explain various cost estimation models and compare. (16)

8. Write briefly on

a) CASE tools (8) Dec 2004, May 2009

Computer Aided Software Engineering.

Business Process Engineering Tools, Process Modeling and Management Tools, Project Planning

Tools, Risk analysis tools, Project management tools, Requirement tracing tools, Metrics and

management tools, Documentation tools, System Software tools, Quality Assurance tools, Database

management tools, SCM tools, Analysis and design tools, PTO/SIM tools, Interface design and

development tools, Prototyping tools, Programming tools, Web development tools, Integration and

testing tools, Static analysis tools, Dynamic analysis tools, Test management tools, Client/server

tools, Re-engineering tools.

b) Software complexity measure. (8)

9. Explain the maintenance activities and maintenance problems. How the cost of maintenance is

estimated? (16)

40

Page 41: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

10. Write short notes on

a) COCOMO estimation criteria. (8) Dec 2005

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.

NOP=(object point)X[100-%reuse)/100]

NOP-New Object Point.

Productivity Rate, PROD=NOP/person-Month.

b) Software metrics (8)

11. a) Justify the statement “Software maintenance is costlier”. (8) May 2004

b) Discuss the concept of software maintenance process. (8) May 2005

Software maintenance is an activity in which program is modified after it has been put into use.

Maintenance is defined as the process in which changes are implemented by either modifying the existing

system‟ s architecture or by adding new components to the system.

Different aspects of maintenance

The bug-fixing view

The need-to-adapt view

The user-support view

Need for software maintenance

To provide continuity of service To support mandatory upgrades.

To support user requests for improvements.

To facilitate future maintenance work.

12. Explain about software cost estimation.

Major factors are:

Programme ability.

Product Complexity.

Product size. A

vailable time.

Required reliability.

13. Explain in detail about Delphi Method.

Procedure

41

Page 42: UNIT II - Yolasoftwarecse.yolasite.com/resources/CS2301 SOFTWARE ENGG... · Web viewWhich style of prototyping is most appropriate when the requirements are not well understood? May

The 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 the experts 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 prediction synthesized from experts.

42