IT 2251- SOFTWARE ENGINEERING AND QUALITY ASSURANCE IT/SEQA/1… · IT 2251- SOFTWARE ENGINEERING...
Transcript of IT 2251- SOFTWARE ENGINEERING AND QUALITY ASSURANCE IT/SEQA/1… · IT 2251- SOFTWARE ENGINEERING...
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 softwareSoftware 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?
VerificationValidation
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 customer’s 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 model3. Incremental process Model
1. Incremental Model2. RAD Model
4. Evolutionary process Model1. Prototyping model2. Spiral Model3. The concurrent development Model
5. Specialized Process Model1. Component based development Model2. Formal Methods Model3. 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 doesn’t 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 doesn’t 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.
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 customer’s 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
Who’s 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[I0 pt+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 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+ 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 module’s 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 Halstead’s measurement E=η1N2log2η
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=∑itemi wi
iii.Function point FP=UFC * TCF where TCF is Technical complexity factor.
TCF=0.65+0.1∑fi
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 Zip’s law?
The purpose of ZIP’S studies was to investigate dependencies between
frequencies of some words in a sample of text.ZIP’s 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 I1. 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 diagramWorld 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 model
Diagram for Waterfall modelThe model encompasses the following activities:
1. System/information engineering and modeling2. Software requirement analysis3. Design4. Code generation
5. Testing6. Support
Advantages and disadvantages2. Prototyping Model
The prototype can serve as “the first system” which is a throw away system.
Diagram for prototyping modelActivities: Listen to customer
Build/Revise Mock-upCustomer test drives Mock-up
3. RAD ModelRapid Application Development Model is the type of incremental
Model. DiagramPhases include
1. Business modeling2. Data modeling3. Process modeling4. 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 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
∑ Object Oriented Model Process model which define a network ofactivities .
∑ Object oriented model diagram.∑ Phases in object oriented life cycle model.∑ Requirement phase∑ Analysis phase
Identification of classesIdentification of objects
∑ Design phaseDesigning 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 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 developmentDefinition : These are programming language which include powerful runtime management facilities.Advantage: Increased power, reduced costDisadvantage: needs large run time support
∑ Database Programming
Definition4GL(Fourth generation language)Components of 4GL-Diagram
Data base query languageInterface generatorSpreadsheet/Report generator
∑ Component and application assemblyDiagram-Reusable component composition
Levels:1.application level2.Component levelApplication linking
3. Explain functional and non-functional requirements.∑ Functional require ments
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 requirementsConstraints on the services or functions offered by the system.
Different types of non-functional requirements (Diagram) areo Product requirements
Usability requirement-Performance, space requirementEfficiency requirementReliability requirementPortability requirement
o Organisational requirementsDelivery requirementImplementation requirementStandars requirement
o External requirementsInteroperability requirementEthical requirementLegislative requirement
4. Explain the structure of software requirements documentRequirements 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 modelingData modeling makes use of the Entity Relationship Diagram.
∑ Data Objects, Attributes and RelationshipsData 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 DiagramER 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 Understanding2. Requirements Collection3. Classification4. Conflict resolution5. Prioritisation6. Requirements checking
1. Viewpoint –oriented elicitationA viewpoint is
1. data source or sink2. A representation frame work3. A receiver of services
Principal stages of Viewpoint oriented Requirement method are:1.Viewpoint identification
2.Viewpoint structuring3.Viewpoint documentation4.Viewpoint –system mapping
2. Scenarioso Event scenarioso 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 Verifiabilityo Comprehensibilityo Traceabilityo Adaptability
∑ Prototyping∑ Test case generation∑ Automated consistency analysis
∑ Requirements Management1. 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 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 modelrepresents 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 extensionsData 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-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 flow CharacteristicsLevel3 DFD for monitor sensors with flow boundaries-diagram
∑ Isolate the transform center by specifying incoming and outgoing flowboundaries.
∑ 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 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 flow
CharacteristicsLevel 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 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 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 which these results are produced.
∑ TypesHard 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.
∑ 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 afterthe 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 design3.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 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.BaselinesSoftware Configuration ItemsSCM 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 schemei. Determine a number of items occurring in the system.
ii.Unadjusted Function count is calculated by UFC=∑itemi wi
iii.Function point FP=UFC * TCF where TCF is Technical complexity factor.TCF=0.65+0.1∑fi
∑ 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
ProcedureThe 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 predictionsynthesized from experts.
4. Explain about Architectural Evolution in detailReasons to change from centralized to distributed client-server systems are:
o Hardware costso User interface expectationso Distributed access to systems
5 layers of a distributed modelo Presentation layero Data Validation layero Interaction control layero 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 system’s 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.
∑ 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 indicators
Schedule performance index SPI=BCWPBCWS
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 Halstead’s software science measure.∑ Program length
Estimated Program length N=N1+N2
N1-Total number of operandsN2-Total number of operands
Actual program length N=
∑ Program volume measure∑ Potential volume measure∑ Program level∑ Effort and time measure
.