Anda di halaman 1dari 41

JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

CS6403 SOFTWARE ENGINEERING


UNIT I
SOFTWARE PROCESS AND PROJECT MANAGEMENT
SYLLABUS: Introduction to Software Engineering, Software Process, Perspective and Specialized
Process Models – Software Project Management: Estimation – LOC and FP Based Estimation,
COCOMO Model – Project Scheduling – Scheduling, Earned Value Analysis - Risk Management.

COURSE OBJECTIVE: Able to compare different process models. Able to identify the key
activities in managing a software project.

PART-A

1. Define software engineering.(April/May 2011)


Software engineering is defined as “the application of a systematic, disciplined, quantifiable
approach to the development, operation, and maintenance of software; that is, the application of
engineering software”.

2. What are the objectives/goals of Software engineering? (April/May 2011)


 To improve quality of software products
 To increase customer satisfaction
 To increase productivity
 To increase job satisfaction

3. What are the characteristics of software?


 Software is engineered not manufactured
 Software does not wear out
 Most of the software is custom built rather being assembled form components

4. List out the activities of linear sequential model.


i. System/Information engineering modeling
ii. Requirement Analysis
iii. Design
iv. Coding
v. Testing
vi. Implementation & Maintenance

5. Mention the drawbacks of RAD Model.


i. It is useful only for larger projects.
ii. It is not appropriate when technical risks are high.
iii. The requirements may not converge in RAD Model.

6. Define Software Life Cycle.


 Requirement Analysis
 Design
 Coding
 Testing
 Implementation & Maintenance
II Year / IV Sem 1
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

7. Write any two software engineering challenges? (May/June 07)


Trust challenges
Heterogeneity challenge
Delivery time’s challenge

8. Define the term process in software engineering? (May/June 07) (May/June2012)


Software process is defines as the series of steps that are followed to build a product or
system.

9. What is a software process?


1 A set of activities whose goal is the development or evolution of software
2 Generic activities in all software processes are:
 Specification - what the system should do and its development constraints
 Development - production of the software system
 Validation - checking that the software is what the customer wants
 Evolution - changing the software in response to changing demands

10. Distinguish between verification and validation.(April/may2011)(May/June 2014)


Verification represents the set of activities that are carried out to confirm that the software correctly
implements the specific functionality. Validation represents the set of activities that ensure that the
software that has been built is satisfying the customer requirements.

11. Define Software Architecture. (Apr/May 08)


It serves as a design plan that is used to negotiate system requirements and as a means of structuring
discussions with the client, developers, and managers. It is a essential tool for complexity
management. It hides details and allows the designers to focus on the key system abstractions.

12. State the benefits of waterfall life cycle model for software development. (Apr/May 08)
1. Simple to understand
2. Each phase of development proceeds sequentially.
3. Allows managerial control where a schedule with deadlines is set for each stage of
development.
4. Helps in controlling schedules, budgets and documentation.

13. What are the fundamental activities of software process? (Nov/Dec 2008)
 Specification
 Design and implementation
 Validation
 Evolution

14. What is software process model?


A process model is defined as “a framework containing the processes, activities and tasks involved in
the development, operation and maintenance of a software product, spanning the life of the system
from the definition of its requirements to the termination of its use”.

II Year / IV Sem 2
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

15. What is Software?


Software is nothing but a collection of computer programs that are related documents that are
indented to provide desired features, functionalities and better performance.

16. What are the drawbacks of spiral model?


i. It is based on customer communication. If the communication is not proper then the software
product that gets developed will not be upto the mark.
ii. It demands considerable risk assessment.If the risk assessment is doneproperly then only the
successful product can be obtained.

17. Name the Evolutionary process Models.


i. Incremental model
ii. Spiral model
iii. WIN-WIN spiral model
iv. Concurrent Development

18. What are the functions of data architecture?


 It provides the information needed for a business function.
 Identify the data objects and their relationship.
 Eg: Customer Attributes: Company name
 Contact information
 Product information
 Past purchase

19. Define Verification &Validation.


 Verification: The set of activities that ensure that software correctly implements a
specific function.

 Validation: The set of activities that ensure that the software has been built is
traceable to customer requirements.

20. Give two reason why system engineers must understand the environment of a
system(Nov/Dec 2012)
 The reason for the existence of a system is to make some changes in its environment.
 The functioning of a system can be very difficult to predict.

21. Distinguish between spiral model and win win spiral model. (May/June 2013)
• Spiral:
Addresses Risk at every stage & let the stakeholders determine the outcome.
• Win/Win
Seeks ways to provide customer feedback through anchor points, manages risk for
management, and provides win conditions for developers.

22. What is software project Management? (NOV -2009)


The software project management is the art and science of planning and leading software projects. It
is a sub discipline of project management in which software project are planned monitored and
controlled.

II Year / IV Sem 3
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

23. What is LOC based estimation?


Lines of code (LOC), is a software metric used to measure the size of a computer program by
counting the number of lines in the text of the program's source code. SLOC is typically used to
predict the amount of effort that will be required to develop a program, as well as to estimate
programming productivity or maintainability once the software is produced.

24. What is FP based estimation?


Function point metrics provide a standardized method for measuring the various functions of a
software application. Function point metrics, measure functionality from the users point of view, that
is, on the basis of what the user requests and receives in return

25. What is COCOMO model?


The Constructive Cost Model (COCOMO) is an algorithmic software cost estimation model
developed by Barry W. Boehm. The model uses a basic regression formula with parameters that are
derived from historical project data and current as well as future project characteristics.

26. What isEarned Value Analysis?


It is a quantitative technique using which we can evaluate the performance of project and predict the
final results, for this we compare present progress and cost incurred to planned estimations. It is the
most comprehensive trend analysis technique.

27. What isSoftware project scheduling?


Software project scheduling distributes estimated effort across the planned project duration by
allocating the effort to specific tasks.

28. Write the process framework and umbrella activities. (Apr / May 2015)
Software process models can be prescriptive or agile, complex or simple, all-encompassing or
targeted, but in every case, five key activities must occur. The framework activities are applicable to
all projects and all application domains, and they are a template for every process model.
 Software project tracking and control.
 Risk management.
 Software Quality Assurance.
 Formal Technical Reviews.
 Software Configuration Management.
 Work product preparation and production.
 Reusability management.
 Measurement.

29. State the advantages and disadvantages in LOC based cost estimation.
(Apr / May 2015)
Advantages:
 A measure of the rate at which individual engineers involved in software development
produce software and associated documentation.
 Not quality-oriented although quality assurance is a factor in productivity assessment.
 Essentially, we want to measure useful functionality produced per time unit.
Disadvantages:
 Estimating the size of the measure (e.g. how many function points).
II Year / IV Sem 4
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

 Estimating the total number of programmer months that have elapsed.


 Estimating contractor productivity (e.g. documentation team) and incorporating this
estimate in overall estimate.
PART-B
1. What are the differences between system engineering & software engineering? State and explain
the stages that distinguish the two. (April/May 2008)(R)
2. What are the necessities of life cycle model? Elaborate on the various issues of software life
cycle. (April/May 2008)(April/May 2011)(R)
3. Explain in detail the following software process models with a neat diagram. (April/May 2008)
i. Incremental Process Model.(U)
ii. Evolutionary Process Model
4. Explain the spiral model. What are the task regions in the spiral model? How does the customer
wins by getting the system or product that satisfies the majority of the customer’s needs and the
developer wins by working to realistic and achievable budgets and deadline?(U)
5. Explain the system engineering hierarchy. What does a system engineering model
accomplish? What are the restraining factors to construct a system model? (May/June
2007)(Nov/Dec 2009)(U)
6. Explain the linear software life cycle model with suitable illustration. Bring out the demerits of
this model. (May/June 2007)(U)
7. For each of the types of process model, identify the types of project suitable toimplement.
(May/June 2007)(U)
8. Distinguish between verification and validation process. (May/June 2007)(U)
9. Explain Software Life Cycle .List all life cycle model and explain spiral model with neat
diagram(May/June 2012)(Nov/Dec 2008)(U)
10. Bring out clearly the salient features of waterfall model and spiral model. What are the specific
advantages and disadvantages of these two process
models?(Nov/Dec 2010)(R)
11. Describe waterfall, incremental, iterative waterfall, spiral model based on SLCS and compare.
(Nov/Dec 2012)(U)
12. Explain Project Scheduling?(U)
13. Explain FP based Estimation & LOC based Estimation?(U)
14. Explain Risk Management in detail?(U)
15. Discuss in detail about two evolutionary process models. (May/June 2014)(U)
16. Discuss about the classical waterfall process model. (May/June 2014)(U)
17. Explain the prototype paradigm in process models. (May/June 2014)(U)
18. Neatly explain the following process models and write their advantages and disadvantages. (Apr /
May 2015)(U)
i. Spiral model
ii. Rapid Application Development model
19. Discuss about the COCOMO models (Basic, Intermediate and Detailed) for cost estimation. (Apr
/ May 2015)(U)
20. Discuss the prototyping model. What is the effect of designing a prototype on the overall cost of
the software project?(Apr / May 2016)(U)
21. Describe the types of situations where iterative enhancement model might lead to
difficulties.(Apr / May 2016)(U)
22. Elucidate the key features of the software process models with suitable examples.(Apr / May
2016)€

