15,16 2 mark seqa
TRANSCRIPT
-
8/12/2019 15,16 2 mark SEQA
1/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
Engineer ing/ 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.
-
8/12/2019 15,16 2 mark SEQA
2/32
-
8/12/2019 15,16 2 mark SEQA
3/32
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?
VerificationValidation
1. Are we building the product right?
2. Verificat ion 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 model2. Water fall model
3. Incremental process Model1. Incremental Model2. RAD Model
4. Evolutionary process Model1. Prototyping model
2. Spiral Model3. The concurrent development Model
5. Specialized Process Model
1. Component based development Model2. Formal Methods Model
3. Aspect oriented S/W development (AOSD)6. Unified process model
17. Define Water fall model. It is an oldest model
-
8/12/2019 15,16 2 mark SEQA
4/32
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.
-
8/12/2019 15,16 2 mark SEQA
5/32
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
-
8/12/2019 15,16 2 mark SEQA
6/32
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.
System is an established way of doing something like method, procedure.
Computer based system is 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 e lements of analysis model.
i. Data Dictionary
ii. Entity Relationship Diagram
iii. Data Flow Diagram
iv. State Transition Diagram
v. Control Specification
vi. Process specification
-
8/12/2019 15,16 2 mark SEQA
7/32
2. What are the informations available in the data dictionary?
Precise definition of data elements, User names, roles and privileges, Schema
objects, Integr ity 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 clearunderstand 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 s upplementary
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?
-
8/12/2019 15,16 2 mark SEQA
8/32
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 quicklythat 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 someof the most important parts of the system.
-
8/12/2019 15,16 2 mark SEQA
9/32
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. Thesystem 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. Dur ing rapid prototyping
the initial prototype is produced and can be refined in later versions.
-
8/12/2019 15,16 2 mark SEQA
10/32
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[I0pt+1]
where f(t)=Number of expected failure at time t.
I0=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 cohes ive * logically cohes ive *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/12/2019 15,16 2 mark SEQA
11/32
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 des igned 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 specificat ion.
-
8/12/2019 15,16 2 mark SEQA
12/32
-
8/12/2019 15,16 2 mark SEQA
13/32
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+ b2-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 inter face, 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?
-
8/12/2019 15,16 2 mark SEQA
14/32
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 p lanned 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
-
8/12/2019 15,16 2 mark SEQA
15/32
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 programV(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.
-
8/12/2019 15,16 2 mark SEQA
16/32
-
8/12/2019 15,16 2 mark SEQA
17/32
28. Define Test Cases.
A test case in a practica l sense is attest related item which contains the followinginformation.
A set of test inputs. These are data items received from an externalsource 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 ahardware 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
-
8/12/2019 15,16 2 mark SEQA
18/32
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=1N2log2
22
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=itemi wi
-
8/12/2019 15,16 2 mark SEQA
19/32
iii.Function point FP=UFC * TCF where TCF is Technical complexity factor.
TCF=0.65+0.1fi
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.
-
8/12/2019 15,16 2 mark SEQA
20/32
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, Operat ing system, Portability services, Integration frame work, and CASE tools24. 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.
-
8/12/2019 15,16 2 mark SEQA
21/32
UNIT I1. Explain the system engineering hierarchy in detail.
System Engineer ing 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 ModelingTo 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 modelDiagram for Waterfall model
The model encompasses the following activities:1. System/information engineering and modeling2. Software requirement analysis
3. Design4. Code generation
-
8/12/2019 15,16 2 mark SEQA
22/32
5. Testing6. Support
Advantages and disadvantages2. Prototyping Model
The prototype can serve as the first system which is a throw awaysystem.
Diagram for prototyping model
Activities: Listen to customerBuild/Revise Mock-up
Customer test drives Mock-up
3. RAD Model
Rapid Application Development Model is the type of incrementalModel. Diagram
Phases include1. Business modeling2. 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
Advantages5.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 sca le systems and software.
Spiral model diagram
The task regions are:
Customer communicationPlanningRisk 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
-
8/12/2019 15,16 2 mark SEQA
23/32
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 phaseIdentification of classes
Identification of objects Design phase
Designing interfaces between classes
Encapsulation of networkEstablishing 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 de livery 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 maydegrade the system structure.
Sometimes organizational quality standard may not be strictlyapplied.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 powerfulruntime management facilities.
Advantage: Increased power, reduced costDisadvantage: needs large run time support
Database Programming
-
8/12/2019 15,16 2 mark SEQA
24/32
Definition4GL(Fourth generation language)
Components of 4GL-Diagram
Data base query language
Interface generatorSpreadsheet/Report generator
Component and application assembly
Diagram-Reusable component compositionLevels:
1.application level2.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 requirementEfficiency requirement
Reliability requirementPortability requirement
o Organisational requirements
Delivery requirementImplementation requirement
Standars requirement
o External requirementsInteroperability requirement
Ethical requirementLegislative 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
-
8/12/2019 15,16 2 mark SEQA
25/32
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,ExampleAttributes - 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 objectthat 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 isoptional.Modality is 1 if an occurrence of relationship is mandatory.
Entity/Relationship DiagramsComponents 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 Collection3. Classification4. Conflict resolution
5. Prioritisation6. Requirements checking
1. Viewpoint oriented elicitationA viewpoint is
1. data source or sink
2. A representation frame work
3. A receiver of servicesPrincipal stages of Viewpoint oriented Requirement method are:
1.Viewpoint identification2.Viewpoint structuring
3.Viewpoint documentation4.Viewpoint system mapping
2. Scenar ioso Event scenarioso Use cases
3.Ethnography
Requirements Validation
-
8/12/2019 15,16 2 mark SEQA
26/32
Different types of checks carried out on the requirement duringvalidation are:
Validity checks
Consistency
Completeness
Realism checks
Verifiability
Requirement validation techniques are: Requirement review
Reviewers check for :
o Verifiabilityo Comprehensibility
o Traceabilityo 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 systemhave 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 iscomplex.
-
8/12/2019 15,16 2 mark SEQA
27/32
The functional model of a system can be represented by a data Flow
Diagram (DFD).Data Flow Diagrams/Data Flow Graph/Bubble chartA 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 s ingle 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 extensionsData and control flow using ward and mellor extensions-d iagram
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-DiagramLevel1 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 flowCharacteristics
Level3 DFD for monitor sensors with flow boundaries-diagram
Isolate the transform center by specifying incoming and outgoing flowboundaries.
Perform first- level factoring.first- level factor ing-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 quality2. 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 flowCharacteristics
Level 2 DFD for user interaction subsystem with flow boundaries-Diagram
Identify transaction center and the flow characteristics along each of theaction paths.
Map the DFD in a program structure amenab le 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 forimproved software quality.
-
8/12/2019 15,16 2 mark SEQA
28/32
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 architectureso Main program/subprogram architectureso 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 whichthese results are produced.
Types
Hard real time systemSoft 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.
-
8/12/2019 15,16 2 mark SEQA
29/32
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 modeling2.Interface design
3.Interface construction4.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 flowgraph
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 adifferent set of activities that ensure that the software that has been built istraceable 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
-
8/12/2019 15,16 2 mark SEQA
30/32
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.
BaselinesSoftware 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 ModelDiagram-function point model-a general scheme
i. Determine a number of items occurring in the system.ii.Unadjusted Function count is calculated by UFC=itemi wiiii.Function point FP=UFC * TCF where TCF is Technical complexity factor.
TCF=0.65+0.1fi 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
-
8/12/2019 15,16 2 mark SEQA
31/32
ProcedureThe co-ordinator presents a specification and estimation form to each expert.
Co-ordinator calls a group meeting in which the experts discuss estimationissues 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 5and 6 until the co-ordinator is satisfied with the overall predictionsynthesized from experts.
4. Explain about Architectural Evolution in detail
Reasons to change from centralized to distributed client-server systems are:o Hardware costso User interface expectations
o Distributed access to systems
5 layers of a distributed modelo Presentation layero Data Validation layero Interaction control layer
o Application service layero Database layer
User interface distributionTwo implementation strategies for user interface distribution:
o Use Window management systemo 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 projectScheduling is an activity that distributes estimated effort across the planned
project duration by allocating effort to specified software engineering tasks.
-
8/12/2019 15,16 2 mark SEQA
32/32
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=BCWSk Determine Budgeted cost of work performed(BCWP)
Calculate Progress indicatorsSchedule performance index SPI=BCWP
BCWSSchedule 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=N1+N2N1-Total number of operandsN2-Total number of operands
Actual program length N=
Program volume measure
Potential volume measure
Program level
Effort and time measure
.