Software Engineering
Software Engineering
Software Engineering
UNIT I
1. Write the IEEE definition of software engineering. (DEC-17)
Software engineering is a discipline in which theories, methods and tools are applied to develop
professional software.
3. If you have to develop a word processing software product, what process model will you
choose? Justify your answer. (May-18)
The incremental model can be used for developing a word processing software product. This is
because the basic functionality of word editing can be developed and verified from the
customer in the initial increment. Then in subsequent increments the advanced editing features
can be added.
Throw-away Prototyping: Using this approach a rough practical implementation of the system
is produced. The requirement problem can be identified from this implementation. It is then
discarded. System is then developed using some different engineering paradigm.
5. List two deficiencies in waterfall model. Which process model do you suggest to overcome
each deficiency? (May-17)
It is difficult to define all the requirement at the beginning of project, this model is not suitable
for accommodating any changes.
To overcome this deficiency: Prototyping model.
It does not scale up to large project
To overcome this deficiency: Spiral model.
23. What are the new practices that are appended to XP to create IXP
Readiness Assessment
Project Community
Project Chartering
Test Driven Management
Retrospectives
Continuous Learning
25. What are the five values defined by beck that serve as a basis for the work performed in
XP?
Communication
Simplicity
Feedback
Courage
Respect
UNIT II
16. What is the major distinction between user requirements and system requirement?
The user requirements describe both the functional and non functional requirements in such a
way that they are understandable by the user who do not have detailed technical knowledge. On
the other hand the system requirements are more detailed specification of system functions,
services and constraints than user requirements.
The user requirements are specified using natural language whereas system model expressed in
system models.
5. Define Modularity.
The modularity is an approach used during the designing of the software system. I this
approach, the software is divided into separately named and addressable components called
modules. Due to modularity, the program becomes manageable.
iv. Procedural cohesion – When processing elements of a module are related with one
another and must be executed in some specific order then such module is called procedural
cohesive.
9. What is Coupling?
Coupling is the measure of interconnection among modules in a program structure. It depends
on the interface complexity between modules.
11. What is the need for architectural mapping using data flow? (May-16)
Transform mapping and transaction mapping is used for architectural mapping using data flow
diagrams.
3. What are the testing principles the software engineer must apply while performing the
software testing? (May-18)
i. All tests should be traceable to customer requirements.
ii. Tests should be planned long before testing begins.
iii. The pareto principle can be applied to software testing-80% of all errors uncovered during
testing will likely be traceable to 20% of all program modules.
iv. Testing should begin “in the small” and progress toward testing “in the large”.
v. Exhaustive testing is not possible.
vi. To be most effective, an independent third party should conduct testing.
i. Component testing Individual components are tested. Tests are derived from developer‟s
experience.
ii. System Testing The group of components are integrated to create a system or sub- system
is done. These tests are based on the system specification.
The cyclomatic complexity can be computed by any one of the following ways.
1. The numbers of regions of the flow graph correspond to the cyclomatic complexity.
2. Cyclomatic complexity,V(G),for the flow graph,G,is defined as: V(G)=E-N+2,
E -- number of flow graph edges, N -- number of flow graph nodes
3. V(G)=P+1 Where P is the number of predicate nodes contained in the flow graph.
13. What are the various testing strategies for conventional software? (May-06)
i. Unit testing ii. Integration testing.
iii. Validation testing. iv. System testing.
18. What are the conditions exists after performing validation testing?
After performing the validation testing there exists two conditions.
The function or performance characteristics are according to the specifications and are
accepted.
The requirement specifications are derived and the deficiency list is created. The
deficiencies then can be resolved by establishing the proper communication with the
customer.
10. What are the metrics computed during error tracking activity?
Errors per requirement specification page.
Errors per component-design level
Errors per component-code level
DRE-requirement analysis
DRE-architectural analysis
DRE-component level design
DRE-coding.
Maintenance is defined as the process in which changes are implemented by either modifying