II Year / IV Sem 5
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

23. What is the role of user participation in the selection of a life cycle model?(Apr / May 2016)(U)

COURSE OUTCOME:Students can able to identify the key activities in managing a software
project.

UNIT II
REQUIREMENTS ANALYSIS AND SPECIFICATION
SYLLABUS: Software Requirements: Functional and Non-Functional, User requirements, System
requirements, Software Requirements Document – Requirement Engineering Process: Feasibility
Studies, Requirements elicitation and analysis, requirements validation, requirements management-
Classical analysis: Structured system Analysis, Petri Nets- Data Dictionary.
COURSE OBJECTIVE:Ability to do requirements engineering and Analysis Modeling.

PART-A

1. What is functional requirement? (April/May2011)(Nov/Dec 2010)


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

2. What is nonfunctional requirement?(April/May 2011)(May/June2012)(Nov/Dec 2010)


These are constraints on the services or functions offered by the system. They include timing
constraints, constraints on the development process and standards. Non-functional requirements often
apply to the system as a whole. They do not usually just apply to individual system features or
services.

3. Define requirement engineering.


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. The overall process
includes four high-level requirements engineering sub-processes. These are concerned with assessing
whether the system is useful to the business (feasibility study); discovering requirements (elicitation
and analysis); converting these requirements into some standard form (specification); and checking
that the requirements actually define the system that the customer wants (validation)

4. What is System Requirements?


System requirements are expanded versions of the user requirements that are used by
software engineers as the starting point for the system design. They add detail and explain how the
user requirements should be provided by the system. They may be used as part of the contract for the
implementation of the system and should therefore be a complete and consistent specification of the
whole system.

5. Mention the notation for requirement specification.


 Structured natural language: Use standard form or Templates.
 Design description language: Programming language is used.
 Graphical notation: Text annotations are used.
 Mathematical Specifications: Based on finite state machines or sets.

II Year / IV Sem 6
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

6. What is the major distinction between user requirements and system requirements?
(Apr/May 08)
It is essential to write user requirements in a language that non-specialists can understand but
to write system requirements in a more specialized notation. System requirements are expanded
versions of the user requirements that are used by software engineers as the starting point for the
system design. They add detail and explain how the user requirements should be provided by the
system. They may be used as part of the contract for the implementation of the system and should
therefore be a complete and consistent specification of the whole system.

7. Which style of prototyping is most appropriate when the requirements are not
Well-understand? (Apr/May 08)
Throw-away prototyping
 A prototype which is usually a practical implementation of the system is produced to
help discover requirements problems and then discarded. The system is then
developed using some other development process.The objective of throw-away
prototyping is to validate or derive the system requirements. The prototyping process
starts with those requirements which are poorly understood.
 Used to reduce requirements risk
 The prototype is developed from an initial specification, delivered for experiment then
discarded
 The throw-away prototype should NOT be considered as a final system

8. Identify ambiguities or omissions in the functional requirements. What questions would you
ask to clarify these functional requirements? (Apr/May 08)
Is the requirement complete? (All facilities are included?)
Is the requirement consistent? (Conflicts)

9. What are the problems make elicitation difficult? (Apr/May 08)


 Stakeholders often don't know what they want from the computer system except in the
most general terms.
 Stakeholders naturally express requirements in their own terms and with implicit
knowledge of their own work
 Different stakeholders have different requirements, which they may express in
different ways
 Political factors may influence the requirements of the system
 The economic and business environment in which the analysis takes place is dynamic.

10. Why is it so difficult to gain a clear understanding of what the customer wants?
(Nov/Dec 07)
 Stakeholders often don't know what they want from the computer system except in the
most general terms.
 Stakeholders naturally express requirements in their own terms and with implicit
knowledge of their own work
 Different stakeholders have different requirements, which they may express in different
ways

II Year / IV Sem 7
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

11. List out the elements of analysis model. (May/June 07)


 Data Dictionary
 Entity Relationship Diagram
 Data Flow Diagram
 State Transition Diagram
 Control Specification
 Process specification

12. What are the characteristics of SRS?(May/June 2016)


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 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? This should be correctly
identified.

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

14. What is data modeling?


Data modeling is the basic step in the analysis modeling. In data modeling the data objects
are examined independently of processing. The data model represents how data are related with one
another.

15. What is the cardinality in data modeling?


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

16. Define data dictionary. (May/June 2013)


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.

17. Define software prototyping.(April/May 2011) (Nov/Dec 2010)


Software prototyping is defined as a rapid software development for validating the
requirements.Software prototyping is a method of creating a model for the software product. This is
developed based on the currently known requirements. Software prototyping helps in the better
understanding of the required system. It is applied for complicated and large systems. In software
prototyping, the customer defines a set of general objectives for the software, but does not identify
the real input, processing and output requirements.
The following are the benefits

II Year / IV Sem 8
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

 Misunderstandings between software users and developers are exposed


 Missing services may be detected and confusing services may be identified
 A working system is available early in the process
 The prototype may serve as a basis for deriving a system specification
 The system can support user training and system testing
 Improved system usability
 Closer match to the system needed
 Improved design quality
 Improved maintainability
 Reduced overall development effort

18. What are the advantages of software prototyping?


i. Prototype serves as a basis for deriving system specification.
ii. Design quality can be improved.
iii. System can be maintained easily.
iv. Development efforts may get reduced.
v. System usability can be improved.

19. What are the different kinds of software prototyping?


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

20. What are the various rapid prototyping approaches?


i. Dynamic high level language development.
ii. Database programming.
iv. Component and application assembly.

21. What is data object? What are its attributes?


Data object is a representation of almost any composite information that must be understood
by software. It is a collection of attributes that act as an aspect, characteristic,quality, or descriptor of
the object. Attributes are the one, which defines the properties of data object and take on one of three
different characteristics 1)name of an instance 2)describe the instance 3) make reference to another to
instance in another table.

22. What is meant by structured analysis?


It considers the data and the process that transform the data as separate entities. Data objects
are modeled in a way that defines their attribute and relationships. Process that manipulates data and
objects are modeled in a manner that shows how they transform data as data objects flow through the
system.

23. Define Modality.


Modality indicates whether or not a particular data object must participate in the relationship.
It is 0 if there are no relationship explicitly or optional. It is 1 if an occurrence of the relationship is
mandatory.

II Year / IV Sem 9
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

24. Define Behavioral Modeling.


It indicates how the software will respond to external events or stimuli. To create the model,
the analyst must perform the following steps
 Evaluate all use cases
 Identify the events that drive the interaction sequence
 Create a sequence for each use case
 Build a state diagram for the system
 Review the behavioral model to verify the accuracy and consistency

25. What is meant by Information flow continuity?


When we refine a fundamental model for a system, the information flow continuity must be
maintained .ie, input & output to each refinement must remain the same

26. What is meant by Data Dictionary?


The data dictionary can be defined as an organized collection of all the data elements of the
system with precise and rigorous definitions so that user and system analyst will have a common
understanding of inputs,outputs,components of stores and intermediate calculations

27. What is meant by Throw away Prototyping?


Throw-away prototyping – Using this approach a rough practical implementation of the system
is produced.
 Giving the user a system which is incomplete and then modifying and augmenting
it as the user requirements become clear.
 The objective is to validate or derive the system requirements.
 Start with those requirements that are not well understood since you need to find
more about them.
It is then discarded. System is then developed using some different engineering paradigm.

28. Define DFD.


Data Flow Diagram depicts the information flow and the transforms that
are applied on the data as it moves from input to output. Level0 DFD is called as ‘fundamental
system model’ or ‘context model’. In the context model the entire software system is represented by
a single bubble with input and output indicated by incoming and outgoing arrows.

29. State Entity/relationship Diagram.


The object/relationship pair is the cornerstone of the data model. These pairs can be
represented graphically using the entity/relationship diagram. The ERD was originally proposed by
Peter Chen for the design of relational database systems and has been extended by others. A set of
primary components is identified for the ERD: data objects, attributes, relationships, and various type
indicators. The primary purpose of the ERD is to represent data objects and their relationships. Data
objects are represented by a labeled rectangle. Relationships are indicated with a labeled line
connecting objects. In some variations of the ERD, the connecting line contains a diamond that is
labeled with the relationship. Connections between data objects and relationships are established
using a variety of special symbols that indicate cardinality and modality.

II Year / IV Sem 10
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

30. What is the purpose of Domain Analysis?


The goal of Domain analysis is to find or create those analysis classes and / or common functions
and features that are broadly applicable, so that they may be reused. The analyst should discover
and define reusable analysis patterns, analysis classes, and related information that may be used
by many people working on similar but necessarily the same application.

