Vous êtes sur la page 1sur 32

2 MARK QUESTIONS AND ANSWERS

IT 2251- SOFTWARE ENGINEERING AND QUALITY ASSURANCE


ACD YEAR: 2012-2013(EVEN SEM)
UNIT I - SOFTWARE PRODUCT & PROCESS
1. Define software
Software is collection of computer programs and associated documentation that
when executed provide desired features, function, and performance.
2. Define Software Engineering
Software Engineering is the establishment and the use of sound engineering principle
in order to obtain a reliable and efficient software.
OR
Software engineering is a discipline in which theories, methods and tools are applied
to develop professional software product.
OR
Systematic, disciplined, quantifiable approach to the development, operation and
maintenance of software. That is the application of engineering to software.
3. What are the layers present in layered Technology
Tools
Methods
Process
A Quality Focus
4. What are the various categories of software?
System software
Application software
Embedded software
Engineering/ Scientific software
Artificial Intelligence software.
5. Define Process framework
It establishes the foundation for a complete s/w process.
It identifies frame work activities.
Process framework encompasses a set of umbrella activities.
Process defines who is doing what, when, and how to reach a certain goals.
6. Define software process.
Software process can be defined as the structured set of activities that are required to
develop the S/W system. The software process is characterized by process framework
activities, task sets, umbrella activities.
7. What do you mean by umbrella activities and what are they?
Umbrella activities are the set of activities that can occur throughout the software
life cycle. They are
*Software Configuration management * Risk management *Software quality
assurance *Formal technical reviews *Measurement.
8. What are the activities in Process framework?
Process framework activities are,
Communication: Collaboration with customer , gathering information
Planning: establish a work plan, describe technical risks, list resource,
work products etc
Modeling: creation of models, and design
Construction: code generation and testing
Deployment: delivered to the customer ,evaluate, and provides a feedback
9. What are the activities in Task sets ?
Actual work done
Collection of S/W Engg. work tasks
Project Mile stones
SQA points.
10. Define Capability Maturity Model Integration(CMMI)
The S/W engg. Institute(SEI) has developed a Capability Maturity Model. It is
rated according to the following levels.
Level 0: Incomplete
Level 1: Performed
Level 2: Managed
Level 3: Defined
Level 4: Quantitatively Managed
Level 5: Optimized
11. Define the term product and process.
Product: Product is an entity that can be produced by development organization
and is sold on the market to any customer. Product consists of computer
programs, procedures and documentation..
Process: process is defined as a series of activities in which one or more inputs are
used to produce one or more outputs.
12. Define software engineering paradigm.
To solve actual problems in an industry, a software engineer or a team of
engineers must combine a development strategy that includes the process, methods and
tools. This strategy is referred as software engineering paradigm or process model
13. What is the difference between verification and validation?
Verification
Validation
1. Are we building the product right?
2. Verification shows conformance
with specification.
1. Are we building the right product?
2. Validation shows that the program
meets the customers needs.
14. List the common errors in verification process.
Incomplete specifications
Misunderstand of customer communication
Deviation from specifications
Violation of programming standards
Errors in data representation
15. Define software life cycle.
Software life cycle is the period of time beginning with a concept for a software
product and ending whenever the software is no longer available for use.
16. Types of lifecycle model.
1. Prescriptive process model
2. Water fall model
3. Incremental process Model
1. Incremental Model
2. RAD Model
4. Evolutionary process Model
1. Prototyping model
2. Spiral Model
3. The concurrent development Model
5. Specialized Process Model
1. Component based development Model
2. Formal Methods Model
3. Aspect oriented S/W development (AOSD)
6. Unified process model
17. Define Water fall model.
It is an oldest model
Sometimes called classic lifecycle model
It is a systematic and sequential approach
Start from communication and process through planning, modeling,
construction and deployment.
18. What are the Steps present in Waterfall model?
Communication: Collaboration with customer, gathering information
Planning: establish a work plan, describe technical risks, list resource,
work products etc
Modeling: creation of models, and design
Construction: coed generation and testing
Deployment: delivered to the customer ,evaluate, and provides a feedback
19. Drawbacks of waterfall model
Oldest model. Rarely follows the sequential flow.
Difficult to collect requirement explicitly at the beginning.
A working version not available in later releases.
It leads a blocking state.
20. What are the phases encompassed in RAD model?
a. Business modeling
b. Data modeling
c. Process modeling
d. Application generation
e. Testing
21. Write the key challenges facing software engineering.
Heterogenity
Delivery
Trust challenge
22. What is meant by development process?
A software development process is a structure imposed on the development of
software product which include analysis, design, code and Test.
23. Give at least two reasons for why prototyping is problematic.
Prototyping model doesnt consider the overall software quality or long term
maintainability.
Developer uses an inappropriate operating system or programming language in order
to get a prototype working quickly.
24. What are the advantages of prototyping model?
Prototyping model is used when a customer defines a set of objectives for software
but doesnt identify detailed input, processing and output requirements.
It serves as the mechanism for identifying software requirements.
If the prototype is built the developer attempts to use existing program fragments to
develop a working program.
25. What are the characteristics of software? (Attributes of good software).
Software should deliver the required functionality and should be
Maintainable, dependable, usable, efficient.
26. What is the advantage of incremental model?
Incremental model is useful when staffing is unavailable.
Increments can be planned to manage technical risks.
27. Drawbacks of spiral model
If major risks are not discovered and managed problems will occur.
It demands a direct consideration of technical risks at all stages of project.
28. Identify in which phase of the software life cycle the following documents are
delivered.
a. Architectural design, b. Test plan, c. Cost estimate, d. Source code document.
Architectural design: Design phase
Test plan : Testing phase
Cost estimate: Requirement analysis
Source code: Implementation phase
29. Define system engineering.
Concerned with all aspects of computer based systems development ( Specifying
the system , defining its overall architecture , integrating the different parts to create the
finished system etc. ) . It include hardware, software , process engineering and people.
Software engineering is a part of this process.
30. Various phases of System engg. process
Requirement analysis
System design
Sub_ System development
System Integration
System deployment
System evolution
System decommissioning.
31. Define System Engg. Hierarchy
System Engg encompasses a collection of top-down and bottom up methods to
navigate the hierarchy.
The levels are
World view
Domain view
Element view
Detailed view
32. Define a system and computer based system.
Systemis an established way of doing something like method, procedure.
Computer based systemis a set of arrangement of elements that are organized to
accomplish some predefined goal by processing information system elements.
33. Define Business Process Engineering (BPE)
The goal of Business Process Engineering (BPE) is to define architectures that
will enable a business to use information effectively. Three different architectures are
Data architecture
Applications architecture
Technology architecture
34. Define Product engg.
The goal of product engg is to translate the customers desire for a set of defined
functionalities into a working product. Four components are software , hardware ,data ,
people.
UNIT II SOFTWARE REQUIREMENTS
1. List out the elements of analysis model.
i. Data Dictionary
ii. Entity Relationship Diagram
iii. Data Flow Diagram
iv. State Transition Diagram
v. Control Specification
vi. Process specification
2. What are the informations available in the data dictionary?
Precise definition of data elements, User names, roles and privileges, Schema
objects, Integrity constraints, stored procedure, General data base structure, Space
allocations.
3. What are the various types of traceability in software engineering?
i. Source traceability These are basically the links from requirement to stakeholders
who propose these requirements.
ii. Requirements traceability These are links between dependant requirements.
iii. Design traceability These are links from requirements to design.
4. Why it is difficult to gain a clear understanding of what the customer wants?
Customer requirement is gathered at particular period of time. So the customer is
not able to predict the future which they are going to work. So it is difficult to gain a clear
understand about what they wants.
5. Create a data dictionary that provides with a precise definition of telephone number
it should indicate where and how this data item is used and any supplementary
information that is relevant to it.
Data dictionary for telephone number:
Name: Telephone number
Aliases: None
Whos used/How used: assess against setup (output)
Dial phone(input)
Supplementary information
Telephone number:[local no.][long distance number]
Local no: prefix+ access number
Long distance no: 1+area code +local number
Prefix: a 3 digit no. that never starts with 0 or1.
Access no: any 4 no. string
6. What are the various prototyping techniques?
i. Dynamic high level language development.
ii. Database programming.
iii. Component and application assembly.
7. What does DFD level0 represent?
Level0 DFD is called as fundamental system model or context model. In the
context model the entire software system is represented by a single bubble with input and
output indicated by incoming and outgoing arrows.
8. Write the steps in requirement engineering process.
Feasibility study, Requirement elicitation, Requirement analysis, Requirement
specification, System modeling, Requirement validation and management.
9. Compare evolutionary and throw away prototyping.
10. What is meant by software prototyping?
Software prototyping is defined as a rapid software development for validating the
requirements.
11. What is the advantage of software prototyping?
i. Prototype serves as a basis for deriving system specification.
ii. Design quality can be improved.
iii. System can be maintained easily.
iv. Development efforts may get reduced.
v. System usability can be improved
12. Define requirement engineering process.
Requirement engineering is the process of establishing the services that the customer
requires from the system and the constraints under which it operates and is developed.
13. What are the advantages of evolutionary prototyping?
i. Fast delivery of the working system.
ii. User is involved while developing the system.
ii. More useful system can be delivered.
iv. Specification, design and implementation work in co-ordinate manner
Evolutionary Throw away prototyping
1. The objective of Evolutionary
prototyping is to deliver a working system
to end users.
2. Prototypes usually evolve so quickly
that it is not cost effective to produce a
great deal of system requirements.
The objective Throw away prototyping is
to validate or derive the system
requirement.
It may not be possible to prototype some
of the most important parts of the system.
14. Define cardinality and modality.
Cardinality specifies how the number of occurrences of one object is related to the
number of occurrences of another object.
Modality indicates whether or not a particular data object must participate in the
relationship.
15. What is meant by DFD?
Data Flow Diagram depicts the information flow and the transforms that are applied on
the data as it moves from input to output.
16. What is meant by CFD?
Control Flow Diagram show how events flow among processes. It also shows how
external events activates the processes.
17. What is meant by structural analysis?
The structural analysis is mapping of problem domain to flows and transformations. The
system can be modeled using Entity relationship diagram, Data flow diagram and control
flow diagram.
18. What are the non functional requirements for software?
The non functional requirements define system properties and constraints.
Various properties of the system can be Reliability, response time, storage requirements.
Constraints of the system can be Input and output device capability, system
representations.
19. Define Data dictionary.
The data dictionary can be defined as an organized collection of all the data
elements of the system with precise and rigorous definitions so that user and system
analyst will have a common understanding of inputs, outputs, components of stores and
intermediate calculations.
20. What do you mean by rapid prototyping?
Rapid prototyping is a technique in which the initial version of the software
system that demonstrates the concept can be developed rapidly. During rapid prototyping
the initial prototype is produced and can be refined in later versions.
UNIT III ANALYSIS, DESIGN CONCEPTS AND PRINCIPLES
1. What is an architectural style?
Architectural style describes system category that encompasses
a set of components that performs a function required by a system.
Set of connectors that enable communication, coordination among components
How components can be integrated to form the system
Semantic models enable a designer to understand the overall properties of a
system.
2. Describe version control in the context of SCM.
Configuration management allows a user to specify alternative configurations of
the software system.
3. What is logarithmic Poisson distribution model?
logarithmic Poisson distribution model is a version of failure model which takes the
form
f(t)=(1/p)ln[I
0
pt+1]
where f(t)=Number of expected failure at time t.
I
0=
Initial number of failure intensity.
P=Exponential reduction in failure intensity.
4. What is transform mapping?
The transform mapping is a set of design steps applied on the DFD in order to
map the transformed flow characteristics into specific architectural style.
5. What are the types of coupling?
Data coupling , stamp coupling, control coupling, External coupling, Common
coupling, Content coupling.
6. What are the different types of Cohesion?
*Coincidentally cohesive * logically cohesive *Temporal cohesion * Procedural
cohesion * Communicational cohesion
7. Differentiate version control and change control.
Version Control combines procedures and tools to manage different versions of
configuration objects that are created during software process.
Change control is a set of procedures to evaluate the need of change and apply the
changes requested by the user in a controlled manner.
8. List the principles of a software design.
i. The design process should not suffer from tunnel vision.
ii. The design should be traceable to the analysis model.
iii. The design should exhibit uniformity and integration.
iv. Design is not coding.
v. The design should not reinvent the wheel.
9. What is meant by cohesion? How software should be designed considering cohesion?
Cohesion is a measure of the relative functional strength of a module. The greater
the cohesion of each module in the system, lower the coupling between the modules. The
internal cohesion of a module is measured in terms of the strength of the hiding of
elements with in the module.
10. What are the various models produced by software design process?
*Data design *Architectural design *Interface design * Component level design.
11. What are the quality parameters considered for effective modular design?
Two quality parameters are Coupling and Cohesion.
Coupling is defined as a interdependency between the modules.
Cohesion is defined as a individual strength of a module
12. What are types of architectural styles?
i. Data centered architecture.
ii. Data flow architecture.
iii. Call and return architecture.
iv. Object-oriented architecture.
v. Layered architecture.
13. Define real time system.
Real time system is a software system in which the correct functionalities of the
system are dependent upon results produced by the system and the time at which these
results are produced.
14. Define hard and soft real time system.
A soft real time system is a system whose operation is degraded if results are not
produced according to the specified timing requirements.
A hard real time system is a system whose operation is incorrect if results are not
produced according to the timing specification.
15. Define SCM (Software Configuration management).
Software Configuration Management is a set of activities carried out for identifying,
organizing and controlling changes throughout the lifecycle of computer software.
16. What is the difference between horizontal and vertical partitioning?
Horizontal partitioning:
It can be done by partitioning system into input, data transformation, output.
This kind of partitioning have fewer side effects in error or change propagation.
Vertical partitioning:
It suggests the control and work should be distributed to-down in the program
structure.
It defines separate branches of the module hierarchy for each major function.
17. What are the three modes of abstraction?
Procedural abstraction, Data abstraction, Control abstraction.
18. What is mean by fan-in, fan-out, factoring?
Fan- in: It indicates how many modules directly control a given module. Modules with
fan- in must have good cohesion.
Fan-out: It is a measure of the number of immediate subordinates to a module. If fan-out
is very high then it indicates that a single module is controlling many other modules.
Factoring: It means separation of function in to new modules. By applying factoring the
size of the module is reduced hence complexity is reduced and it avoids duplication of
functions in more than one module.
19. What is meant by real time executives?
Real time executives are specialized operating system which is used in process
management.
20. What the strength and weakness are of transform mapping?
Strength: After performing transform mapping the architectural representation of
software gets developed with good cohesion and low coupling.
Weakness: If the modifications need to be made on this architecture then it requires
additional work.
UNIT IV TESTING
1. Define software Testing.
Testing can be described as a process used for revealing defects in software, and
for establishing that the software has attained a specified degree of quality withrespect
to selected attributes.
2. What are the steps for top down integration?
* Main control module is used as a test driver and stubs are substituted for all
components directly subordinate to the main module.
* Depending on integration approach (Depth or breadth first) subordinate stubs are
replaced one at a time with actual components.
*Tests are conducted as each component is integrated.
*The completion of each set of tests another stub is replaced with real component
*Regression testing may be conducted to ensure that new errors have not been
introduced.
3. What are the steps involved in testing real time system?
*Task testing * Behavioral Testing, *Inter task Testing, *System Testing
4. Assume a program for computing the roots of quadratic equation. List out the test
cases using equivalence partitioning method.
Roots of quadratic equation = -b+ b
2
-4ac
2a
Roots can be equal, unequal or imaginary. So test cases are selected that all the three
conditions are satisfied.
5. Write short notes on equivalance partitioning.
Equivalance partitioning is a black box testing method that divide the input domain of
a program into classes of data from which test cases can be derived.
6. What is the use of drivers and stubs in testing?
A driver is a main program that accepts test case data, passes such data to the
component and print relevant results.
A stub or dummy subprogram uses the subordinate modules interface, may do the
minimal data manipulation, prints verification of entry and returns control to the module
undergoing testing.
7. What is the objective of unit testing?
The objective of unit testing is to test the modules individually in order to detect
defects
8. What is Beta testing?
Alpha testing is a testing in which the version of software is tested by the
customer without the developer being present. This testing is performed at customers site.
9. What is system testing and specify the type.
In system testing, the testing of group of components integrated to create a system or
sub-system is done. These tests are based on system specification.
Types of system testing are Recovery testing, Security testing, Stress testing,
Performance testing
10. What are the objectives of testing?
Testing is a process of executing a program with the intend of finding an error.
A good test case is one that has high probability of finding an undiscovered error.
A successful test is one that uncovers as an-yet undiscovered error.
11. What are the principles of testing the software engineer must apply while
performing the software testing?
All tests should be traceable to customer requirements.
Tests should be planned long before testing begins.
The Pareto principle can be applied to software testing-80% of all errors
uncovered during testing will likely be traceable to 20% of all program modules.
Testing should begin in the small and progress toward testing in the large.
Exhaustive testing is not possible.
To be most effective, an independent third party should conduct testing.
12. What are the errors uncovered by black box testing?
Incorrect or missing functions
Interface errors
Errors in data structures
Performance errors
Initialization or termination error
13. What are the guidelines for debugging?
a. Debugging occur as a consequence of successful testing
b. Debugging process begins by executing the test cases
c. Test results are assessed and a lack of correspondence between expected and
actual results
d. The debugging process attempts to match symptom with cause. This enables to
correct the errors.
14. Distinguish black box and white box testing.
15. What is meant by cyclomatic complexity?
Cyclomatic complexity is a software metric that gives the quantitative measure of
logical complexity of the program
V(G)=E-N+2
E-Number of flow graph edges
N-Number of flow graph nodes
16. What is stress testing?
Stress testing is a testing for a system which is executed in a manner that demands
resources in abnormal quantity, frequency, volume.
17. Why tests are important with respect to software?
The purpose of software testing is to ensure whether the software functions appear to be
working according to specifications and performance requirements. This helps in
improving the overall quality of the software.
18. What is meant by regression testing?
Regression testing is used to check for defects propagated to other modules by changes
made to existing program. Thus, regression testing is used to reduce the side effects of
the changes.
19. What is alpha testing?
Alpha testing is a testing in which the version of complete software is tested by
the customer under the supervision of developers. This testing is performed at
developer site.
20. What is meant by Boundary value analysis?
Boundary value analysis is a testing techniquein which the elements at the edge of
the domain are selected and tested.
Black box testing white box testing
1. Black box testing is called behavioral
testing
2.It examines a system functionality with
testcase input and output.
1. white box testing is called glass box
testing
2. Here the procedural details, all the
logical paths, all the internal data
structures are closely examined.
21. What are the limitations of testing?
Intraceability
Undecidability
22. Differentiate between testing and debugging. (U.Q Nov/Dec 2008)
23. Define the term Debugging or fault localization.
Debugging or fault localization is the process of
Locating the fault or defect
Repairing the code, and
Retesting the code.
24. Define Error
An error is mistake or misconception or misunderstanding on the part of a
software developer.
25. Define Faults (Defects).
A fault is introduced into the software as the result of an error. It is an anomaly
in the software that may cause nit to behave incorrectly, and not according to its
specification.
26. Define failures.
A failure is the inability of a software or component to perform its required functions
within specified performance requirements.
27. Distinguish between fault and failure. (U.Q May/June 2009)
Fault Failure
1. A fault is introduced into the
software as the result of an error. It
is an anomaly in the software that
may cause nit to behave incorrectly,
and not according to its
specification.
2. A failure is the inability of a
software or component to perform
its required functions within
specified performance
requirements.
Testing Debugging
1. Testing as a dual purpose
process
Reveal defects
And to evaluate
quality attributes
1. Debugging or fault localization is the
process of
Locating the fault or
defect
Repairing the code, and
Retesting the code.
28. Define Test Cases.
A test case in a practical sense is attest related item which contains the following
information.
A set of test inputs. These are data items received from an external
source by the code under test. The external source can be hardware,
software, or human.
Execution conditions. These are conditions required for running the test,
for example, a certain state of a database, or a configuration of a
hardware device.
Expected outputs. These are the specified results to be produced by the
code under test.
29. Write short notes on Test,
A Test is a group of related test cases, or a group of related test cases and test
procedure.
UNIT V SOFTWARE QUALITY ASSUSRANCE
1. Define process in the context of software quality. ( U.Q Nov/Dec 2009)
Process, in the software engineering domain, is a set of methods, practices,
Standards, documents, activities, polices, and procedures that software engineers use to
develop and maintain a software system and its associated artifacts, such as project and
test plans, design documents, code, and manuals.
2. Define Software Quality.
Quality relates to the degree to which a system, system component, or process meets
specified requirements.
Quality relates to the degree to which a system, system component, or process
meets Customer or user needs, or expectations.
3. List the Quality Attributes.
Correctness
Reliability
Usability
Integrity
Portability
Maintainability
Interoperability
4. Define SQA group.
The software quality assurance (SQA) group is a team of people with the
necessary training and skills to ensure that all necessary actions are taken during the
development process so that the resulting software confirms to established technical
requirements.
5. Explain the work of SQA group.
Testers to develop quality related policies and quality assurance plans for each
project.The group is also involved in measurement collection and analysis, record
keeping, and Reporting. The SQA team members participate in reviews and audits,
record and track Problems, and verify that corrections have been made.
6. Define SCM (Software Configuration management).
Software Configuration Management is a set of activities carried out for
identifying, organizing and controlling changes throughout the lifecycle of computer
software.
7. What are the SCM activities?
*Object identification
* Change control
* Version control
*Configuration audit
*Status reporting
8. Define basic equation for the effort estimation models
Effort E=V/L
where V=Volume of the program, L=Length of the program
By Halsteads measurement E=
1
N2log
2

