Upload
phungthu
View
213
Download
1
Embed Size (px)
Citation preview
Subject Name :SOFTWARE ENGINEERING Subject Code: CS 2301Academic Year : 2014 - 2015 Semester : VName of the Faculty :M.MADAN MOHAN
UNIT I
SOFTWARE PRODUCT AND PROCESS
2 Marks:
1. What is software engineering? May 2009, Dec 2009
Software engineering is a discipline in which theories, methods and tools are applied to develop
professional software.
2. What is Software? Dec 2008
Software is nothing but a collection of computer programs that are related documents that are
indented to provide desired features, functionalities and better performance.
3. What are the characteristics of the software?
Software is engineered, not manufactured.
Software does not wear out.
Most software is custom built rather than being assembled from components.
4. What are the various categories of software?
System software
Application software
Engineering/Scientific software
Embedded software
5. What are the challenges in software?
Copying with legacy systems, Heterogeneity challenge, Delivery times challenge.
6. Define software process. Distinguish between process and methods. May 2005, May 2004
Software process is defined as the structured set of activities that are required to develop the
software system.
Method is mainly in object oriented programming which refers to a piece of code that is
exclusively associated with a class or with an object.
7. What are the fundamental activities of a software process?
1
Specification, Design and implementation, Validation, Evolution
8. What are the umbrella activities of a software process? Or
Write down the generic process framework that is applicable to any software project. Dec 2010
The phases and related steps described in our generic view of software engineering are
complemented by a number of umbrella activities. Typical activities in this category include:
Software project tracking and control
Formal technical reviews
Software quality assurance
Software configuration management
Document preparation and production
Reusability management
Measurement
Risk management
9. What are the merits of incremental model?
i) The incremental model can be adopted when there is less number of people involved in the project.
ii) Technical risks can be managed with each increment.
iii) For a very small time span, at least core product can be delivered to the customer.
10. List the task regions in the Spiral model.
Customer communication: Suggested to establish customer communication.
Planning: All planning activities are carried out
Risk analysis: The tasks required to calculate technical and management risks.
Engineering: Tasks required to build one or more representations of applications
Construct and release: Tasks required to construct, test and install the applications
Customer evaluation: Tasks are performed and implemented at installation stage based on the
customer evaluation.
11. What are the drawbacks of spiral model?
It is based on customer communication. If the communication is not proper then the software
product that gets developed will not be the up to the mark.
It demands considerable risk assessment. If the risk assessment is done properly then only the
successful product can be obtained.
Cost involved in this model is usually high.
It is a complicated approach especially for projects with a clear SRS.
Skills required evaluating and reviewing project from time to time, need expertise.
2
Rules and protocols should be followed properly to effectively implement this model. Doing so,
through-out the span of project is tough.
Due to various customizations allowed from the client, using the same prototype in other projects,
in future, is difficult.
It is not suitable for low risk projects.
Meeting budgetary and scheduling requirements is tough if this development process is followed.
Amount of documentation required in intermediate stages makes management of project very
complex affair.
12. What is System Engineering? Dec 2008
System Engineering focuses on a variety of elements, analyzing, designing, and organizing those
elements into a system that can be a product, a service, or a technology for the transformation of
information or control.
13. List the process maturity levels in SEIs CMM. May 2006
Level 1: Initial - Few processes are defined and individual efforts are taken.
Level 2: Repeatable – To track cost schedule and functionality basic project management
processes are established.
Level 3: Defined – The process is standardized, documented and followed.
Level 4: Managed – Both the software process and product are quantitatively understood and
controlled using detailed measures.
Level 5: Optimizing – Establish mechanisms to plan and implement change.
14. What is an effectors process? Dec 2005
The effectors process is a process that verifies itself. The effectors process exists in certain
criteria.
15. Define system and computer based system. Dec 2007
System: Purposeful collection of inter-related components working together to achieve some
common objectives.
Computer based system: A set or an arrangement of elements that are organized to accomplish
some predefined goal by processing information.
16. Distinguish between verification and validation.
May 2005, December 2007, May 2008, May 2009, December 2011
3
S.No Verification Validation
1
Verification refers to the set of
activities that ensure that software
correctly implements a specific
function.
Validation refers to a different set of activities
that ensure that the software that has been built is
traceable to the customer requirements.
2 Are we building the product right? Are we building the right product?
3After a valid and complete
specification, verification starts.Begins as soon as project starts.
4Conducted to ensure whether
software meets its specification.
Conducted to show that the user requirements are
getting satisfied.
17. List the goals of software engineering. May 2011
To produce a high-quality system, application, or product.
To improve the ease with which changes can be accommodated and reduce the amount of effort
expended when changes must be made
18. What are the steps followed in testing?
1) Unit testing: The individual components are tested in this type of testing.
2) Module testing: Related collection of independent components are tested.
3) Sub-system testing: Various modules are integrated into a subsystem and the whole subsystem
is tested.
4) System testing: The whole system is tested in this system.
5) Acceptance testing: This type of testing involves testing of the system with customer data.
19. What is the use of CMM?
Capability Maturity Model is used in assessing how well an organization’s processes allow to
complete and manage new software projects.
20. Name the Evolutionary process Models.
i. Incremental model
ii. Spiral model
iii. WIN-WIN spiral model
iv. Concurrent Development
21. What is meant by Software engineering paradigm?
The development strategy that encompasses the process, methods and tools and generic
phases is often referred to as a process model or software engineering paradigm.
4
22. What are the various elements for computer based system? Dec 2008
Software, Hardware, People, Database, Documentation, Procedures.
23. Define dynamic verification?
Dynamic verification is performed during the execution of software and dynamically checks its
behavior.
24. Define static verification?
Static verification is a process to check some requirements of software doing a physical inspection
of it. Example: software metric calculation.
25. What are two types of software products? May 2012
(i) Generic: These products are developed and to be sold to the range of different customers.
(ii) Custom: These products are developed and to be sold to the specific group of customers and
developed as per their requirements.
26. Is it always possible to realist win-win model for software? Dec 2012
Not possible. Because in this type of spiral model, customer communication is important for
obtaining the requirements for the project. If communication is not proper, then the software product
gets developed will not be upto the mark. In reality, the negotiation between customer and developer
occurs. If this negotiation is successful, then both sides WIN otherwise not.
27. Why software architecture is important in software process? May 2005
Communication among stakeholders. Use as a basis for mutual understanding, negotiation,
consensus, and communication.
Early design decisions. Software architecture manifests the earliest design decisions about a
system, and these early bindings carry weight far out of proportion to their individual gravity with
respect to the system's remaining development, its deployment, and its maintenance life. It is also
the earliest point at which design decisions governing the system to be built can be analyzed.
Transferable abstraction of a system. Software architecture constitutes a relatively small,
intellectually graspable model for how a system is structured and how its elements work together,
and this model is transferable across systems. In particular, it can be applied to other systems
exhibiting similar quality attribute and functional requirements and can promote large-scale re-
use.
28. Write a brief note on waterfall model. May 2004
or
State the advantages and drawbacks of waterfall model.
or
What are the potential advantages of adhering to life cycle models for software?
5
May 2008, May 2009, May 2006, December 2004, May 2009, November 2012, December 2012.
Classical model of software engineering, one of the oldest models and is widely used in
government projects and in many major companies. As this model emphasizes planning in early stages, it
ensures design flaws before they develop. In addition, its intensive document and planning make it work
well for projects in which quality control is a major concern. It is used when requirements are well
understood in the beginning and also called as classic life cycle.
Advantages:
Disciplined approach
Careful checking by the Software Quality Assurance Group at the end of each phase.
Testing in each phase.
Documentation available at the end of each phase.
Drawbacks:
It is difficult to respond to changing customer requirements.
Therefore, this model is only appropriate when the requirements are well-understood and
changes will be fairly limited during the design process.
Few business systems have stable requirements.
The waterfall model is mostly used for large systems engineering projects where a system
is developed at several sites.
The customer must have patience. A working version of the program will not be available
until late in the project time-span
Feedback from one phase to another might be too late and hence expensive.
29. What are the Strengths and Weakness of Prototyping model? Dec 2006
Strengths:
Requirements can be set earlier and more reliably
Customer sees results very quickly.
Customer is educated in what is possible helping to refine requirements.
Requirements can be communicated more clearly and completely
When prototype is shown to the user, he gets a proper clarity and 'feel' of the functionality of the
software and he can suggest changes and modifications.
When client is not confident about the developer's capabilities, he asks for a small prototype to be
built. Based on this model, he judges capabilities of developer.
Sometimes it helps to demonstrate the concept to prospective investors to get funding for project.
It reduces risk of failure, as potential risks can be identified early and mitigation steps can be
taken.
6
Iteration between development team and client provides a very good and conductive environment
during project.
Time required to complete the project after getting final the SRS reduces, since the developer has
a better idea about how he should approach the project.
Weaknesses:
Requires a rapid prototyping tool and expertise in using it–a cost for the development
organization
Smoke and mirrors - looks like a working version, but it is not.
Prototyping is usually done at the cost of the developer. So it should be done using minimal
resources. It can be done using Rapid Application Development (RAD) tools. Please note
sometimes the start-up cost of building the development team, focused on making prototype, is
high.
Once we get proper requirements from client after showing prototype model, it may be of no use.
That is why, sometimes we refer to the prototype as "Throw-away" prototype.
It is a slow process.
Too much involvement of client, is not always preferred by the developer. Too many changes can
disturb the rhythm of the development team.
30. What are the phases encompassed in the RAD model? Dec 2007
Business modeling, Data modeling, Process modeling, Application generation Testing and
turnover
31. Explain about the business, data and process modeling.
Business modeling:
• What information drives the business process?
• What information is generated?
• Who generates it?
Data Modeling:
• The information flow defined as part of the business modeling phase is refined into a set
of data objects that are needed to support the business.
• The characteristics ( called attributes) of each object are identified and the relationships
between these objects are defined
Process modeling:
• The data modeling phase are transformed to achieve the information flow necessary to
implement a business function.
• Processing descriptions are created for adding , modifying, deleting, or retrieving a data
7
Object.
32.Define software process model.
It is an abstract representation of a process. It presents a description of a process from some particular
perspective.
33. State the advantages and drawbacks of RAD. May 2005
Advantages
Extremely short development time.
Uses component-based construction and emphasis reuse and code generation
Quick initial reviews occur
Encourages customer feedback
Integration from very beginning solves a lot of integration issues.
Disadvantages
Large human resource requirements (to create all of the teams).
Requires strong commitment between developers and customers for “rapid-fire”
activities.
High performance requirements maybe can’t be met (requires tuning the components).
Depends on strong team and individual performances for identifying business requirements.
Only system that can be modularized can be built using RAD
Requires highly skilled developers/designers.
High dependency on modeling skills
Inapplicable to cheaper projects as cost of modeling and automated code generation is very high.
34. List out the advantages of Spiral Model.
Focuses attention on reuse options.
Focuses attention on early error elimination.
Puts quality objectives up front.
Integrates development and maintenance.
Provides a framework for hardware/software Development.
Most flexible SDLC models in place. Development phases can be determined by the project
manager, according to the complexity of the project.
Project monitoring is very easy and effective. Each phase, as well as each loop, requires a review
from concerned people. This makes the model more transparent.
Risk management is one of the in-built features of the model, which makes it extra attractive
compared to other models.
8
Changes can be introduced later in the life cycle as well. And coping with these changes isn’t a
very big headache for the project manager.
Project estimates in terms of schedule, cost etc become more and more realistic as the project
moves forward and loops in spiral get completed.
It is suitable for high risk projects, where business needs may be unstable.
A highly customized product can be developed using this.
36. What is meant by blocking states in linear sequential model? Dec 2006
Classic life cycle leads to “blocking states” in which some project team members must wait for
other members of the team to complete dependent tasks. In fact, the time spent waiting can exceed the
time spent on productive work! The blocking state tends to be more prevalent at the beginning and end of
a linear sequential process.
37. Define the term product and process in software engineering. May 2007
Product is a standalone entity that can be produced by the developmental organization and sold on
the open market to any customer who is able to buy them. It consists of computer programs, procedures
and associated documentation.
Process is the structured set of activities that are required to develop software system. Activities
include Specification, Design and Implementation, Validation and Evolution.
38. Which process model leads to software reuse? Why? Dec 2007
Object oriented model is used for software reuse because this model is based on the incremental
development of the software product. This can be done on one or more iterations.
39. Define Business Process Engineering. Dec 2010
The goal of business process engineering (BPE) is to define architectures that will enable a
business to use information effectively.
One of the approach for creating an overall plan for implementing the computing architecture
40. Give two reasons why system engineers must understand the environment of a system? May 2012
(i) Reason for the existence of the system is it becomes easy to make changes (if required) in its
environment.
(ii) If the system environment is understood then the functioning of a system can be predicted.
41. What is the goal of product engineering?
To translate the customer’s desire for a set of defined capabilities into a working product.
42. When to use RAD model:
RAD should be used when there is a need to create a system that can be modularized in 2-3
months of time.
9
It should be used if there’s high availability of designers for modeling and the budget is high
enough to afford their cost along with the cost of automated code generating tools.
RAD SDLC model should be chosen only if resources with high business knowledge are
available and there is a need to produce the system in a short span of time (2-3 months).
16 Marks:
1. Explain iterative waterfall and spiral model for software life cycle and discuss various activities in
each phase. (16). May 2003, May 2006, Dec 2004, Dec 2008, May 2005, May 2004
Iterative waterfall model
• Requirement gathering phase in which all requirements are identified.
• The deign phase is responsible for creating architectural view of the software.
• The implementation phase in which the software design is transformed into coding.
• Testing is a kind of phase in which the developed software component is fully tested.
• Maintenance is an activity by which the software product can be maintained.
Spiral Model
• The spiral model is divided into number of frame works. These frameworks are denoted by task regions.
• Usually there are six task regions. In spiral model project entry point axis is defined.
• The task regions are: Customer communication Planning Risk analysis. Engineering. Construct and
release. Customer evaluation.
Drawbacks • It is based on customer communication.
• It demands considerable risk assessment.
2. List several software process paradigms. Explain how both waterfall model and prototyping model
can be accommodated in the spiral process model. (16)
3. a) Which is more important-the product or process? Justify your answer. (4)
b) Identify the umbrella activities in software engineering process. (4)
c) With suitable illustration explain SPIRAL model evolutionary software development (8)
4. Explain System Engineering Process in detail. Dec 2007, Dec 2008
System engineering process follows a waterfall model for the parallel development of different parts of the
system.
Usually follows a ‘waterfall’ model because of the need for parallel development of different parts of the
system. There is a little scope for iteration between phases because hardware changes are very expensive.
Software may have to compensate for hardware problems. Inevitably involves engineers from different
disciplines who must work together.
10
5. Write short notes on Business Process Engineering overview and Product Engineering overview?
Dec 2007, May 2009
BUSINESS PROCESS ENGINEERING:
Defines architectures that will enable a business to use information effectively. It involves the
specification of the appropriate computing architecture and the development of the software architecture for
the organization's computing resources. There are three different architectures must be analyzed and
designed within the context of business objectives and goals,
PRODUCT ENGINEERING:
Translates the customer's desire for a set of defined capabilities into a working product. It achieves this
goal by establishing product architecture and a support infrastructure. Product architecture components
consist of people, hardware, software, and data. Support infrastructure includes the technology required to tie
the components together and the information to support the components.
6. Explain about the incremental model. Dec 2002, May 2006
Have same phases as the waterfall model.
Phases are Analysis, Design, Code, Test.
Incremental model delivers series of releases to customers called as increments.
The first increment is called as core product. Here only the document processing facilities are available.
Second increment, more sophisticated document producing and processing facilities are available.
Next increment spelling and grammar checking facilities are given.
Merits
This model can be adopted when there is less number of people involved in the project.
Technical risks can be managed with each increment.
For a very small time span, at least core product can be delivered to the customer.
RAD Model
Rapid Application Development Model is the type of incremental model.
Achieves the high speed development using component based construction.
Phases
Business modeling
Data modeling
Process modeling
Application generation.
Testing and turnover.
11
7. Explain in detail about the software process.
It is defined as the structured set of activities that are required to develop the software system.
Fundamental activities
Specification, Design and implementation, Validation, Evolution
Common Process Framework
Process framework activities
Communication Planning Modeling Construction Deployment.
Task Sets
Defines the actual work to achieve the software objective.
Umbrella activities
Software project tracking and control, Risk management, Software quality assurance, Formal technical
reviews, Software configuration management, Work product preparation and production Reusability
management, Measurement.
Capability Maturity Model(CMM)
Level 1:Initial – Few processes are defined and individual efforts are taken.
Level 2:Repeatable – To track cost schedule and functionality basic project management processes are
established.
Level 3:Defined – The process is standardized, documented and followed. Level 4:Managed – Both
the software process and product are quantitatively understood and controlled using detailed measures.
Level 5:Optimizing – Establish mechanisms to plan and implement change.
8. Explain in detail about the life cycle process.
System requirements definition
Three types of requirements
Abstract functional requirements. System properties.
Undesirable Characteristics. System objectives
System requirement problem.
The system design process
Process steps
Partition requirements, Identify sub-systems, Assign requirements to sub-systems, Specify sub-system
functionality, Define sub-system interfaces, Requirement Definition definition, System Design, Sub-system
Design System, Integration System, System evolution, System Installation
Sub-System development process
After system design it starts.
12
Involve use of COTS (Commercial-Off-The-Shelf).
System Integration
It is the process of putting hardware, software and people together to make a system.
System Installation
Issues are
Environmental assumptions may be incorrect.
There may be human resistance to the introduction of anew system. System may have to coexist with
alternative systems for some period.
There may arise some physical installation problems (e.g. cabling problem). Operator training has to be
identified.
System evolution
The lifetime of large systems is too long. They must evolve to meet change requirements.
The evolution may be costly.
System Decommissioning
Taking the system out of service after its useful lifetime is called as System Decommissioning.
13
UNIT II SOFTWARE REQUIREMENTS
2 Marks:
1. What is requirement engineering? May 2006, May 2009
Requirement engineering is the process of establishing the services that the customer requires from the system
and the constraints under which it operates and is developed.
2. Write distinct steps in requirement engineering process. Or
What does requirement process involve? May 2006, May 2012
Requirements elicitation
Requirements analysis
Requirements validation
Requirements management
3. Distinguish between the terms inception, elicitation and elaboration with reference to requirements?
Inception: During inception, the requirements engineer asks a set of questions to establish a basic
understanding of the problem, the people who want a solution, the nature of the solution that is desired, the
effectiveness of preliminary communication and collaboration between the customer and the developer.
Elicitation: Eliciting requirements is difficult because of problems of scope, problems of understanding what
is wanted, what the problem domain is, and what the computing environment can handle and problems of
volatility because the requirements change over time
Elaboration: During elaboration, the software engineer takes the information obtained during inception and
elicitation and begins to expand and refine it.
Focuses on developing a refined technical model of software functions, features, and constraints
4. What are the various types of traceability in software engineering?
i. Source traceability – These are basically the links from requirement to stakeholders
ii. Requirements traceability – These are links between dependant requirements.
iii. Design traceability – These are links from requirements to design.
5. What is meant by prototyping?
Creating a demo of a new system. Prototyping is essential for clarifying information requirements. The design
of a system (functional specs) must be finalized before the system can be built. While analytically-oriented
people may have a clear picture of requirements, others may not.
6. Define software prototyping. May 2004, May 2009, Dec 2010
Software prototyping is defined as a rapid software development for validating the requirements. Use of
system prototypes is to help customers and developers to understand the system requirements.
14
7. What are the benefits of prototyping? Dec 2009
Eliminates ambiguities and improve accuracy in interpretation of system requirements and functionality
Ensures that the solution does what it is supposed to do - not what the developer thinks it ought to do, or
how Simply provides an insight or overview of a system (eg look and feel of the user interface), or to focus on
a component part in detail but possibly in isolation (eg stand alone rather than integrated)
Helps to identify and address problems early on (eg missing, confusing or misunderstood features)
5. What are the prototyping approaches in software process? May 2006
Evolutionary prototyping:
The initial prototype is prepared and it is then refined through number of stages to final stage
To deliver working system to the end-user
Process starts with well understood requirements
It must be developed for the systems where the systems where specifications cannot be developed in
advance
Throw-away prototyping:
A rough practical implementation of the system is produced. The requirement problems can be identified
from this implementation
To validate or to derive the system requirements
Process starts with well understood requirements
Developed to reduce the requirement risks
6. What are the advantages of evolutionary prototyping?
(i) Fast delivery of the working system
(ii) User is involved while developing the system
(iii) More useful system can be delivered
(iv) Specification, design and implementation work in co-ordinate manner
7. What are the various Rapid prototyping techniques?
(i) Dynamic high level language development
(ii) Database programming
(iii) Component and application assembly
8. What is meant by rapid prototyping?
It is a technique in which the initial version of the software system that demonstrates the concept can be
developed rapidly. During the process, initial prototype is produced and can be refined in later versions.
15
9. Why SRS must be traceable? What is traceability requirement? or
“An SRS is traceable”. Comment. Dec 2005, Dec 2012
There may be chances of having new requirements during development of the software. Traceability is
concerned with relationship between requirements, their sources and system design. Thus change in
requirement is manageable if SRS is traceable.
The traceability requirement is the relationship between dependent requirements.
10. Why it is so difficult to gain a clear understanding of what customer wants? or
What are the problems makes elicitation difficult? Dec 2007, May 2008, Dec 2008, May 2010
1.Customer is unable to specify scope of the project. Sometimes customers specify too many technical details
and this may increase the confusion.
2. There is difficulty in understanding the problem. Sometimes customer could not decide what their needs
and wants. Sometimes they may get poor understanding of capabilities and limitations of the existing
computing environment.
3. Sometimes customers find it difficult to communicate with the system engineer about their needs and may
have got some conflicting requirements. This ultimately results in specifying ambiguous requirements.
4. As project progresses the needs or requirements of the customers changes, creates the problem of volatility.
11. What is the use of User Interface prototyping?
This prototyping is used to pre-specify the look and feel of user interface in an effective way.
12. How requirements are collected for user interface of software? Dec 2004
While designing the user interface of software, the requirement collection can be done by focusing on the
profile of the user who interacts with the system. Skill level, business understanding and general grasping to
the new system are recorded.
13. What are the characteristics of SRS?
(i) Correct: The SRS should be made up to date when appropriate requirements are identified.
(ii) Unambiguous: When the requirements are correctly understood then only it is possible to write
an unambiguous software.
(iii) Complete: To make SRS complete, it should be specified what a software designer wants to
create software.
(iv) Consistent: It should be consistent with reference to the functionalities identified.
(v) Specific: The requirements should be mentioned specifically.
(vi) Traceable: What is the need for mentioned requirement?
16
14. What is data modeling?
Basic step in the analysis modeling. Data objects are examined independently of processing. The data model
represents how data are related with one another.
15. What is a data object?
Data object is a collection of attributes that act as an aspect, characteristic, quality, or descriptor of the object.
16. What are attributes?
Attributes are the one, which defines the properties of data object.
17. What is cardinality in data modeling? Dec 2006, Dec 2008
Cardinality in data modeling, cardinality specifies how the number of occurrences of one object is related to
the number of occurrences of another object.
18. What does modality in data modeling indicates? Dec 2006, Dec 2008
Modality indicates whether or not a particular data object must participate in the relationship.
19. What is ERD?
Entity Relationship Diagram is the graphical representation of the object relationship pair. It is mainly used in
database applications.
20.What are all the steps used to build ERD?
The steps involved in creating an entity relationship diagram are:
Identify the entities.
Determine all significant interactions.
Analyze the nature of the interactions.
Draw the entity relationship diagram.
21. What is DFD? Dec 2006
Data Flow Diagram(DFD) depicts the information flow and the transforms that are applied on the data as
it moves from input to output.
Collection of process, data store, flow of data(transitions) and external entity.
Used to represent the system at any level of abstraction and the increasing levels are used to expose more
and more functionalities in the system.
22. What are the linkages between data flow and ERD? May 2009
An ER diagram is the Entity Relationship Diagram, showing the relationship between different entities in a
process.
A Data Flow diagram is a symbolic structure showing how the flow of data is used in different process stages.
17
23. Draw the DFD notations for the following.
(a) External Entity (b) Data items.
(a) External entities are objects outside the system, with which the system communicates. External entities are
sources and destinations of the system's inputs and outputs.
(b) Datastores are repositories of data in the system. They are sometimes also referred to as files.
24. What does Level 0 DFD represent?
Level 0 DFD is called as ‘fundamental system model’ or ‘context model’. In the context model the entire
software system is represented by a single bubble with input and output indicated by incoming and outgoing
arrows.
25. What is a state transition diagram? Dec 2006
State transition diagram is basically a collection of states and events. The events cause the system to change its
state. It also represents what actions are to be taken on the occurrence of particular event. Typically drawn at
a single level. Intended to expose the overall behavior of the system.
26. Define Data Dictionary. Where it is used in software engineering? Dec 2004, May 2009, May 2003
The data dictionary can be defined as an organized collection of all the data elements of the system with
precise and rigorous definitions so that user and system analyst will have a common understanding of inputs,
outputs, components of stores and intermediate calculations.
27. What are all the information stored in data dictionary? Dec 2007
Name: Primary name of data or control item, the data source or external entity.
Alias: Other name used for the name.
Where used or how used: It describes where the data or control item is used. It also describes how that item is
used. (i.e., input and output to the process)
18
28. Create a data dictionary that provides with a precise definition of telephone number, it should
indicate where and how this data item is used and why supplementary information that is relevant to it?
Data dictionary for the telephone number is given below.
Name: Telephone number
Aliases: None
Where used/How used: Assess against the set-up (o/p)
Description:
Telephone number=[local number+STD]
Local number=Prefix+Access number
STD= +91+Area code+Local Number
Prefix=*a four digit number that starts with 2*
Access number=*any four digit number*
Example: Consider telephone no of Pratheeba Publishers is +91 (0422)2619100 in Tamilnadu. Here +91 then
followed by area code 0422 then comes prefix=2619 which starts with 2 and the access number is 100. To dial
in Tamilnadu itself, the local number is 2619100.
29. What are the elements of Analysis model?
i. Data Dictionary
ii. Entity Relationship Diagram
iii. Data Flow Diagram
iv. State Transition Diagram
v. Control Specification
vi. Process specification.
30. What are functional requirements? Dec 2010, May 2011
Functional requirements are statements of services the system should provide how the system should react to
particular input and how the system should behave in particular situation.
31. What are non functional requirements? May 2003, May 2005, Dec 2010, May 2012
Non functional requirements are constraints on the services or functions offered by the system such as timing
constraints, constraints on the development process, standards, etc.
32. Name the metrics to specify non functional requirements. Dec 2011
(i) Time (Transactions/sec, Response time, Time to complete an operation), Space (Main memory, Auxiliary
memory, Cache)
(ii) Usability (Training time, Number of choices, Mouse clicks)
(iii) Reliability (Mean time to failure, Downtime probability, Failure rate, Availability)
19
(iv) Robustness (Time to recovery,% of incidents leading to catastrophic failures, Data corruption probability
after a failure)
(v) Portability (% of non-portable code, Number of systems where software can run)
33. What is the major distinction between user requirements and system requirements? May 2008
User Requirements: These are statements, in a natural language plus diagrams of what services the system is
expected to provide and the constraints under which it must operate.
System Requirements: Sets out the system’s functions, services and operational constraints in detail. The
system requirements document (sometimes called a functional specification) should be precise. It may be a
part of the contact between the system buyer and the software developers.
34. Which style of prototyping is most appropriate when the requirements are not well understood?
May 2008
A throw away prototyping approach has to be used when the requirements are not well understood. Here,
rough demonstration of requirements is available and it can be discarded if not achieving the level of
satisfaction.
35. How do we use the models that we create during requirement analysis? Dec 2008
Data Model: ER model is created during the data modeling. ERD defines the relationship between data objects.
Functional Model: DFD’s are created in this modeling. It depicts the information flow in three phases: Input,
Output and Process.
Behavioral Model: Used to describe overall behavior of a system. STD’s are used to represent this model.
36. What is the outcome of feasibility study? Dec 2003
The outcome of feasibility study is the results obtained from the following questions:
Whether system contributes to organizational objectives?
Whether the system can be engineered? Is it within the budget?
Whether the system can be integrated with other existing system?
37. What is meant by structural analysis?
The structural analysis is mapping of problem domain to flows and transformations. The system can be
modeled by using Entity Relationship diagram, Data flow diagram and Control flow diagrams.
16 Marks:
1) Explain the ways and means for collecting the software requirements and how are they organized
and represented? (16)
2) Describe various prototyping techniques and discuss on analysis sand modeling.(16) Dec 2007
i. Evolutionary prototyping – In this approach of system development,the initial prototype is prepared
and it is then refined through number of stages to final stage.
20
ii. Throw-away prototyping – Using this approach a rough practical implementation of the system is
produced. The requirement problems can be identified from this implementation. It is then discarded.
System is then developed using some different engineering paradigm.
Evolutionary prototyping
Objective:
The principal objective of this model is to deliver the working system to the end-user. Example-AI
systems.
Advantages
Fast delivery of the working system.
User is involved while developing the system. More useful system can be delivered.
Specification, design and implementation work is co-ordinated manner.
Problems
Management problems Maintenance problem Verification
Incremental Development
After designing the overall architecture the system is developed and delivered in series of increments.
Throw-away prototyping
Objective:
The principal objective of this model is to validate or to derive the system requirements. It is developed
to reduce requirement risks.
Advantages
Requirement risks are very less.
Problems
It can be undocumented.
Changes made during the software development proceed may degrade the system structure.
Sometimes organizational quality standard may not be strictly applied.
3) a) Discuss in detail the data modeling activity (8) May 2004, Dec 2008, May 2010
b) Write briefly about the utility of state transition diagram in analysis modeling activity (8)
4) a) Compare functional and behavioral models. (4) Dec 2007
This model describes the computations that take place within a system. This model is useful when the
transformation from the inputs to outputs is complex.
The functional model of a system can be represented by a data Flow Diagram(DFD).
Data Flow Diagrams/Data Flow Graph/Bubble chart
A DFD is a graphical representation that depicts the information flow and the transforms that are
applied as the data move from input to output.
21
Level 0 DFD also called as fundamental system model or context model represents the entire
software as a single bubble with input and output data indicated by incoming and outgoing
arrows.
Level 1 DFD contains 5 or 6 bubbles. Each bubbles can be refined at Layers to depict more
details.
Extensions to Real Time Systems
Ward and Meller extensions
Hatley and Pirbhai extension.
b) With a suitable diagram explain the elements of the analysis model (8)
c) With an example explain about DFD. (4)
5) a) Explain the extensions of DFD for real time systems. (8)
b) Discuss the features of state transition diagram and its application. (8)
6) a) Explain the feasibility studies. What are the outcomes? Does it have either implicit or explicit effects
on software requirement collection? (8)
b) What is the prototyping technique? How prototype models are prepared for a software process? Discuss.
(8)
7) a) Describe how software requirements are documented? State the importance of documentation. (8)
b) Explain the software requirement analysis and modeling. (8)
8) Explain the state oriented approaches for representing behavioral specifications of software. (16)
9) Narrate the importance of software specification of requirements. Explain a typical SRS structure and
its parts. (16)
10) Discuss in detail the FAST method of
a. Requirement elicitation with an example. (8)
b. What is software specification? (8)
11) Write short notes on data modeling? (6) Dec 2007
Discuss in detail the basic structure of analysis model. (10)
Data modeling makes use of the ERD. Consists of 3 interrelated information.
The data object.
Attributes. Relationships.
Cardinality and Modality
Cardinality is the specification of the number of occurrences of one object that can be related to
the number of occurrences of another object.
One-to-one cardinality. One-to-many cardinality. Many-to-Many cardinality.
22
Modality of a relation is 0 if there is no explicit relationship or relation is optional.
Modality is 1 if an occurrence of relationship is mandatory.
Entity/Relationship Diagrams
Components are Data Objects.
Attributes.
Relationships.
Various type indicators.
12) How is SRS for a development project arrived at? (6)
What minimum features are required to be present in a good SRS?(10)
13) Explain about rapid prototyping techniques.
Executable specification languages.
Used to animate the system specification.
It is expressed in a formal, mathematical language to provide a system prototype.
Very high level languages.
These are programming languages which include powerful data management facilities.
Application generators and fourth-generation languages.
These are successful languages because there is a great deal of communality across data processing
applications.
14) Explain about structural modeling. June 2010
Structural model includes a detail refinement of ERD, data flow model and control flow model.
23
UNIT – III ANALYSIS, DESIGN CONCEPTS AND PRINCIPLES
2 Marks:
1. What are the elements of design model? May 2006
i. Data design ii. Architectural design iii. Interface design iv. Component-level design
2. Define design process.
Design process is a sequence of steps carried through which the requirements are translated into a
system or software model.
3. List the principles of a software design.
i. The design process should not suffer from “tunnel vision”
ii. The design should be traceable to the analysis model.
iii. The design should exhibit uniformity and integration.
iv. Design is not coding.
v. The design should not reinvent the wheel.
4. What are the guidelines and benefit of modular design? Dec 2003
Benefit : Changes made during testing and maintenance becomes manageable and they do not affect
other modules.
Guidelines:
1. To achieve functional independence
2. High level of cohesion should be achieved
3. There should be minimum number of coupling.
5. What is a cohesive module?
A cohesive module performs only “one task” in software procedure with little interaction with other
modules. In other words cohesive module performs only one thing.
6. What are the different types of Cohesion?
i. Coincidentally cohesive - The modules in which the set I\of tasks are related with each other loosely.
ii. Logically cohesive – A module that performs the tasks that are logically related with each other.
iii. Temporal cohesion – The module in which the tasks need to be executed in some specific time span.
iv. Procedural cohesion – When processing elements of a module are related with one another and must be
executed in some specific order.
v. Communicational cohesion – When the processing elements of a module share the data then such
module is called communicational cohesive.
7. What is coupling? May 2007
Coupling is the measure of interconnection among modules in a program structure. It depends on
the interface complexity between modules.
24
8. What are the various types of coupling? May 2007
i. Data coupling – The data coupling is possible by parameter passing or data interaction.
ii. Control coupling – The modules share related control data in control coupling.
iii. Common coupling – The common data or a global data is shared among modules.
iv. Content coupling – Content coupling occurs when one module makes use of data or control
information maintained in another module.
9. What are the common activities in design process?
i. System structuring – The system is subdivided into principle subsystems components and
communications between these subsystems are identified.
ii. Control modeling – A model of control relationships between different parts of the system is
established.
iii. Modular decomposition – The identified subsystems are decomposed into modules.
10. What are the benefits of horizontal partitioning? May 2003, May 2005
i. Software that is easy to test. ii. Software that is easier to maintain.
iii. Propagation of fewer side effects. iv. Software that is easier to extend.
11. What is vertical partitioning? May 2003, May 2005
Vertical partitioning often called factoring suggests that the control and work should be distributed
top-down in program structure.
12. What are the advantages of vertical partitioning?
i. Easy to maintain changes. ii. Reduce the change impact and error propagation.
13. What are the various elements of data design?
i. Data object – The data objects are identified and relationship among various data objects can be
represented using ERD or data dictionaries.
ii. Databases – Using software design model, the data models are translated into data structures and data
bases at the application level.
iii. Data warehouses – At the business level useful information is identified from various databases and
the data warehouses are created.
14. List the guidelines for data design.
i. Apply systematic analysis on data.
ii. Identify data structures and related operations.
iii. Establish data dictionary.
iv. Use information hiding in the design of data structure.
v. Apply a library of useful data structures and operations.
25
15. Name the commonly used architectural styles. Dec 2010
i. Data centered architecture
ii. Data flow architecture
iii. Call and return architecture
iv. Object-oriented architecture.
v. Layered architecture.
16. What is Transform mapping?
The transform mapping is a set of design steps applied on the DFD in order to map the transformed flow
characteristics into specific architectural style.
17. What is a Real time system?
Real time system is a software system in which the correct functionalities of the system are
dependent upon results produced by the system and the time at which these results are produced.
18. What are the objectives of Analysis modeling?
i. To describe what the customer requires.
ii. To establish a basis for the creation of software design.
iii. To devise a set of valid requirements after which the software can be built.
19. What is an Architectural design?
The architectural design defines the relationship between major structural elements of the software, the
“design patterns” that can be used to achieve the requirements that have been defined for the system.
20. What is data design?
The data design transforms the information domain model created during analysis into the data structures
that will be required to implement the software.
21. What is interface design?
The interface design describes how the software communicates within itself, with systems that
interoperate with it, and with humans who use it.
22. What is component level design?
The component level design transforms structural elements of the software architecture into a procedural
description of software components.
23. What is software design?
Software design is an iterative process through which the requirements are translated into a “blueprint”
for constructing the software.
24. What is user interface design? Dec 2009
User interface design creates an effective communication medium between a human and a computer.
26
25. What is system design? May 2009
System design process involves deciding which system capabilities are to be implemented in software
and which in hardware.
26. What are data acquisition systems? May 2012
Systems that collect data from sensors for subsequent processing and analysis are termed as data
acquisition systems. Data collection processes and processing processes may have different periods and
deadlines.
27. How do you evaluate user interface? May 2003
28. Enumerate different data flow architectures. Dec 2005
Context flow diagrams, ER diagrams, State transition diagrams, Data Flow Diagrams.
29. Brief the importance of user interface. Dec 2003
30. What is the work product of software design process and who does it? May 2004
31. Define the term software architecture. May 2004, May 2008
Hierarchical structure of software components and their interactions. Here, software model is designed and
the structure of that model is partitioned horizontally or vertically.
32. What are the quality parameters considered for effective modular design?
Or
State different criteria applied to evaluate an effective modular design. May 2006
Functional Independence, Cohesion, Coupling.
Creating an ERD.
Developing relationships and cardinality/Modality. Creating a data flow model using the guidelines.
Creating a control flow model which describes the structural connection of
Processes
Control flows
Control stores. State automation
Process activation table.
27
16 Marks:
1. What is transform mapping? Explain the process with an illustration. What is its strength and
weakness? (16) May 2010
Review the fundamental model.
Review and refine the DFD for the software.
Determine whether the DFD has the transform or transaction mapping.
Isolate the transform center by specifying incoming and outgoing flow boundaries.
Perform first-level factoring.
Perform second-level factoring.
Refine the first iteration architecture using design heuristics for improved software quality.
2. a) Explain about the various design concepts considered during design? (12) May 2008
Abstraction
Functional abstraction
Data abstraction
Control abstraction
Information hiding
Each module in the system hides the internal details of its processing activities and modules
communicate only through over defined interfaces.
Structure
It permits the decomposition of a large system into smaller, more manageable units with well
defined relationships to the other units in a system.
Network is the most general form of structure.
Hierarchical Structures/Structure Charts
It depicts the structure of subroutines in a system, the data passed between routines, can be
indicated on the arcs connecting routines. Modularity
Modular system consists of well-defined, manageable units with well defined interfaces among
units.
Concurrency
Independent processes that can be activated simultaneously if multiple processors are available.
Coupling and Cohesion
Data coupling – The data coupling is possible by parameter passing or data interaction.
Control coupling – The modules share related control data in control coupling.
Common coupling – The common data or a global data is shared among modules.
28
Content coupling – Content coupling occurs when one module makes use of data or control
information maintained in another module.
b) Write short notes on user interface design process? (4) Dec 2008
3. a) Explain data architectural and procedural design for a software? (8)
b) Describe the design procedure for data acquisition system (8) Dec 2004
4. Explain the importance of user interface design in sale of software. (16) Dec 2004
5. Describe decomposition levels of abstraction and modularity concepts in software design? (16)
Dec 2005
6. What are the characteristics of a good design? Describe different types of coupling and cohesion. How
design evaluation is performed? (16) Dec 2005
7. Draw the basic structure of analysis model and explain each entity in detail.(16)
8. a) discuss in detail about the design process in software development process (8) May 2005
b) Justify “Design is not coding and coding is not design”. (8) May2004,May
2005
9. a) Explain in detail about the characteristics and criteria for a good design. (10)
b) Describe the golden rules for interface design. (6) May 2009
10. a) What is the design document? b) How is it organized? (16)
11. a) What are the various software architectures available for the developer according to you? Which is
the best and why? (8) May 2007
b) Explain transaction mapping in detail. (8)
Review the fundamental model.
Review and refine the DFD for the software.
Determine whether the DFD has the transform or transaction mapping. Identify transaction center
and the flow characteristics along each of the action paths.
Factor and refine the transaction structure and the structure of each action path.
Refine the first iteration architecture using design heuristics for improved software quality.
12. What do you mean by modularity in software development? Why is it needed? What is its strength? (8)
13. a) What are the various model of abstraction? Discuss any two in detail? (8)
b) How does a real time system design differ comparing distributed system design? (8)
Hard and soft real time systems.
Real time and high performance.
Real-Time control.
Real time software design
Periodic Stimuli – Occur at predictable time intervals. Aperiodic Stimuli – Occur regularly
29
14. a) Explain the set of principles for software engineering design? (10)
b) Describe the concept of information hiding. (6)
15. a) What is data flow oriented design. (3)
b) Draw a detailed dataflow diagram for library management. (10)
c) What are the components dataflow oriented design. (3)
16. a) What is SCM? (4) May 2007
b) How are SCM tasks practiced over the operational life of software? (6)
Software Configuration Management is an umbrella activity that is applied throughout the software
process.
SCM Activities
Identify change.
Control change.
Ensure the change is properly implemented.
Report change to others.
Need for SCM
When you build computer software change happens, you need to control it effectively.
SCI Software Configuration Item is information that is carried as part of the software engineering
process.
c) What is the impact of requirement changes during development of a software product? (6)
May 2003
17. Explain the design principles. (8) Dec 2008
The design process should not suffer from tunnel vision.
The design should be traceable to the analysis model.
Design should not reinvent the wheel.
The design should minimize the intellectual distance between the software and problem as it
exists in the real world.
The design should be structured to degrade gently, even when aberrant data, events or operating
conditions are encountered.
Design is not coding, coding is not design.
The design should be assessed for quality as it is being created, not after the fact.
The design should be reviewed to minimize conceptual (semantic) errors.
30
UNIT – IV TESTING
2 Marks:
1. Define software testing?
Software testing is a critical element of software quality assurance and represents the ultimate
review of specification, design, and coding.
2. What are the objectives of testing?
i. Testing is a process of executing a program with the intend of finding an error.
ii. A good test case is one that has high probability of finding an undiscovered error.
iii. A successful test is one that uncovers as an-yet undiscovered error.
3. What are the testing principles the software engineer must apply while performing the software
testing?
i. All tests should be traceable to customer requirements.
ii. Tests should be planned long before testing begins.
iii. The pareto principle can be applied to software testing-80% of all errors uncovered during
testing will likely be traceable to 20% of all program modules.
iv. Testing should begin “in the small” and progress toward testing “in the large”. v. Exhaustive
testing is not possible.
vi. To be most effective, an independent third party should conduct testing.
4. What are the two levels of testing?
i. Component testing - Individual components are tested. Tests are derived from developer’s
experience.
ii. System Testing - The group of components are integrated to create a system or sub-system is
done. These tests are based on the system specification.
5. What are the various testing activities?
Test planning, Test case design, Test execution, Data collection, Effective evaluation
6. Write short note on black box testing. May 2012
The black box testing is also called as behavioral testing. This method
fully focus on the functional requirements of the software. Tests are derived that fully exercise all
functional requirements.
31
7. What is equivalence partitioning?
Equivalence partitioning is a black box technique that divides the input domain into classes of
data. From this data test cases can be derived. Equivalence class represents a set of valid or invalid states
for input conditions.
8. What is a boundary value analysis?
A boundary value analysis is a testing technique in which the elements at the edge of the domain
are selected and tested. It is a test case design technique that complements equivalence partitioning
technique.
9. What are the reasons behind to perform white box testing? Dec 2010
1. Programmers may have some incorrect assumptions while designing or implementing some
functions.
2. Certain assumptions on flow of control and data may lead programmer to make design errors. To
uncover the errors on logical path, white box testing is must.
3. There may be certain typographical errors that remain undetected even after syntax and type
checking mechanisms. Such errors can be uncovered during white box testing.
10. What is cyclomatic complexity? May 2006, Dec 2006
Cyclomatic complexity is software metric that gives the quantitative measure of logical
complexity of the program.
11. How to compute the cyclomatic complexity? Dec 2006
The cyclomatic complexity can be computed by any one of the following ways. 1. The numbers
of regions of the flow graph correspond to the cyclomatic complexity.
2. Cyclomatic complexity (G), for the flow graph G, is defined as: V(G)=E-N+2, E -- number of
flow graph edges, N -- number of flow graph nodes
3. V(G) = P+1 Where P is the number of predicate nodes contained in the flow graph.
12. What is BRO testing? Dec 2006
Boolean and Relational Operator Testing (BRO) method is a condition testing strategy which is
based on the detection of Boolean and Relational operator errors which normally occur in the condition.
It is a cost effective testing method in quality assurance.
13. What are the various testing strategies for conventional software?
i. Unit testing
ii. Integration testing
iii. Validation testing
iv. System testing
32
14. Write about drivers and stubs.
Drivers and stub software need to be developed to test incompatible software.
The “driver” is a program that accepts the test data and prints the relevant results.
The “stub” is a subprogram that uses the module interfaces and performs the minimal data manipulation
if required.
15. What are the approaches of integration testing?
The integration testing can be carried out using two approaches.
Non-incremental testing, Incremental testing
16. What are the advantages and disadvantages of big-bang?
Advantage:
This approach is simple.
Disadvantages:
It is hard to debug.
It is not easy to isolate errors while testing.
In this approach it is not easy to validate test results.
17. What are the benefits of smoke testing? Dec 2008
Integration risk is minimized.
The quality of the end-product is improved.
Error diagnosis and correction are simplified.
Assessment of program is easy.
18. What are the conditions exists after performing validation testing?
(i)The function or performance characteristics are according to the specifications and are accepted.
(ii)The requirement specifications are derived and the deficiency list is created.
19. Distinguish between alpha and beta testing
Alpha and beta testing are the types of acceptance testing.
Alpha test : The alpha testing is attesting in which the version of complete software is tested by the
customer under the supervision of developer. This testing is performed at developer’s site.
Beta test : The beta testing is a testing in which the version of the software is tested by the customer
without the developer being present. This testing is performed at customer’s site.
20. What are the various types of system testing? May 2003, May 2006
1. Recovery testing – is intended to check the system’s ability to recover from failures.
2. Security testing – verifies that system protection mechanism prevent improper penetration or data
alteration.
3. Stress testing – Determines breakpoint of a system to establish maximum service level.
33
4. Performance testing – evaluates the run time performance of the software, especially real time
software.
21. Define debugging. May 2003, Dec 2004
Debugging is defined as the process of removal of defect. It occurs as a consequence of successful
testing.
22. What are the common approaches in debugging? Dec 2004, May 2003
Brute force method: The memory dumps and run-time tracks are examined and program with write
statements is loaded to obtain clues to error causes.
Back tracking method: The source code is examined by looking backwards from symptom to potential
causes of errors.
Cause elimination method: This method uses binary partitioning to reduce the number of locations where
errors can exists
23. What is meant by structural testing?
In structural testing derivation of test cases is according to program structure. Hence knowledge
of the program is used to identify additional test cases.
24. What is meant by regression testing? Dec 2010
Regression testing is used to check for defects propagated to other modules by changes made to
existing program. Thus, regression testing is used to reduce the side effects of the changes.
25. What is meant by unit testing?
The unit testing focuses verification effort on the smallest unit of software design, the software
component or module.
16 Marks:
1. Discuss the differences between black box and white box testing models. Discuss how these testing
models may be used together to test a program schedule. (16) May 2003, May 2004, Dec 2005, May
2007
Black box or behavioral testing focuses on the functional requirements of the software.
It is applied during the last stage of testing.
Syntax driven testing is suitable for the specification which are described by a certain grammar.
Decision table based testing is implemented when the original softwarerequirement have been
formulated in the format of “ if-then” statements.
Liquid level control is the study of a simple control problem which is designed to check the liquid
level.
It has 2 sensors.
Cause effect graphs in functional testing.
34
2. a) What do you mean by system testing? Explain in detail (12)
b) Explain boundary value analysis. (4)
3. a) Justify the importance of testing process(8)
b) Discuss in detail about alpha and beta testing. (8)
4. What do you mean by integration testing? Explain their outcomes: (16) May 2007
It is a systematic technique for constructing the program structure.
Incremental integration
The program is constructed and tested in small increments.
Top-down integration
It is an incremental approach.
Modules are integrated by moving downward through the control hierarchy beginning with the main
control module(main program).
Subordinate modules are incorporated by depth-first or breadth-first manner.
Bottom-up integration
This testing begins construction and testing with the components at the lowest levels in the
program structure.
Regression testing
It is the re-execution of some subset of tests that have already been conducted to ensure the
changes that have not been propagated unintended side effects.
Smoke testing
It minimizes the integration risk.
Error diagnosis and correction are simplified.
5. What is black box testing? Is it necessary to perform this? Explain various test activities: (16)
6. Explain the integration testing process and system testing process and discuss their outcomes: (16)
7. a) What do you mean by system testing? Give a case study of a system testing for operating system? (8)
System testing Stress testing Security testing.
Performance testing
b) What do you mean by boundary value analysis? Give two examples of boundary value testing.(8)
Dec 2006, May 2009
8. Explain black box testing methods and its advantages and disadvantages. (16)
9. Write short notes on
a) Data flow testing. (8)
b) Integration testing. (8)
35
10. a) Explain the testing procedures for boundary conditions.(8)
b) Describe verification and validation criteria for a software. (8)
11. a) Describe unit testing and integration testing. How test plans are generated? (8)
Dec 2006, Dec 2008, May 2009
b) Suggest software testing sequence for a 100% bug free software. Explain. (8)
12. Discuss software failures and faults? What are test coverage criteria? Discuss testing issues: (16)
13. Explain automated testing tools. How test cases are generated? Discuss when to stop testing? What is
performance testing? Describe. (16)
14. What are the various testing strategies to software testing? Discuss them briefly:(16) May 2005, May
2006, Dec 2009
A strategic approach to software testing.
Verification and Validation.
Verification refers to the set of activities that ensure that software
correctly implements a specific function.
Validation refers to a different set of activities that ensure that the software that has been built is
traceable to the customer
requirements. According to Boehm,
Verification:” Are we building the product right?”
Validation:” Are we building the right product?”
Organization for software testing
A software testing strategy.
Criteria for completion of testing.
36
UNIT – V SOFTWARE PROJECT MANAGEMENT
2 Marks:
1. Define measure.
Measure is defined as a quantitative indication of the extent, amount, dimension, or size of some
attribute of a product or process.
2. Define metrics.
Metrics is defined as the degree to which a system component, or process possesses a given
attribute.
3. What are the types of metrics?
Direct metrics – It refers to immediately measurable attributes.
Example – Lines of code, execution speed.
Indirect metrics – It refers to the aspects that are not immediately quantifiable or measurable.
Example – functionality of a program.
4. Write short note on the various estimation techniques.
Algorithmic cost modeling – the cost estimation is based on the size of the software.
Expert judgment – The experts from software development and the application domain.
Estimation by analogy – The cost of a project is computed by comparing the project to a similar
project in the same application domain.
Parkinson’s Law – The cost is determined by available resources rather than by objective
assessment.
Pricing to win – The project costs whatever the customer ready to spend it.
5. What is COCOMO model?
COnstructive COst MOdel is a cost model, which gives the estimate of number of man-months it
will take to develop the software product.
6. Give the procedure of the Delphi method. May 2003
1. The co-coordinator presents a specification and estimation form to each expert.
2. Co-coordinator calls a group meeting in which the experts discuss estimation issues with the
coordinator and each other.
3. Experts fill out forms anonymously.
4. Co-coordinator prepares and distributes a summary of the estimates.
5. The Co-coordinator then calls a group meeting.
7. What is the purpose of timeline chart?
The purpose of the timeline chart is to emphasize the scope of the individual task. Hence set of
tasks are given as input to the timeline chart.
37
8. What is EVA? Nov/Dec 2012
Earned Value Analysis is a technique of performing quantitative analysis of the software project.
It provides a common value scale for every task of software project. It acts as a measure for software
project progress.
9. What are the metrics computed during error tracking activity?
Errors per requirement specification page.
Errors per component-design level
Errors per component-code level
DRE-requirement analysis
DRE-architectural analysis
DRE-component level design
DRE-coding.
10. What is software maintenance?
Software maintenance is an activity in which program is modified after it has been put into use.
11. Define maintenance.
Maintenance is defined as the process in which changes are implemented
By either modifying the existing system’s architecture or by adding new components to the system.
12. What are the types of software maintenance? Dec 2000
Corrective maintenance – Means the maintenance for correcting the software faults.
Adaptive maintenance – Means maintenance for adapting the change in environment.
Perfective maintenance – Means modifying or enhancing the system to meet the new requirements.
Preventive maintenance – Means changes made to improve future maintainability.
13. How the CASE tools are classified?
CASE tools can be classified by
a. By function or use
b. By user type (e.g. manager, tester), or
c. By stage in software engineering process (e.g. requirements, test).
14. What are the types of static testing tools?
There are three types of static testing tools.
(i) Code based testing tools – These tools take source code as input and generate test cases.
(ii) Specialized testing tools – Using this language the detailed test specification can be written for each
test case.
(iii) Requirement-based testing tools – These tools help in designing the test cases as per user
requirements.
38
15. What is meant by Software project management? May 2006
Software project management is an activity of organizing, planning and scheduling software
projects.
16. What is meant by software measurement?
Software measurement means deriving a numeric value for an attribute of a software product or
process.
17. What is meant by software cost estimation? May 2010
The software cost estimation is the process of predicting the resources required for software
development process.
18. What is meant by CASE tools?
The computer aided software engineering tools automatic the project management activities,
manage all the work products. The CASE tools assist to perform various activities such as analysis,
design, coding and testing.
19. What is meant by Delphi method?
The Delphi technique is an estimation technique intended to active a common agreement for
estimation efforts.
20. What is meant by software evolution?
Software evolution is a process of managing the changes in the software.
21. Derive ZIP’s law.
ZIP’s first law of the form,
fr r = C (or) nr = Cn / r
C constant
r rank for tokens
fr frequency of occurrence
22. What is software configuration management (SCM)?
Software configuration management is the art of identifying, organizing, and controlling
modifications to the software being built by a programming team.
23. What is meant by risk management? Dec 2011
Risk management is an activity in which risks in the software projects are identified.
24. What is meant by software project scheduling?
Software project scheduling is an activity that distributes estimated effort across the planned
project duration by allocating the effort to specified software engineering tasks.
39
25. Write about software change strategies.
The software change strategies that could be applied separately or together are:
(i) Software maintenance – The changes are made in the software due to requirements.
(ii) Architectural transformation – It is the process of changing one architecture into another form.
(iii) Software re-engineering – New features can be added to existing system and then the system is
reconstructed for better use of it in future.
16 Marks:
1. Explain the need for software measures and describe various metrics. (16) May 2003
2. Discuss briefly on software maintenance activities and how do you estimate the cost involved. (16)
Dec 2003, Dec 2005, May 2003
3. a) Explain in detail about the maintenance process.(8) May 2004, May 2005, May 2006
b) Discuss in detail about software evolution. (8) May 2005, Dec 2008
4. Describe two metrics which are used to measure the software in detail. Discuss clearly the advantages
and disadvantages of these metrics. (16)
5. a) What is Halsted’s software science metric. Define. (8) May 2006
b) Explain about function point metric in detail. (8) May 2006, Dec 2006
6. Write short notes on
a) Software maintenance (8)
b) Task scheduling with an example. (8) May 2006
7. Explain various cost estimation models and compare. (16)
8. Write briefly on
a) CASE tools (8) Dec 2004, May 2009
Computer Aided Software Engineering.
Business Process Engineering Tools, Process Modeling and Management Tools, Project Planning
Tools, Risk analysis tools, Project management tools, Requirement tracing tools, Metrics and
management tools, Documentation tools, System Software tools, Quality Assurance tools, Database
management tools, SCM tools, Analysis and design tools, PTO/SIM tools, Interface design and
development tools, Prototyping tools, Programming tools, Web development tools, Integration and
testing tools, Static analysis tools, Dynamic analysis tools, Test management tools, Client/server
tools, Re-engineering tools.
b) Software complexity measure. (8)
9. Explain the maintenance activities and maintenance problems. How the cost of maintenance is
estimated? (16)
40
10. Write short notes on
a) COCOMO estimation criteria. (8) Dec 2005
Constructive Cost Model.
Software cost estimation gives the estimation of how much months a man take to develop a
software product.
Application Composition Model. Early design stage model
Post-architecture stage model.
COCOMO II application composition uses object points.
NOP=(object point)X[100-%reuse)/100]
NOP-New Object Point.
Productivity Rate, PROD=NOP/person-Month.
b) Software metrics (8)
11. a) Justify the statement “Software maintenance is costlier”. (8) May 2004
b) Discuss the concept of software maintenance process. (8) May 2005
Software maintenance is an activity in which program is modified after it has been put into use.
Maintenance is defined as the process in which changes are implemented by either modifying the existing
system‟ s architecture or by adding new components to the system.
Different aspects of maintenance
The bug-fixing view
The need-to-adapt view
The user-support view
Need for software maintenance
To provide continuity of service To support mandatory upgrades.
To support user requests for improvements.
To facilitate future maintenance work.
12. Explain about software cost estimation.
Major factors are:
Programme ability.
Product Complexity.
Product size. A
vailable time.
Required reliability.
13. Explain in detail about Delphi Method.
Procedure
41
The co-ordinator presents a specification and estimation form to each expert.
Co-ordinator calls a group meeting in which the experts discuss estimation issues with the
coordinator and each other.
Experts fill out forms anonymously.
Co-ordinator prepares and distributes a summary of the estimates.
The Co-ordinator then calls a group meeting.
In this meeting the experts mainly discuss the points where their estimates vary widely.
The experts again fill out forms anonymously.
Again co-ordinator edits and summarizes the forms,repeating steps 5 and 6 until the co-ordinator
is satisfied with the overall prediction synthesized from experts.
42