31. What is meant by System Requirements?


 Set out the system services and constraints in detail.
 Serves as a contract between the system buyer & the system developer.

32. What are the types of Software system requirements?


 Functional requirements: Services the system should provide.
 Non-functional requirements: Constraints on the services.
 Domain requirements: reflect characteristics of the domain.

33. Write down the functional requirement for a Library management system.
 The user should able to search either all of the initial set of databases or select a
subset of databases or select subset from it.The system shall provide appropriate viewers for the
user to read documents inthe document store.
 Every order shall be allocated a unique identifier.

34. Write down the SRC for “Add a node”?


 Function Add node
 Description Adds a node to an existing design.
 Inputs Node type, Node position, Design Identifier
 Source Node type, Node position user.Design identifier database
 Output Design identifier
 Precondition The design is open & displayed on the user’s screen
 Side effects None

35. State the primary objectives of analysis Model.


 To describe what the customer requires
 To establish a basis for the creation of a software design
 To define a set of requirements that can be validated once the software is built.

36. What does data dictionary contains?


 Name: The primary name of the data.
 Alias: other names used
 Where-used/How-used: A listing of processes that use the data or control item.
 Content description: A notation for representing the content
 Supplementary information: Other information like restrictions, limitations etc.
37. Write down the Data dictionary for the data item “Telephone Number”.
Names: Telephone number
Aliases: none
Where used/How used: assess against set-up
Description

II Year / IV Sem 11
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

Telephone number = [local number| long distance number]


Local number = prefix + access number
Long distance number = 1 + area code + local number
Area code = [800 | 888 | 561]
Prefix = * a three digit number that never starts with 0 or 1*

38. 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-ordinated manner.

39.What are the different types of traceability in software engineering?


 Source traceability – These are basically the links from requirement to stakeholders who
propose these requirements.
 Requirements traceability – These are links between dependent requirements.
 Design traceability – These are links from requirements to design.

40. Distinguish between inceptions, elicitation, and elaboration with reference to requirements.
(Nov/Dec 2012)
• 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
• Elicitation may be accomplished through two activities
– Collaborative requirements gathering
– Quality function deployment
• During elaboration, the software engineer takes the information obtained during inception and
elicitation and begins to expand and refine it.Elaboration focuses on developing a refined
technical model of software functions, features, and constraints.

41. What is Petri Net?


Petri net is a directed bipartite graph, in which the nodes represent transitions (i.e. events that
may occur, signified by bars) and places (i.e. conditions, signified by circles). The directed arcs
describe which places are pre- and/or post conditions for which transitions (signified by arrows).

42. What is the need for feasibility analysis? (Apr / May 2015)
The purpose of feasibility study is not to solve the problem, but to determine whether
the problem is worth solving. This helps to decide whether to proceed with the project or
not.The technical feasibility study compares the level of technology available in the
software development firm and the level of technology required for the development of
the product.Here the level of technology consists of the programming language, the
hardware resources, Other software tools etc.

43. How are requirements validated? (APR/MAY 2015)

II Year / IV Sem 12
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

It is desirable to detect errors in the requirements before the design and development of the software
begins. To check all the issues related to requirements, requirements validation is performed.

PART-B

1. Discuss in details about the elements in data modeling. (May/June 07)(C)


2. Explain the various prototyping methods and tools used for requirement analysis.
(May/June07)(U)
3. With a suitable example explain about the application of use cases in deriving the scenarios.
(May/June 07)(Ap)
4. Explain software prototyping. What are the various prototyping methods and tolls? (Nov/Dec
07)(May/June 2012)(April/May 2011)(R)
5. Explain with example diagram the functional and behavioral modeling. How do we model the
software’s reaction to some external event? (Nov/Dec 07)(Ap)
6. State and explain the requirements engineering tasks in detail. (Apr/May 08)(April/May
2011)(Nov/Dec 2010)(Ap)
7. Describe the primary differences between structured analyses and object oriented analysis.
(Nov/Dec 07)(U)
8. Write a detailed note on scenario based modeling. (Nov/Dec 07)(R)
9. Why is traceability an important aspect of requirements management? Why context system
models are useful for requirement validation? (Apr/May 07)(U)
10. Describe how Software requirements are documented? State the importance of
documentation.(U)
11. Differentiate functional and nonfunctional requirements and explain.(R)
12. Define Data dictionary. How the data dictionary is used? Explain in detail.(May/June
2012)(April/May 2011)(U)
13. Discuss any four process models with suitable application(Nov/Dec 2010)(R)
14. Describe the requirement engg process and how the requirements are managed. (Nov/Dec 2012)
15. Describe the functional and behavioral models for software requirements. (Nov/Dec 2012)(U)
16. Distinguish between functional and nonfunctional requirements. State and explain
nonfunctional requirements with neat sketch. (May/June 2013).(An)
17. Design a use case diagram for developing software for library mgmt system. (May/June 2013).
18. Explain viewpoints with illustrations. (May/June 2013).(U)
19. Discuss in detail about Requirement Engg Process. What are the major differences between user
requirements & system requirements? (May/June 2014)(Ap)
20. What are the components of the standard structure for the software requirement document?
Explain in detail. (May/June 2014)(R)
21. Write the SRS for the system of your choice. (May/June 2014)(U)
22. Write about the following requirement engineering activities. (Apr / May 2015)(U)
(i) Inception
(ii) Elicitation

II Year / IV Sem 13
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

(iii) Elaboration
(iv) Negotiation
(v) Specification
(vi) Validation
(vii) Requirements management.
23. Draw use case and data flow diagrams for a restaurant system. The activities of the restaurant
system are listed below. (Apr / May 2015)(C)
24. Explain the organization of SRS and highlight the importance of each subsection.(Apr / May
2016)(U)
25. Requirements analysis is unquestionably the most communication intensive step in the software
engineering process. Why does the communication path frequency breaks down?(Apr / May
2016)(U)
26. Differentiate between user and system requirements.(Apr / May 2016)(An)
27. Describe the requirements change management process in detail.(Apr / May 2016)(Ap)
COURSE OUTCOME: An Ability to compare different process models.

UNIT III
SOFTWARE DESIGN
SYLLABUS: Design process – Design Concepts-Design Model– Design Heuristic – Architectural
Design –Architectural styles, Architectural Design, Architectural Mapping using Data Flow- User
Interface Design: Interface analysis, Interface Design –Component level Design: Designing Class
based components, traditional Components.
COURSE OBJECTIVE:Able to apply systematic procedure for software design and deployment.

PART-A

1. What is the use of architectural design?


The Architectural design defines the relationship between major structuralelements of the software,
the “design patterns” that can be used, and the constraints thataffect the way in which architectural
design patterns can be applied. It also contributes
 Stakeholder communication
 System analysis
 Large-Scale reuse

2. Mention some of the design principles.


1. The design process should not suffer from “tunnel vision.” A good designer should consider
alternative approaches, judging each based on the requirements of the problem.
2. The design should be traceable to the analysis model.
3. The design should not reinvent the wheel. Systems are constructed using a set of design
patterns, many of which have likely been encountered before. These patterns should always
be chosen as an alternative to reinvention.
4. The design should “minimize the intellectual distance” between the software and the problem
as it exists in the real world.
5. The design should exhibit uniformity and integration. A design is integrated if care is taken in
defining interfaces between design components.
6. The design should be structured to accommodate change.

II Year / IV Sem 14
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

7. The design should be structured to degrade gently, even when aberrant data, events, or
operating conditions are encountered. It should be designed to accommodate unusual
circumstances, and if it must terminate processing, do so in a graceful manner.
8. The design should be assessed for quality as it is being created, not after the fact.
9. The design should be reviewed to minimize conceptual (semantic) errors.

3. Define Software Design.


Software design is an iterative process through which requirements are translated into a
“blueprint” for constructing the software. The design is represented at a high level of abstraction— a
level that can be directly traced to the specific system objective and more detailed data, functional,
and behavioral requirements. As design iterations occur, subsequent refinement leads to design
representations at much lower levels of abstraction. Design engineering encompasses the set of
principles, concepts, and practices that lead to the development of a high-quality system or product.

4. Define modular design.


Changes made during testing and maintenance becomes manageable and they do not affect
other modules.

5. Define Fan-in and fan-out.


Fan-out A measure of the number of modules that are directly controlled by another module.
Fan-in Indicates how many modules directly control a given module.

6. Why it is necessary to design the system architecture before the specification are
completed. (Apr/May 08)
 Representations of software architecture are an enabler for communication between all parties
(stakeholders) interested in the development of a computer-based system.
 The architecture highlights early design decisions that will have a profound impact on all
software engineering work that follows and, as important, on the ultimate success of the
system as an operational entity.
 Architecture “constitutes a relatively small, intellectually graspable model of how the system
is structured and how its components work together”.

7. Define design process.


Design process is a sequence of steps carried through which the requirements are translated
into a system or software model.