2
2
9. Categorize the project planner estimates in FP based estimation
Inputs, Data files, External interfaces, Critical performance, Code designed for
reuse, Outputs, inquires, back up, recovery, Master files updated on- line, Multiple
installation.
10. What is the purpose of timeline chart?
The purpose of the timeline chart is to emphasize the scope of the individual task.
Hence set of tasks are given as input to the timeline chart
11. How to measure the function point FP?
i. Determine a number of items occurring in the system.
ii.Unadjusted Function count is calculated by UFC=item
i
w
i
iii.Function point FP=UFC * TCF where TCF is Technical complexity factor.
TCF=0.65+0.1f
i
12. Define information flow metric.
Information flow metric is defined as the product of length, fan- in and fan-out.
Information flow= length *(fan-in * fan-out)
2
13. What is EVA?
Earned Value Analysis is a technique of performing quantitative analysis of the
software project. It provides a common value scale for every task of software project. It
acts as a measure for software project progress.
14. Write the advantages of CASE tool.
*Ability of automate manual activities and to improve engineering insight.
*CASE tools help to ensure that quality is designed in before the products are built.
15. What are types of software maintenance?
Corrective maintenance: maintenance for correcting the software faults
Adaptive maintenance: maintenance for adapting the change in environment.
Enhancement maintenance: modifying or enhancing the system to meet the new
requirements
Preventive maintenance: changes made to improve future maintainability.
16. List out few product and process metrics.
Process metrics: Lines of code or function points per module and function, defect
reported for major software function, errors found during formal technical review.
Product metrics: Metrics for testing , maintenance ,quality
17. What are the four categories of CASE tool?
*Business process engineering tool,* Project planning tools,*Risk analysis tools
*Requirements tracing tools.
18. What is meant by Scheduling?
Scheduling is an activity that distributes estimated effort across the planned
project duration by allocating effort to specified software engineering tasks.
19. What are the reasons for software change?
*New requirements emerge when the software is used.* Change in business
environment,*Errors needs to be repaired,* New equipment must be
accommodated,* The performance may have to be improved.
20. What is meant by COCOMO model?
COnstructive COst MOdel is a cost estimation model, which gives the estimate of
number of person per months it will take to develop the software product.
21. What is software cost estimation?
It is the process of predicting the resources required for software development
process.
22. What is meant by direct and indirect metrics?
Direct measures refers to immediately measurable attributes.(eg):lines of code
Indirect measure refers to the aspects that are not immediately measurable. Eg:
Functionality of the program.
23. What are the building blocks of CASE?
CASE has the following components, Environment architecture, Hardware
platform, Operating system, Portability services, Integration frame work, and CASE tools
24. What is the purpose of Zips law?
The purpose of ZIPS studies was to investigate dependencies between
frequencies of some words in a sample of text.ZIPs law can be used to derive a length of
document(n) for a given number of classes of tokens.
25. What is meant by metrics and measurement?
Metrics is the degree to which a system component or processes possesses a given
attribute. The software metrics relate several measures. Eg: average no. of errors found
per review.
Measurement means deriving a numeric value for an attribute of a software product
or process.
UNIT I
1. Explain the system engineering hierarchy in detail.
System Engineering as a consequence of process.
Focus on variety of elements, analyzing, designing & organizing those elements
into a system
System engg Process are:
Requirement gathering &analysis
System design
SubSystem development
System integration
System deployment
System evolution
System decommmisioning
System design:
Organizing requirements
Identification of subsystem
Requirement assignment
Specifying subsystem functionality
Subsystem interfeace defn
System engineering hierarchy diagram
World view WV={D1,D2,,Dn}
Domain view Di={E1,E2,,En}
Element view Ei={C1,C2,,Ck}
Detailed view
System Modeling
To construct a system model the following restraining factors are to be considered:
Assumptions
Simplifications
Limitations
Constraints
Preferences
System Simulation
2. Explain software development life cycle models or software process models.
1.Linear Sequential Model or Classic life cycle model or Waterfall model
Diagram for Waterfall model
The model encompasses the following activities:
1. System/information engineering and modeling
2. Software requirement analysis
3. Design
4. Code generation
5. Testing
6. Support
Advantages and disadvantages
2. Prototyping Model
The prototype can serve as the first system which is a throw away
system.
Diagram for prototyping model
Activities: Listen to customer
Build/Revise Mock-up
Customer test drives Mock-up
3. RAD Model
Rapid Application Development Model is the type of incremental
Model. Diagram
Phases include
1. Business modeling
2. Data modeling
3. Process modeling
4. Application generation.
5. Testing and turnover.
4. Incremental Model
It is an evolutionary software process model.
The first increment is a core product.
Combines the elements of the linear sequential model with
iterative nature of prototyping
Diagram for Incremental model
Activities: analysis,design,code,test
Advantages
5.Spiral Model
It is an evolutionary software process model.
Combines the elements of the linear sequential model with
iterative nature of prototyping
Used for the development of large scale systems and software.
Spiral model diagram
The task regions are:
Customer communication
Planning
Risk analysis.
Engineering.
Construction and release.
Customer evaluation.
6.WIN WIN Spiral Model
It is an evolutionary software process model.
Diagram
The model includes 3 process milestones called anchor points:
Life cycle objectives
Life cycle architecture
Initial Operational Capability
7.Object Oriented Model
Object Oriented Model Process model which define a network of
activities .
Object oriented model diagram.
Phases in object oriented life cycle model.
Requirement phase
Analysis phase
Identification of classes
Identification of objects
Design phase
Designing interfaces between classes
Encapsulation of network
Establishing inheritance and code reusability
Implementation and component based development
Testing
UNIT II
1. Explain the various prototyping approaches or prototyping models in detail.
i. Evolutionary Prototyping
Objective is to deliver a working system to end user
Start with the user requirements which are best understood.
Diagram for Evolutionary prototyping.
Advantages
Accelerated delivery of the system
User engagement with the system
Problems
Management problems
Maintenance problems
Contractual problems
ii. Throw-away Prototyping
Objective is to validate or derive the system requirements.
Diagram for Throw away prototyping
Start with those requirements that are not well understood.
Advantages