8. List out the principles of software design.


i. The design process should not suffer from “tunnel vision”.
ii. The design should be traceable to the analysis model.
iii. The design should exhibit uniformity and integration.
iv. Design is not coding.
v. The design should not reinvent the wheel.

9. What is the benefit of modular design?


Changes made during testing and maintenance becomes manageable and they do not affect
other modules.

II Year / IV Sem 15
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

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

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

12. List the guidelines of 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.

13. Name the commonly used architectural styles.(Nov/Dec2010)


i. Data centered architecture.
ii. Data flow architecture.
iii. Call and return architecture.
iv. Object-oriented architecture.
v. Layered architecture.

14. What is 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.

15. Define Software Architecture.


Software Architecture refers to “overall structure of the software and the ways in which that
structure provides conceptual integrity for a system”. The architectural design can be represented
using one or more of a number of different models. They are:
i. Structural models represent architecture as an organized collection of program components.
ii. Dynamic model address the behavioral aspect of the program architecture.
iii. Process models focus on the design of the business or technical process that the system must
accommodate.
iv. Functional models can be used to represent the functional hierarchy of a system.

16. Define interface design.


User-Interface design is the design of the computers, appliances, machines with the focus on
the user’s experience and interaction. The goal of the user-interface design is to make the user’s

II Year / IV Sem 16
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

interaction as simple and efficient as possible, in terms of accomplishing user goals. It is also called
as user-centered design.
Careful user interface design is an essential part of the overall software design process.
The user interface design guidelines are:
1. User Familiarity – The interface should use terms and concepts drawn from the experience
of the people who will make most use of the system.
2. Consistency – The interface should be consistent in that, comparable operations should be
achieved in the same way.
3. Minimal Surprise – Users should never be surprised by the behavior of the system.
4. Recoverability – The interface should include mechanisms to allow users to recover from
errors.
5. User guidance – The interface should provide meaningful feedback when errors occur and
provide context-sensitive user help facilities.
6. User diversity – The interface should provide appropriate interaction facilities for different
types of system users.

17. What is design pattern?


A design pattern describes a design structure that solves a particular design problem within a
specific context and amid forces that may have an impact on the manner in which the pattern is
applied and used.

18. Why is architecture important?


It is a representation that enables a software engineer to (1) analyze the effectiveness of the
design in meeting its stated requirements, (2) consider architectural alternatives at a stage when
making design changes is still relatively easy, and (3) reducing the risks associated with the
construction of the software.(4)Representations of software architecture are an enabler for
communication between all parties (stakeholders) interested in the development of a computer-based
system.(5)The architecture highlights early design decisions that will have a profound impact on all
software engineering work that follows and, as important, on the ultimate success of the system as an
operational entity.(6)Architecture “constitutes a relatively small, intellectually graspable model of
how the system is structured and how its components work together”.

19. Define archetype.


An archetype is a class or pattern that represents a core abstraction that is critical to the
design of architecture for the target system. In general, a relatively small set of archetypes is required
to design even relatively complex systems. The target system architecture is composed of these
archetypes, which represent stable elements of the architecture but may be instantiated in many
different ways based on the behavior of the system. In many cases, archetypes can be derived by
examining the analysis classes defined as part of the analysis model.

20. Define use case.


A use-case captures the interactions that occur between producers and consumers of
information and the system itself. The concept of a use-case is relatively easy to understand –
describe a specific usage scenario in straightforward language from the point of view of a defined
actor. It describes the manner in which the actor interacts with the system.

II Year / IV Sem 17
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

21. What are the different techniques for user interface design?
User analysis
System Prototyping
Interface Evaluation

22. What is the different quality attributes?


Functionality: It is assessed by evaluating the feature set and capabilities of the program, the
generality of the functions that are delivered, and the security of the overall system.
Usability: It is assessed by considering human factors, consistency and documentation.
Reliability: It is evaluated by measuring the frequency and severity of failure, the accuracy
of output results and the ability to recover from failure.
Performance: It is measured by processing speed, response time, resource consumption,
throughput and efficiency.
Supportability: It combines the ability to extend the program, adaptability and serviceability.

23. What is functional independence?


Functional independence is achieved by developing modules with singular function and the
modules avoiding interaction with other modules unnecessarily. Independence is assessed by two
qualitative criteria:
1. Cohesion
2. Coupling
Cohesion is an indication of the relative functional strength of a module. A cohesive module
performs a single task, requiring little interaction with other components in other parts of a program.
Coupling is an indication of interconnection among modules in a software structure. It depends on
the interface complexity between modules. High cohesion implies low coupling.

24. State Procedural abstraction.


A Procedural abstraction is a named sequence of instructions that has a specificand limited
function. Eg: Open Walk to the door, reach out & grasp the knob, turn knob & pull doorStep away
from moving door.

25. What does Data abstraction contains?


A Data abstraction is a named collection of data that describes a data object Eg: door
Attributes: door type, Swing direction, Opening mechanism, weight.

26. What does Modularity concept mean? (Nov/Dec 2008)


Software architecture embodies modularity i.e.Software is named in to addressable
components called modules, that are integrated finally.
C(P1+P2) > C(P1) + C(P2)
The perceived complexity of a problem that combines p1 7p2 is greater than perceived complexity
when each problem is considered separately.
27. Mention some of the criteria’s used to define effective modular design.
 Modular decomposability
 Modular Composability
 Modular Understandability
 Modular Continuity.
 Modular protection

II Year / IV Sem 18
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

28. Differentiate horizontal partitioning & vertical partitioning.


Horizontal partitioning vertical partitioning
1. Defines separate branches of the 1.The Control & work should be
Modular Hierarchy for each each distributed top-down in the program
major program function structure.
2. Propagation of fewer side-effects 2.Higher probability of side effects.
3. Software is easier to maintain 3.susceptible to side effects when
Changes are made.

29. Write down the concept of Functional independence.


 Functional independence is achieved by developing modules with “single minded” function
and an “aversion” to excessive interaction with other modules.
 Independent modules, is easier to develop because function may be compartmentalized,&
interfaces are simplified.
 Independent modules are easier to maintain.

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

31. What are the different types of Cohesion?


i. Coincidentally cohesive –The modules in which the set of tasks are related with each other
loosely then such modules are called coincidentally cohesive.
ii. Logically cohesive – A module that performs the tasks that are logically related with each
other is called logically cohesive.
iii. Temporal cohesion – The module in which the tasks need to be executed in some specific
time span is called temporal cohesive.
iv. Procedural cohesion – When processing elements of a module are related with one
another and must be executed in some specific order then such module is called procedural
cohesive.
v. Communicational cohesion – When the processing elements of a module share the data
then such module is called communicational cohesive.

32. What is coupling?


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

33. What are the various types of coupling?


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.
34. State Procedural abstraction.
A Procedural abstraction is a named sequence of instructions that has a specific and limited
function.E.g.: Open Walk to the door, reach out & grasp the knob, turn knob & pull door Step away
from moving door.

II Year / IV Sem 19
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

35. What does Data abstraction contains?


A Data abstraction is a named collection of data that describes a data object Eg: door
Attributes: door type, Swing direction, Opening mechanism, weight.

36. What does Modularity concept mean?(Nov/Dec 2009)


Software architecture embodies modularity i.e., Software is named in to addressable
components called modules, that are integrated finally.
C(P1+P2) > C(P1) + C(P2)
The perceived complexity of a problem that combines p1 7p2 is greater than perceived complexity
when each problem is considered separately.

37. What is the work product of software design process and who does this?
A design model that encompasses architectural, interface, component level and their
representations is the primary work product that is produced during software design.
Software engineers conduct each of the design tasks.

38. What are the benefits of horizontal partitioning?


i. Software that is easy to test.
ii. Software that is easier to maintain.
iii.Propagation of fewer sideeffects.
iv. Software that is easier to extend.

39. What is vertical partitioning?


Vertical partitioning often called factoring suggests that the control and
work should be distributed top-down in program structure.

40. What are the advantages of vertical partitioning?


i. These are easy to maintain changes.
ii. They reduce the change impact and error propagation.

41. List out design methods (May/June 2012)


Functional decomposition
Data Flow Design

42. Define data acquisition (May/June 2012)


Data acquisition systems are commonly used in scientific experiments and process control
systems where physical processes, such as a chemical reaction, happen very quickly.

43. What is meant by real time system design? (April/May 2011)


A real-time system is a software system where the correct functioning of the system depends
on the results produced by the system and the time at which these results are produced. It is broadly
classified as:
A ‘soft’ real-time system is a system whose operation is degraded if results are not produced
according to the specified timing requirements
A ‘hard’ real-time system is a system whose operation is incorrect if results are not produced
according to the timing specification.

II Year / IV Sem 20
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

44. List four design principles of a good design (April/May 2011)


 The design must implement all of the explicit requirements contained in the analysis model, and
it must accommodate all of the implicit requirements desired by the customer.
 The design must be a readable, understandable guide for those who generate code and for those
who test and subsequently support the software.
 The design should provide a complete picture of the software, addressing the data, functional,
and behavioral domains from an implementation perspective.

45. How does u apply modularization criteria for a monolithic software? (Nov/Dec 2012)
In software engineering, a monolithic application describes a software application which is
designed without modularity. Modularity is desirable, as it supports reuse of parts of the application
logic and also facilitates maintenance by allowing repair or replacement of parts of the application
without requiring wholesale replacement.
Modularity is achieved to various extents by different modularization approaches. Code based
modularity allows developers to reuse and repair parts of the application, but development tools are
required to perform these maintenance functions (e.g. the application may need to be recompiled).
Object based modularity provides the application as a collection of separate executable files which
may be independently maintained and replaced without redeploying the entire application (e.g.
Microsoft "dll" files, Sun/UNIX "shared object" files).

46. What are the design quality attributes FURPS meant? (May/June 2013)
FURPS is an acronym representing a model for classifying software quality attributes (functional
and non-functional requirements):
 Functionality - Capability (Size & Generality of Feature Set), Reusability (Compatibility,
Interoperability, Portability), Security (Safety & Exploitability)
 Usability (UX) - Human Factors, Aesthetics, Consistency, Documentation, Responsiveness
 Reliability - Availability (Failure Frequency (Robustness/Durability/Resilience), Failure
Extent & Time-Length (Recoverability/Survivability)), Predictability (Stability), Accuracy
(Frequency/Severity of Error)
 Performance - Speed, Efficiency, Resource Consumption (power, ram, cache, etc),
Throughput, Capacity, Scalability
 Supportability (Serviceability, Maintainability, Sustainability, Repair Speed) - Testability,
Flexibility (Modifiability, Configurability, Adaptability, Extensibility, Modularity),
Installability, Localizability

47. List the major user interface design principles. (May/June 2013)
 User Familiarity
 Consistency
 Minimal Surprise
 Recoverability
 User guidance
 User diversity

48. What are the types of Interface Design Elements?


 User Interfaces
 External Interfaces
 Internal Interfaces.
II Year / IV Sem 21
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

49. What are the basic design principles of Class-Based Components?


 Open-Closed Principle [OCP]
 Liskov Substitution Principle (LSP]
 Dependency Inversion Principle [DIP]
 Interface Segregation Principle [ISP]
 Release Reuse Equivalency Principle [RREP]
 Common Closure Principle ICCPI
 Common Reuse Principle ICRPI.

50. Draw the diagram to demonstrate the architectural styles. (APR/MAY 2015)

Fig: data centered architecture

Fig: Data flow architecture

Fig: Layered architecture


II Year / IV Sem 22
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

51. List down the steps to be followed for user interface design. (APR/MAY 2015)
 Identification of user, task, and environmental requirements.
 User scenarios are created and analyze to design set of interface objects and actions.
 These form the basis for the creation of screen layout that depicts graphical design and
placement of icons, definition of descriptive screen text, specification and titling for
windows, and specification of major and minor menu items.
 Tools are used to prototype and ultimately implement the design model, and the result is
evaluated for quality.

PART B

1. Illustrate and explain the importance of modularity based on observation of human problem
solving. (Nov/Dec 07)(An)
2. Describe transform and transactional mapping by applying design steps to an example
system. (Nov/Dec 07)(Ap)
3. Explain the fundamental software design concepts in detail. (Apr/May 08)(U)
4. What are the different types of architectural styles exist for software and explain any one
software architecture in details. (Apr/May 08)(R
5. Explain the user interface design activities. (Apr/May 08)(U)
6. Explain the basic concepts of software design(April/May 2011)(U)
7. Explain real time software design with an example.(may/june 2012)
8. Explain task analysis and modeling.(Nov/Dec 2009)
9. List and brief about Ten usability Heuristics design(may/june 2012)(R)
10. Explain the core activities involved in User Interface design process with necessary block
diagrams(Nov/Dec 2010)(U)
11. Explain the various modular decomposition and control style commonly used in any
organizational model(Nov/Dec 2010)(U)
12. With relevant examples discuss the types of cohesion(Nov/Dec 2008)(U)
13. With relevant examples discuss the types of coupling(Nov/Dec 2008)(U)
14. Discuss about software architecture design with emphasis far in , far out coupling,cohesion
and factoring. (Nov/Dec 2012)(U)
15. What are the characteristics of a good User Interface design process. (Nov/Dec 2012).(R)
16. What are the major design issues in User Interface design process. Design with neat sketches.
(May/June 2013)(R)
17. Explain why a software system used in real world environment must change or become
progressively less useful. (May/June 2013)(U)
18. Explain in detail about any four architectural styles. (May/June 2014)(U)
19. Explain the various coupling and cohesion methods used in software design.
(Apr / May 2015)(U)
20. For a case study of your choice show the architectural and component design. (Apr / May
2015)
21. Write short notes on the following (Apr / May 2016)(U)
I. Design heuristics
II. User interface design
III. Component level design
IV. Data/Class design

II Year / IV Sem 23
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

22. What is modularity? State its importance and explain coupling and cohesion. (Apr / May
2016)(R)
23. Discuss the differences between object oriented and function oriented design. (Apr / May
2016)(Ap)

COURSE OUTCOME:Students can able to Concepts of requirements engineering and Analysis


Modeling.
UNIT IV
TESTING AND IMPLEMENTATION

SYLLABUS: Software testing fundamentals-Internal and external views of Testing-white box


testing - basis path testing-control structure testing-black box testing- Regression Testing – Unit
Testing – Integration Testing – Validation Testing – System Testing And Debugging – Software
Implementation Techniques: Coding practices-Refactoring.
COURSE OBJECTIVE:Able to compare and contrast the various testing and maintenance.

PART-A

1. What is software testing?


Testing is a set of activities that can be planned in advance and conducted systematically on
the software for the successful construction of the software. Software testing is a critical element of
software quality assurance and represents the ultimate review of specification, design, and coding.
Testing is a process of executing a program with the intend of finding an error. A good test case is
one that has high probability of finding an undiscovered error. A successful test is one that uncovers
as an-yet undiscovered error.

2. Explain the difference between black box testing and white box testing.
(April/May 2008)(Nov/Dec 2009)
Black box testing is also called as Behavioral testing. It focuses on the functional requirements of the
software. It enables the software engineer to derive sets of input conditions that will fully exercise all
functional requirements for a program.
Black box testing attempts to find errors in the following categories. They are:
Incorrect or missing function
Interface errors
Errors in data structures
Behavior or performance errors
Initialization and termination errors.
White Box Testing
 It is also called as glass-box testing.
 It is a test case design that uses the control structure described as part of the component level
design to derive test cases.

3. What are the objectives of testing?


i. Testing is a process of executing a program with the intend of finding an error. A good test
case is one that has high probability of finding an undiscovered error.
ii. A successful test is one that uncovers as an-yet undiscovered error.

II Year / IV Sem 24
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

4. Why testing is important with respect to software?


A testing process focuses on logical internals of software ensuring that all statements have
been tested and all are functional externals. While testing, we execute the entire program before it
gets to the customer with specific indent of finding and removing all errors. In order to find the
highest number of errors, test must be conducted systematically and test cases must be designed
using disciplined techniques.

5. What are the testing principles the software engineer must apply whileperforming 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.

6. 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 is integrated to create a system or sub-system is done. These tests
are based on the system specification.

7. What are the various testing activities?


i. Test planning
ii. Test case design
iii. Test execution
iv. Data collection
v. Effective evaluation

8. What are the attributes of a Good Test?


 A good test has a high probability of finding an error.
 A good test is not redundant.
 In a group of tests that have a similar intent, time and resource, the test that has the
highest likelihood of uncovering a whole class of errors should be used.
 A good test should be neither too simple nor too complex. Each test should
be executed separately

9. What are the Characteristics of Testing?


1) Testing begins at the component level and works outward toward the integration ofthe
entire computer-based system.
2) Different testing techniques are appropriate at different points in time,
3) Testing is conducted by the developer of the software and an independent test group.
4) Testing and debugging are different activities, but debugging must be accommodatedin
any testing strategy.

II Year / IV Sem 25
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

10. Write short note on black box testing.


The black box testing is also called as behavioral testing. This method fully focuses on the
functional requirements of the software. Tests are derived that fully exercise all functional
requirements.

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

12. 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. Here instead of focusing on input conditions only, the test cases are derived
from the output domain.

13. What are the reasons behind to perform white box testing?
There are three main reasons behind performing the white box testing.
1. Programmers may have some incorrect assumptions while designing or implementing some
functions. Due to this there are chances of having logical errors in the program. To detect and correct
such logical errors procedural details need to be examined.
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.

14. What is cyclomatic complexity?


Cyclomatic complexity is a software metric that gives the quantitative measure of logical
complexity of the program.
The Cyclomatic complexity defines the number of independent paths in the basis set of the program
that provides the upper bound for the number of tests that must be conducted to ensure that all the
statements have been executed at least once.