Problems
It can be undocumented.
Changes made during the software development proceed may
degrade the system structure.
Sometimes organizational quality standard may not be strictly
applied.
2. Explain the various rapid prototyping techniques or methods
Development techniques which emphasize speed of delivery.
There are 3 techniques
Dynamic high level language development
Definition : These are programming language which include powerful
runtime management facilities.
Advantage: Increased power, reduced cost
Disadvantage: needs large run time support
Database Programming
Definition
4GL(Fourth generation language)
Components of 4GL-Diagram
Data base query language
Interface generator
Spreadsheet/Report generator
Component and application assembly
Diagram-Reusable component composition
Levels:
1.application level
2.Component level
Application linking
3. Explain functional and non-functional requirements.
Functional requirements
Statements of services the system should provide, how the system should react to
particular inputs and how the system should behave in particular situations.
Non-functional requirements
Constraints on the services or functions offered by the system.
Different types of non-functional requirements (Diagram) are
o Product requirements
Usability requirement-Performance, space requirement
Efficiency requirement
Reliability requirement
Portability requirement
o Organisational requirements
Delivery requirement
Implementation requirement
Standars requirement
o External requirements
Interoperability requirement
Ethical requirement
Legislative requirement
4. Explain the structure of software requirements document
Requirements document should satisfy six requirements
Specify only external system behavior
Specify constraints on the implementation
Easy to change
Serve as a reference tool for system maintainers
Record forethought about the life cycle of the system.
Characterise acceptable responses to undesired events.
Structure of a requirements documents:
Preface
Introduction
Glossary
User requirements definition
System Architecture
System Requirements Specification
System models
System evolution
Appendices
Index
5. Explain in detail about data modeling
Data modeling makes use of the Entity Relationship Diagram.
Data Objects, Attributes and Relationships
Data object representation of something that has a number of different
properties or attributes,Example
Attributes - name a data object, describe its characteristics, make reference to
another object.
Relationships Indicate the manner in which data objects are connected to
one another. Example diagram
Cardinality and Modality
Cardinality is the specification of the number of occurrences of one object
that can be related to the number of occurrences of another object.
o One-to-one cardinality.
o One-to-many cardinality.
o Many-to-Many cardinality.
Modality of a relation is 0 if there is no explicit relationship or relation is
optional.Modality is 1 if an occurrence of relationship is mandatory.
Entity/Relationship Diagrams
Components of ER Diagram
ER diagram for manufacturer and relationship
6. Explain the requirements engineering tasks in detail.
Requirement engineering process diagram
Four Requirement engineering activities
Feasibility studies
Requirements elicitation and analysis
The activities involved in elicitation and analysis process are:
1. Domain Understanding
2. Requirements Collection
3. Classification
4. Conflict resolution
5. Prioritisation
6. Requirements checking
1. Viewpoint oriented elicitation
A viewpoint is
1. data source or sink
2. A representation frame work
3. A receiver of services
Principal stages of Viewpoint oriented Requirement method are:
1.Viewpoint identification
2.Viewpoint structuring
3.Viewpoint documentation
4.Viewpoint system mapping
2. Scenarios
o Event scenarios
o Use cases
3.Ethnography
Requirements Validation
Different types of checks carried out on the requirement during
validation are:
Validity checks
Consistency
Completeness
Realism checks
Verifiability
Requirement validation techniques are:
Requirement review
Reviewers check for :
o Verifiability
o Comprehensibility
o Traceability
o Adaptability
Prototyping
Test case generation
Automated consistency analysis
Requirements Management
1. Enduring and Volatile requirements
Enduring requirements
Stable requirements related directly to the domain of the
system.
Volatile requirements
Changes during system development or after the system
have been put into operation.
2. Requirements Management Planning
During requirement management stage decide on
Requirements identification
A change management process
Traceability policies
CASE tool support
There are three types of traceability information
Source traceability information
Requirements traceability information
Design traceability information
Requirements management tools is required for:
Requirements Storage
Change Management
Traceability Management
3. Requirements Change Management
There are 3 principal stages to a change management process:
Problem analysis and change specification
Change analysis and costing
Change implementation
7. Explain in detail about Functional Modeling.
This model describes the computations that take place within a system.
This model is useful when the transformation from the inputs to outputs is
complex.
The functional model of a system can be represented by a data Flow
Diagram (DFD).
Data Flow Diagrams/Data Flow Graph/Bubble 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.
Level 0 DFD also called as fundamental system model or context model
represents the entire software as a single bubble with input and output indicated by
incoming and outgoing arrows.
Level 1 DFD contains 5 or 6 bubbles. Each bubbles can be refined at Layers to
depict more details.
Extensions to Real Time Systems
Ward and Meller extensions
Data and control flow using ward and mellor extensions-diagram
Hatley and Pirbhai extension.
Relationship between data and control models
UNIT III
1. Explain the design steps for transform mapping.
Review the fundamental system model.
Level0 DFD for safe home-Diagram
Level1 DFD for safe home-Diagram
Review and refine the data flow diagrams for the software.
Level2 DFD for safe home-Diagram
Determine whether the DFD has the transform or transaction flow
Characteristics
Level3 DFD for monitor sensors with flow boundaries-diagram
Isolate the transform center by specifying incoming and outgoing flow
boundaries.
Perform first- level factoring.
first- level factoring-Diagram
Perform second- level factoring.
Second- level factoring-Diagram
First iteration structure for monitor sesors
Refine the first iteration architecture using design heuristics for
improved software quality
2. Explain the design steps in transaction mapping.
Review the fundamental model.
Review and refine the data flow diagrams for the software.
Determine whether the DFD has the transform or transaction flow
Characteristics
Level 2 DFD for user interaction subsystem with flow boundaries-Diagram
Identify transaction center and the flow characteristics along each of the
action paths.
Map the DFD in a program structure amenable to transaction processing.
Factor and refine the transaction structure and the structure of each
action path.
Diagram for first level factoring of user interaction system.
Refine the first iteration architecture using design heuristics for
improved software quality.
Diagram for first iteration structure of user interaction system.
3. Explain in detail the design concepts.
Abstraction
Functional or Procedural abstraction
Data abstraction
Control abstraction
Refinement
Modularity
5 criteria to define a effective modular system
Modular decomposability
Modular composability
Modular Understandability
Modular Continuity
Modular protection
Software Architecture
Control Hierarchy
Structural Partitioning
Horizontal partitioning
Vertical partitioning
Data Structure
Software Procedure
Information Hiding
4. Explain the different architectural styles for software design in detail.
Data-centered architecture
Data- flow architecture
Call and return architectures
o Main program/subprogram architectures
o Remote procedure call architectures
Object oriented architectures
Layered architectures
5. Explain real time system?
Real time system is a software system where the correct functioning of the
system depends on the results produced by the system and the time at which
these results are produced.
Types
Hard real time system
Soft real time system
Real time system modeling
Real time programming
6. Explain the design principles.
The design process should not suffer from tunnel vision.
The design should be traceable to the analysis model.
Design should not reinvent the wheel.
The design should minimize the intellectual distance between the software and
problem as it exists in the real world.
The design should be structured to degrade gently, even when aberrant data,
events or operating conditions are encountered.
Design is not coding, coding is not design.
The design should be assessed for quality as it is being created, not after
the fact.
The design should be reviewed to minimize conceptual (semantic) errors
7. Explain User interface design process
Diagram
Framework activities for User interface design process
1.User,task,environment analysis and modeling
2.Interface design
3.Interface construction
4.Interface validation
UNIT IV
1. Explain Black Box testing and white box-testing.
White box testing also called as Basis path testing
Flow Graph Notation
Cyclomatic Complexity
Deriving Test cases
o Using the design or code as a foundation draw a corresponding flow
graph
o Determine the cyclomatic complexity of the resultant flow graph
Determine a basis set of linearly independent paths
Prepare test cases that will force execution of each path in the basis set
Graph Matrices
Black Box testing also called as behavioral testing
Graph-Based Testing Methods
Equivalence partitioning
Boundary Value Analysis
Comparison Testing
Orthogonal Array Testing
2. Explain about the software testing strategies.
Verification and Validation. Verification refers to the set of activities that ensure
that software correctly implements a specific function. Validation refers to a
different set of activities that ensure that the software that has been built is
traceable to the customer requirements.
Organizing for software testing
A software testing strategy.
Criteria for completion of testing.
3. Different types of software testing
Unit testing
Unit Test Considerations
Unit Test Procedures
Integration Testing
Top-down Integration
Bottom-up Integration
Regression testing
Smoke Testing
Integration Test Documentation
Validation Testing
Validation Test Criteria
Configuration Review
Alpha and Beta Testing
System Testing
Recovery Testing
Security Testing
Stress Testing
Performance Testing
UNIT V
1. Describe the activities of SCM in detail.
Baselines
Software Configuration Items
SCM Activities
Identification of objects
Version Control
Change control
Configuration audit.
Status reporting
1.Explain the different Software Cost Estimation Models.
Function Point Model
Diagram-function point model-a general scheme
i. Determine a number of items occurring in the system.
ii.Unadjusted Function count is calculated by UFC=item
i
w
i
iii.Function point FP=UFC * TCF where TCF is Technical complexity factor.
TCF=0.65+0.1f
i
COCOMO Model
Constructive Cost Model.
Software cost estimation gives the estimation of how much months a man
take to develop a software product.
Application Composition Model.
Early design stage model
Post-architecture stage model.
COCOMO II application composition uses object points.
OP=(object point)X[100-%reuse)/100]
NOP-New Object Point.
Productivity Rate, PROD=NOP/person-Month.
Delphi Method
Procedure
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 theexperts mainly
discuss the points where their estimates vary widely.
The experts again fill out forms anonymously.
Again co-ordinator edits and summarizes the forms,repeating steps 5
and 6 until the co-ordinator is satisfied with the overall prediction
synthesized from experts.
4. Explain about Architectural Evolution in detail
Reasons to change from centralized to distributed client-server systems are:
o Hardware costs
o User interface expectations
o Distributed access to systems
5 layers of a distributed model
o Presentation layer
o Data Validation layer
o Interaction control layer
o Application service layer
o Database layer
User interface distribution
Two implementation strategies for user interface distribution:
o Use Window management system
o Use WWW browser
5. Discuss about Software maintenance.
Software maintenance
Three different types of software maintenance
Maintenance to repair software faults.
Maintenance to adapt the software to a different operating environment.
Maintenance to add to or modify the systems functionality.
Key factors that lead to higher maintenance cost are:
Team stability
Contractual responsibility
Staff skills
Program age and structure
Maintenance Process
Maintenance Prediction
Metrics useful for assessing maintainability
Number of requests for corrective maintenance
Average time required for impact analysis
Average time taken to implement a change request
Number of outstanding change requests
6. Explain the scheduling of software project
Scheduling is an activity that distributes estimated effort across the planned
project duration by allocating effort to specified software engineering tasks.
Scheduling methods
* Program evolution and review technique (PERT)
*Critical Path Method (CPM)
Timeline chart
Tracking the schedule
Time boxing
7. Explain in detail Earned value analysis(EVA)
A Quantitative technique for assessing progress and percent of completion of the project.
Determine BCWS(Budgeted cost of work scheduled)
Calculate Budget at completion BAC=BCWS
k
Determine Budgeted cost of work performed(BCWP)
Calculate Progress indicators
Schedule performance index SPI=BCWP
BCWS
Schedule variance SV=BCWP-BCWS
Percent scheduled for completion =BCWS/BAC
Percent complete =BCWP/BAC
Determine Actual cost of work performed(ACWP)
Cost performance index CPI=BCWP/ACWP
Cost variance CV=BCWP-ACWP
8. Explain about Halsteads software science measure.
Program length
Estimated Program length N=N
1
+N
2
N
1
-Total number of operands
N
2
-Total number of operands
Actual program length N=
Program volume measure
Potential volume measure
Program level
Effort and time measure
.