15. How to compute the cyclomatic complexity?


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.

16. Distinguish between verification and validation.(Nov/Dec 2010) (May/June 2014)


Verification refers to the set of activities that ensure that software correctly implements a
specific function.

II Year / IV Sem 26
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

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?”

17. What are the various testing strategies for conventional software?
i. Unit testing
ii. Integration testing.
iii. Validation testing.
iv. System testing.

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

19. What are the approaches of integration testing?


The integration testing can be carried out using two approaches.
1. The non-incremental testing.(Big-bang)
2. Incremental testing.
 Top-down integration
 Bottom –up integration
 Regression testing
 Smoke testing

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


Advantages: 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. After performing testing, it is impossible to form an integrated
system.

21. What are the benefits of smoke testing?


 Integration risk is minimized.
 The quality of the end-product is improved.
 Error diagnosis and correction are simplified.
 Assessment of program is easy.

22. What are the conditions exists after performing validation testing?
After performing the validation testing there exists two conditions.
 The function or performance characteristics are according to the specifications and are
accepted.
 The requirement specifications are derived and the deficiency list is created. The deficiencies
then can be resolved by establishing the proper communication with the customer.

23. Distinguish between alpha and beta testing.


Alpha and beta testing are the types of acceptance testing.

II Year / IV Sem 27
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

Alpha test: The alpha testing is attesting in front of developer. This testing is performed at
developer’s site. It is conducted in a controlled environment.
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. I cannot be
controlled by the developer. It is a “live application “of the software.

24. What are the various types of system testing?


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.
4. Performance testing – evaluates the run time performance of the software, especially real-time
software.

25. Define Debugging (Nov/Dec2009)


Debugging is defined as the process of removal of defect when a test case uncovers an error.
It occurs as a consequence of successful testing. The following are some general guidelines for
effective debugging.
l. Debugging requires a through understanding of the program design
2. Debugging may sometimes even require full redesign of the system.
3. One must be very clear of the possibility that any one error correction
Debugging will always have one of two outcomes:
1.The cause will be found and corrected
2.The cause will not be found.

26. What are the common approaches in debugging?


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.

27. What is Unit Testing?


Unit testing focuses verification effort on the smallest design – software component or
module. It is under taken when a module has been coded and successfully reviewed. Using the
component. level design description as a guide, important control paths are tested to uncover errors
with in the boundary of the modules. The unit test is white-box oriented and the step can be
conducted in parallel for multiple components.

28. What is Recovery Testing?


Recovery Testing is a system test that forces the software to fail in different conditions and
verifies that recovery is properly performed. Many computer systems must recover from faults and
resume processing within a prespecified time. (eg.) fault tolerant systems. If the recovery is
automatic, reinitialization, check pointing mechanisms, data recovery and. restart are evaluated for
correctness. If recovery requires human intervention, the mean-time-to-repair (MTTR) is evaluated
to determine whether it is within acceptable limits).

II Year / IV Sem 28
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

29. What is Security Testing?


Security testing attempts to verify that protection mechanisms built into a system. Any
computer based system that manages sensitive information or causes actions that can improperly
harm individuals is a target for improper or illegal penetration. (e.g.) hackers who attempt to
penetrate system for sport for personal gain).

30. What is Stress Testing? (May/June 2012)


Stress testing is also known as endurance testing. Stress testing evaluates system performance
when it is stressed for short periods of time. Stress tests are designated to confront programs with
abnormal situations), Stress testing executes a system in 'a manner that demands resources in
abnormal quantity, frequency or volume. for example (1) special tests may be designed that generate
ten interrupts per sec~ when one or two is the average rate.
(2) Input data rates may be increased by an order of magnitude to determine how input functions
will respond.
(3) test cases that .require maximum resources
(4) test cases that may cause 'thrashing in a virtual operating system
(5) Test cases that may cause excessive hunting for disk-resident data' are created)

31. What is performance Testing?


Performance testing is carried out to check whether the system meets the non-functional
requirements identified in the SRS document. AII performance tests can be considered as black box
tests. Performance testing is designed to test the run-time performance of software within the context
of an integrated system' Performance tests are often coupled with stress testing and usually require
both hardware and software instrumentation. External instrumentation can monitor execution
intervals, log events (e.g. Interrupting as they Occur and sample machine states on a regular basis. By
Instrumenting at the tester can uncover situations that lead to degradation and possible system failure

32. What are the Steps in Integration Testing Process?


The integration process is performed in five steps as follows:
1. The main control module is used as a test driver and stubs are substituted for all components.
2. Depending on depth or breadth first approach, subordinate stubs are replaced one at a time with
actual components.
3. Tests are conducted as each component is integrated.
4. On completion of each set of tests, another stub is replaced with the real component
5. Regression testing maybe conducted to ensure that new errors have not been introduced.

33. What is Integration Testing? (April/May 2011)


The primary objective of integration testing is to test the module interfaces in order to ensure
that there are no errors in the parameter passing, when one module involves another module.
Integration testing is a systematic technique for. Constructing the program structure while at the
same time conducting tests to uncover errors associated with interfacing.

34. Distinguish between stress and load testing. (May/June 2012)


Stress TestIt is designed to break a software module. This type of testing determines
the strength and limitations of software.
Load testing is subjecting a system to a statistically representative (usually) load. The two
main reasons for using such loads is in support of software reliability testing and in performance

II Year / IV Sem 29
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

testing. The term "load testing" by itself is too vague and imprecise to warrant use. For example, do
you mean representative load," "overload," "high load," etc. In performance testing, load is varied
from a minimum (zero) to the maximum level the system can sustain without running out of
resources or having, transactions suffer (application-specific) excessive delay.

35. What is project planning.(may/june2012)


Project planning is a discipline for stating how to complete a project within a certain
timeframe, usually with defined stages, and with designated resources.

36. What is regression testing (April/May 2011)


The intent of regression testing is to rerun automatically some tests for a software whenever a
slight change to the product has been made. .
There are two main activities of regression testing.
1. Capturing a test for replay. The rule is that one goes for a suite of strong tests.
2. Comparing new outputs with old ones to make sure that there are no unwanted changes.

37. What is big bang approach? (Nov/Dec 2012)


In this approach, all or most of the developed modules are coupled together to form a
complete software system or major part of the system and then used for integration testing. The Big
Bang method is very effective for saving time in the integration testing process.

38. What is difference between validation testing goals and acceptance testing goals?
(May/June 2013)
 In validation testing, the test team seeks to ensure that each software function or performance
characteristic conforms to itsspecification.
 In acceptance testing, the test team needs to ensure that the software works correctly for the
intended user in his or her normal work environment.

39. What is refactoring?


Code refactoring is "a disciplined way to restructure code", undertaken in order to improve
some of the nonfunctional attributes of the software. Advantages include improved code readability
and reduced complexity.

40. What are the common approaches in debugging?


The common approaches tin debugging are:
 Brute force method: The memory dumps and run- time tracks are examined and program
with write statements in loaded to obtain clues to error causes.
 Back tracking method: The source code is examined by looking backwards from symptom
to potential causes or errors.
 Causes eliminations method: This method uses binary partitioning to reduce the number of
location where errors can exists.

41. What is the need for regression testing? (APR/MAY 2015)


 Each time a new module is added as part of integration testing, the software changes. New
data flow paths are established, new I/O may occur, and new control logic is invoked. These
changes may cause problems with functions that previously worked flawlessly. Regression

II Year / IV Sem 30
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

testing helps to ensure that changes (due to testing or for other reasons) do not introduce
unintended behavior or additional errors.
 Regression testing may be conducted manually, by re-executing a subset of all test cases or
using automated capture/playback tools.

42. Write the best practices for coding. (APR/MAY 2015)


 Best coding practices are a set of informal rules that the software development community
has learned over time which can help improve the quality of software.
 Before coding starts, it is important to ensure that all necessary prerequisites have been
completed. If the various prerequisites are not satisfied then the software is likely to be
unsatisfactory, even if it is completed.
 Must follow the common coding standards like commenting, simple coding, and portability.
PART B
1. Why is it so important to include boundary values in your black-box test data? Illustrate with
examples in which a test suite developed using black box techniques might give the impression
that “everything is Ok”, while a test suite developed with white box testing techniques(for
example, branch coverage) might uncover a fault and vice versa. (Apr/May 08)(April/May
2011)(U)
2. Explain in detail the various testing strategies. (Apr/May 08) (may/june 2012)(Nov/Dec2008)
3. Why is testing important? Narrate the path testing procedure in detail with a sample code.
(May/June 07)(U)
4. Distinguish between black box and white box testing. Explain the different integration testing
approaches. (May/June 07)(E)
5. Explain the various types of black-box testing methods. (Nov/Dec 07) (May/June 2013)(U)
6. Explain the steps applied to derive the basis set. Use an example to illustrate each step in the test
case design. (Nov/Dec 07)(U)
7. Describe the testing objectives and its principles. (Apr/May 08)(Nov/Dec 2009)(Ap)
8. Explain the basis path testing in detail. (Apr/May 08)(U)
9. What are the attributes of a good test? Explain the test case design. (Apr/May 08)(R)
10. Explain in detail about alpha and beta testing. (Apr/May 08)(U)
11. What are the metrics used for estimating cost? Discuss in detail about COCOMO model in cost
estimation of the software. (May/Jun 07)(R)
12. Discuss about categories of data flow orientation in testing(May/June 2012)(U)
13. What is unit testing? Why is it important? Explain the unit test considerations and test
procedure. (April/May 2011)(U)
14. What is white box testing? Explain how basis path testing helps to derive test cases to test every
statement of a program(Nov/Dec2010) (Nov/Dec 2012)(U)
15. Define regression? Distinguish top-down and bottom-up integration? How is testing different
from debugging? Justify?(Nov/Dec 2010)(R)
16. Describe the software implementation techniques and debugging guidelines. (Nov/Dec 2012)
17. Distinguish between validation and verification. Explain which is difficult to perform.
(May/June 2013)(An)
18. Explain in detail about integration testing. (May/June 2014)(U)
19. Explain in detail about Basis path testing. (May/June 2014)(U)
20. Describe the various black box and white box testing techniques. Use suitable examples for your
explanation. (Apr / May 2015)(Ap)

II Year / IV Sem 31
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

21. Discuss about the various Integration and Debugging strategies followed in software
development. (Apr / May 2015)(U)
22. State the need for refactoring. How can a development model benefit by the use of refactoring?
(Apr / May 2016)(U)
23. Why does software testing need extensive planning? Explain. (Apr / May 2016)(U)
24. Compare and contrast alpha and beta testing. (Apr / May 2016)(An)
25. Consider a program for determining the previous date. Its input is a triple of day, month and
year with the values in the range 1<=month<=12, 1<=day<=31, 1990<=year<=2014. The
possible outputs would be previous date or invalid input date. Design the boundary value test
cases. (Apr / May 2016)(E)

COURSE OUTCOME:An ability to apply systematic procedure for software design and
deployment.

UNIT V
PROJECT MANAGEMENT

SYLLABUS: Estimation – FP Based, LOC Based, Make/Buy Decision, COCOMO II - Planning –


Project Plan, Planning Process, RFP Risk Management – Identification, Projection, RMMM -
Scheduling and Tracking –Relationship between people and effort, Task Set & Network, Scheduling,
EVA – Process and Project Metrics.
COURSE OBJECTIVE:Able to identify the key activities in managing a software project.

PART-A

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 two ways in which measurement can be used?


To make general predictions about a system. By measuring the characteristics of system
components and then aggregating these measurements, you can derive a general estimate of some
system attribute such as the number of faults in the system.
To identify anomalous components. Measurements can identify individual components
whose characteristics deviate from some norm. For example, you can measure components to
discover those with the highest complexity and, assuming these are likely to have more errors,
concentrate on these components during the review process.

4. What is Software Measurement Process?


A software measurement process that may be part of a quality control process is Each of the
components of the system is analyzed separately, and the values of the metric compared both with
each other and, perhaps, with historical measurement data collected on previous projects. Anomalous

II Year / IV Sem 32
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

measurements should be used to focus the quality assurance effort on components that may have
quality problems.

The key stages in this process are:

5. What are the characteristics of software measurement?


 Object of measurement
 Purpose measurement
 Source of measure
 Measured property
 Context of Measurement

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

7. What are the advantages and disadvantages of size measure?


Advantages: Artifact of software development which is easily counted.
Many existing methods use LOC as a key input.
A large body of literature and data based on LOC already exists.
Disadvantages:
This method is dependent upon the programming language.
This method is well designed but shorter program may get suffered.
It does not accommodate non procedural languages.
In early stage of development it is difficult to estimate LOC.

8. 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 use their
experience to predict software costs.
Estimation by analogy – The cost of a project is computed by comparing the project to a similar
project in the same application domain and then cost can be computed.

II Year / IV Sem 33
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

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.

9. 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.
Effort=a * KDLOC *bWhere a and b are two parameters of the model whose specific values are
selected upon the class of the software system.

10. Give the procedure of the Delphi method.


1. The co-ordinator presents a specification and estimation form to each expert.
2. Co-ordinator 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-ordinator prepares and distributes a summary of the estimates.
5. The Co-ordinator then calls a group meeting. In this meeting the experts mainly discuss the
points where their estimates vary widely.
6. The experts again fill out forms anonymously.
7. 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.

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

12. What is EVA?


Earned Value Analysis is a technique of performing quantitative analysis of the software
project.It provides a common value scale for every task of software project.It acts as a measure for
software project progress.

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

14. Why software change occurs?


Software change occurs because of the following reasons.
New requirements emerge when the software is used.
The business environment changes.
Errors need to be repaired.
New equipment must be accommodated.
The performance or reliability may have to be improved.

II Year / IV Sem 34
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

15. Write about software change strategies.


The software change strategies that could be applied separately or together are:
Software maintenance – The changes are made in the software due to requirements. Architectural
transformation – It is the process of changing one architecture into another form.
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. What is software maintenance?


Software maintenance is an activity in which program is modified after it has been put into
use. Changes to the software are made in response to changed requirements but the
fundamental structure of the software remains stable.

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

18. What are the types of software maintenance?


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.

19. What is architectural evolution?


Architectural evolution is the process of changing a system from a centralized architecture to
a distributed architecture like client server.

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

21. What are the types of static testing tools?


There are three types of static testing tools.
Code based testing tools – These tools take source code as input and generate test cases.
Specialized testing tools – Using this language the detailed test specification can be written for each
test case.
Requirement-based testing tools – These tools help in designing the test cases as per user
requirements.

22. What is Parkinson’s Law?


Parkinson’s Law states that work expands to fill the time available. The cost is determined by
available resources rather than by objective assessment.

23. Define Brooks’s law.


Software was delivered late, was unreliable, cost several times the original estimates and often
exhibited poor performance characteristics.

II Year / IV Sem 35
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

24. State Lehman’s First law.


A program that is used in real world environment necessarily must change or become
progressively less useful in that environment.

25. What is architectural transformation?


This is a more radical approach to software change then maintenance as it involves making
significant changes to the architecture of the software system.

26. What is software re-engineering? (Nov/Dec 2011)


No functionality is added to the system. Rather, the system is modified to make it easier to
understand and change. System re-engineering may involve some structural modifications but does
not usually involve major change.

27. What is SCM?


Software Configuration Management is a set of activities carried out for identifying,
organizing and controlling changes throughout the lifecycle of computer software.

28. What is Version Control?


Version controlcombines procedures and tools to manage different versions of configuration
objects that are created during the software process. Clemm describes version control in the context
of SCM: Configuration management allows a user to specify alternative configurations of the
software system through the selection of appropriate versions. This is supported by associating
attributes with each software version, and then allowing a configuration to be specified [and
constructed] by describing the set of desired attributes. These "attributes" mentioned can be as simple
as a specific version number that is attached to each object or as complex as a string of Boolean
variables (switches) that indicate specific types of functional changes that have been applied to the
system

29. How can we ensure that the change has been properly implemented?
The answer is twofold: (1) formal technical reviews and (2) the software configuration audit.
The formal technical review focuses on the technical correctness of the configuration object that has
been modified.

30. How do I compute earned value to assess progress?


To determine the earned value, the following steps are performed:
1. The budgeted cost of work scheduled(BCWS) is determined for each work task represented in the
schedule. During the estimation activity, the work (in person-hours or person-days) of each software
engineering task is planned. Hence, BCWSi is the effort planned for work task i. To determine
progress at a given point along the project schedule, the value of BCWS is the sum of the BCWSi
values for all work tasks that should have been completed by that point in time on the project
schedule.
2. The BCWS values for all work tasks are summed to derive the budget at completion, BAC. Hence,
BAC = _ (BCWSk) for all tasks k
3. Next, the value for budgeted cost of work performed (BCWP) is computed. The value for BCWP
is the sum of the BCWS values for all work tasks that have by a point in time on the project schedule.
A cynic might recall the saying: “The first 90 percent of a system takes 90 percent of the time. The
last 10 percent of the system takes 90 percent of the time.”

II Year / IV Sem 36
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

Earned value provides a quantitative indication of progress.

31. Write about the types of project plan.


Quality plan – This plan describes the quality procedures and standards that will be used in a
project.
Validation plan – This plan describes the approach, resources and schedule required for system
validation.
Configuration management plan – This plan focuses on the configuration management procedures
and structures to be used.
Maintenance plan – The purpose of maintenance plan is to predict the maintenance requirements of
the system, maintenance cost and efforts required.
Staff development plan – This plan describes how to develop the
Skills and experience of the project team members.

32. Define Milestones and Deliverables


A milestone is a recognizable end-point of a software process activity. At each milestone,
there should be a formal output, such as a report, that cansmanagement. Milestone reports need not
be large documents. Indefinite milestones such as ‘Coding 80% complete' that can't be checked are
useless for project management.
A deliverable is a project result that is delivered to the customer. It is usually delivered at the end of
some major project phase such as specification or design. Deliverables are usually milestones, but.
milestones need not be deliverables.

33. What are the broad Categories of Risks?


 Project Risk
 Product Risk
 Business Risk

34. What are the Stages involved in Risk Management Process?(Nov/Dec 2010)
 Risk Identification
 Risk Analysis
 Risk Planning
 Risk Monitoring

35. What are the Types of Risks?


Technology risksRisks that derive from the software or hardware technologies that are used to
develop the system.
People risksRisks that are associated with the people in the development team
Requirements risks Risks that derive from changes to the customer requirements and the process of
managing the requirements change
Organizational risksRisks that derive from the organizational environment where the software is
being developed.
Tools risksRisks that derive from the CASE tools and other support software used to develop the
system.
Estimation Risks Risks that derive from the management estimates of the system characteristics

II Year / IV Sem 37
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

36. Define CASE.


CASE provides the software engineer with the ability to automate manual activities and to
improve engineering insight. Like computer-aided engineering and design tools that are used by
engineers in other disciplines, CASE tools help to ensure that quality is designed in before the
product is built. Computer aided software engineering can be as simple as a single tool that supports
a specific software engineering activity or as complex as a complete "environment" that encompasses
tools, a database, people, hardware, a network, operating systems, standards, and myriad other
components. Each building block forms a foundation for the next, with tools sitting at the top of the
heap.

37. What is the difference between organic mode and embedded mode in COCOMO
model? (April/May 2011)
Organic. We can consider a development project to be of organic type,
 if the project deal with developing a well-understood application program,
 the size of the development team reasonably small,
 The team members are experienced in developing similar types of projects.
Embedded. A development project is considered to be of embedded type,
 if the software being developed is strongly coupled to complex hardware, or
 If stringent regulations on the operational procedures exist.

38. Define error, fault, and failure? (Nov /Dec 2010)


 Fault: It is a condition that causes the software to fail to perform its required function.
 Error: Refers to difference between Actual Output and Expected output.
 Failure: It is the inability of a system or component to perform required function according
to its specification.

39. How software risks are assessed? (Nov/Dec 2012)


Once risks have been identified, they must then be assessed as to their potential severity of
impact and to the probability of occurrence. These quantities can be either simple to measure, in the
case of the value of a lost building, or impossible to know for sure in the case of the probability of an
unlikely event occurring. Therefore, in the assessment process it is critical to make the best educated
decisions in order to properly prioritize the implementation of the risk management plan.

40. Name the static product metrics and their purpose. (May/June 2013)
1. Process measurementAttributes of the current project or the product are measured. The aim is to
improve the measures according to the goals of the organization involved in process improvement.
2. Process analysisthe current process is assessed, and process weaknesses and bottlenecks are
identified. Process models that describe the process are usuallydeveloped during this stage.
3. Process changeChanges to the process that have been identified during analysis are introduced.

41.What is software project Management? (NOV -2009)


The software project management is the art and science of planning and leading software
projects. It is a sub discipline of project management in which software project are planned
monitored and controlled.

42. List out the basic principles of software project scheduling?


 Compartmentalization

II Year / IV Sem 38
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

 Interdependency
 Tune Allocation
 Effort Validation
 Defined Responsibilities
 Defined Outcomes
 Defined Milestones.

43. What is LOC based estimation?


Lines of code (LOC), is a software metric used to measure the size of a computer program
by counting the number of lines in the text of the program's source code. SLOC is typically used to
predict the amount of effort that will be required to develop a program, as well as to estimate
programming productivity or maintainability once the software is produced.

44. What is FP based estimation?


Function point metrics provide a standardized method for measuring the various functions of
a software application. Function point metrics, measure functionality from the users point of view,
that is, on the basis of what the user requests and receives in return

45. What is COCOMO model?


The Constructive Cost Model (COCOMO) is an algorithmic software cost estimation
model developed by Barry W. Boehm. The model uses a basic regression formula with parameters
that are derived from historical project data and current as well as future project characteristics.

46. What isEarned Value Analysis?


It is a quantitative technique using which we can evaluate the performance of project and
predict the final results, for this we compare present progress and cost incurred to planned
estimations. It is the most comprehensive trend analysis technique.

47.What isSoftware project scheduling?


Software project scheduling distributes estimated effort across the planned project duration
by allocating the effort to specific tasks.

48. What is Make/Buy decision?


The act of choosing between manufacturing a product in-house or purchasing it from an
external supplier. In a make-or-buy decision, the two most important factors to consider are cost and
availability of production capacity.

49. Highlight the activities in project planning. (APR/MAY 2015)


Software project management begins with a set of activities that are collectively called project
planning. The activities of project planning are listed below.
 Establish project scope.
 Determine feasibility.
 Analyze risks
 Define required resources.
 Estimate cost and effort.
 Develop a project schedule

II Year / IV Sem 39
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

50. State the importance of scheduling activity in project management. (APR/MAY 2015)
In order to build a complex system, many software engineering tasks occur in parallel, and
the result of work performed during one task may have a profound effect on work to be conducted in
another task. These interdependencies are very difficult to understand without a schedule. It’s also
virtually impossible to assess progress on a moderate or large software project without a detailed
schedule.

PART-B

1. What are the metrics used for estimating cost? Discuss in detail about the COCOMO model in cost
estimation of the software. (An)
2. Write short notes on:
(a) CASE tools
(b) Data Structure quality Index. (Nov/Dec 2009)(R)
3. Explain various cost estimation models and compare. (U)
4. Write briefly on(U)
(i) CASE
(ii) Software complexity measure.
5. (a) How to compute a task set selector value for a project? Explain with suitable illustration. (R)
(b) How to track the schedule for the project? Explain in detail.(R)
6. (a) Describe about software equation. (Ap)
(b) Describe about the constructive cost model in detail. (Nov/Dec 2009)
7. Explain the various measures of Software(U).
8. Define Software Cyclomatic Complexity? How it can be calculated?(R)
9. Explain how Software cost estimation can be achieved using Function point model?
(Nov/Dec 2012)(U)
10. Explain the COCOMO model in detail. (Nov/Dec 2012) (May/June 2014)(U)
11. Explain Delphi method of cost estimation. (U)
12. (a) Brief about 3D function point measures. (R)
(b) How to measure quality and defect removal efficiency (DRE).
13. (a) Brief about taxonomy of case tools. (R)
(b) State ZIPE’S law.
14. Explain the following:
i. SCM Repository.
ii. SCM Process (April/May 2008)(Nov/Dec 2009)(U)
15. Explain SCM Terminology. How is SCM organized? State its function. (April/May 2008)(U)
16. Explain about configuration management and Software maintenance?(April/May 2011)(Nov/Dec
2008)(U)
17. Explain version and release management.(U)
18. Explain change management.(U)
19. Explain CMMI process improvement framework.(U)
20. Explain software measurement in detail.(U)
21. Brief about calculating Earned value measures(May/June 2012)(U)
22. Define Disk. Explain its four major categories(May/June 2012)(R)
23. Explain the various CASE tools for project management and how they are useful in achieving the
objectives(April/May 2011)(U)
24. Mention the challenges of risk management(Nov/Dec 2010)(Ap)

II Year / IV Sem 40
JEPPIAAR SRR ENGINEERING COLLEGE DEPARTMENT OF IT

25. Explain the methods of decomposition for software cost estimation(Nov/Dec 2010)(U)
26. Write short notes on PERT, CPM for scheduling RMMP,ESTIMACS and Software maintenance
cost. (Nov/Dec 2012)(U)
27. Discuss in detail various issues in quality assurance and standards. (May/June 2013)(U)
28. Describe the details of quality planning and quality control. (May/June 2013)(Ap)
29. Elaborate software configuration management. (May/June 2013)(U)
30. What are the categories of software risk? Give an overview about risk management in detail.
(May/June 2014) (R)
31. State the need for Risk Management and explain the activities under Risk management. (Apr /
May 2015)(U)
32. Write short notes on the following. (Apr / May 2015)(U)
i. Project scheduling
ii. Project timeline chart and task network.
33. Write short notes on (May/June 2016)(U)
i. Make/buy decision
ii. COCOMO II
34. An application has the following: 10 low external inputs, 8 high external outputs, 13 low internal
logical files, 17 high external interface files, 11 average external inquires and complexity
adjustment factor of 1.10. What are the unadjusted and adjusted function point counts?
(May/June 2016)(An)
35. Discuss Putnam resources allocation model. Derive the time and effort equations. (May/June
2016)(U)
COURSE OUTCOME:Students can able to Compare and contrast the various testing and
maintenance.

II Year / IV Sem 41