Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Download as pdf or txt
Download as pdf or txt
You are on page 1of 18

B3.

3-R3: SOFTWARE ENGINEERING & CASE TOOLS

Previous Question Papers

• January, 2007
• January 2006
• July 2006
• July, 2005
• January, 2005
• July, 2004
• January, 2004
• July, 2004 (Old Syllabus)
January, 2007
Time: 3 Hours

1.
a) What do you mean by software crisis? What are some of its indicators?
b) What do you mean by the syntactic domain and the semantic domain of a formal
specification language?
c) What is software reengineering? Why is it required?
d) What do you mean by change control? What is its need?
e) What are the different tools used in a CASE environment? How are these tools
integrated?
f) Differentiate between verification and validation of a software product. When would
you carry them out?
g) What is the difference between error and failure in the context of software testing?
Which one would you detect while testing?

(7*4)
2.
a) Bring out the difference between software requirements analysis and software
requirements validation.
b) What are the objectives of software requirements validation? What are some inputs
and outputs of the software requirements validation process?
c) Define Coupling in the context of software design. What are the different types of
coupling in practice? Discuss them briefly. Also discuss why data coupling is the best
form of coupling.
(4+6+8)
3.
a) What do you mean by a CASE tool and a CASE environment? Why integration of the
CASE tools is a necessity?
b) What are the primary objectives of developing CASE tools? What are the different
facilities that a CASE environment provides?
c) Does the use of CASE tools for software development help in cost saving? Why and
how much?
(6+6+6)
4.
a) What is a test case? How is it different from a test suite?
b) What do you mean by Black Box Testing? What are some considerations in this
regard? Discuss two methods of black box testing in detail.
c) In an automatic banking operation. The users need to enter an area code that should
assume values between 200 and 999. Find the test cases for the area code for the relevant
program from considerations of :
• Equivalence class partitioning
• Boundary value analysis
(4+8+6)
5.
a) Define software quality. Define the following software product quality factors -
portability, consistency, maintainability, testability, usability, and reliability.
b) Bring out the objectives of a formal technical review for software quality assurance.
c) What are some common software defects that ma occur in the context of software
development? Discuss them briefly. Which of these defects are usually more prominent?
(8+4+6)
6.
a) In spite of the fact that abstract classes cannot be instantiated, why are they used?
Discuss with an example.
b) What are Class diagrams? What do they contain? Give an example.
c) What do you mean by domain analysis in object-oriented software engineering?
(6+6+6)
7.
a) What is the cleanroom approach to software engineering? What are its special
features? What are the benefits of using the cleanroom approach?
b) Define the Component-based software engineering process. What are its steps? What
are its advantages and disadvantages?

JANUARY 2006

NOTE:

1. Answer question 1 and any FOUR questions from 2 to 7.

2. Parts of the same question should be answered together and in the same sequence

Time: 3 Hours Total Marks: 100

1. a) Which production process model is useful for developing very large complex software?

b) Discuss how can one improve visibility of software design and code.

c) What is software reverse engineering?

d) What are the desirable characteristics of a good software design?

e) How can CASE tools help in reverse engineering of software?


f) Why is it necessary to carry out verification and validation of a software product? Who
should carry out these activities in software projects?

g) What is big-bang integration testing? Is it suitable for large software systems?

(7x4)

2. a) What is requirement analysis? What are some fact-finding techniques useful in the
context of requirement analysis?

b) Bring out clearly the features of a good SRS document. What are the techniques to ensure
quality of an SRS document?

c) Discuss the contents of a software requirement specification document (SRS document).


Differentiate between functional and non-functional requirements.

(6+4+8)

3. a) Define the key concepts of Abstraction, Encapsulation and Polymorphism in the context
of Object-oriented Software Engineering.

b) What do you mean by Multiple Inheritance? Show an Inheritance Tree with Multiple
Inheritances.

c) What are Abstract Classes? What is their use? Discuss with an example.

(9+4+5)

4. a) What is coupling? Which form of coupling among software modules is the best? What are
the various forms of coupling? Explain.

b) Define Cohesion. What is Functional Cohesion? Does Functional Cohesion within a module
bring about good software design? Give an example. What type of coupling and cohesion
between/among modules is preferred for good quality software?

(9+9)

. For more questions papers visit www.DoeaccOnline.com, www.IgnouOnline.com

5. a) Define software quality. What are the different metrics of software quality? Discuss in
brief.

b) What do you mean by Software Quality Assurance? What are the seven major activities of
software quality assurance?
c) Identify some problems associated with the implementation of a successful quality
assurance plan in a software development organization.

(8+6+4)

6. a) What is the purpose of software testing? What is a test case? How is it different from a
test suite? Illustrate by a simple example.

b) What is white box testing? Name some white box testing methods.

c) Define maintainability in the context of software. Explain the significance of different types
of maintenance.

(8+5+5)

7. Write short notes on any three of the following:

a) Program complexity and its significance

b) Design patterns.

c) Version control and Change Control in the context of Software Configuration Management

d) Software agents.

(3x6)
July 2006

Time: 3 Hours Total Marks: 100

1. Give brief answers to the following questions.


a) Briefly, explain the problems that may arise if the build and fix model is used for
developing a large software product.
b) What is the difference between functional testing and structural testing? Can system
testing be considered to be a structural testing? Explain your answer.
c) Do you agree with the claim: “The essence of any good function-oriented design
technique is to map the functions performing similar activities into a module.” Justify
your answer.
d) What is the difference between object-oriented analysis and object-oriented design?
How are the outcomes of these processes documented?
e) What do you understand by structural complexity of a program? How can it be
measured?
f) Besides code commenting, explain the different ways in which a program source
code can be documented.
g) Do you agree with the statement: “One of the objectives of the system testing is to
check whether coding standards have been adhered to or not.” Justify your answer.
(7x4)

2.
a) What are the advantages and disadvantages of formal specification over traditional
specification? Give at least one example for which formal specification is desirable
and another for which formal specification is undesirable.
b) List the important shortcomings of LOC for use as a software size metric. Does the
function point metric overcome these? Explain your answer.
c) Do you agree with the following statement: “Modern quality assurance paradigms are
centered around carrying out through product testing. “Justify your answer.
(6+6+6)

3.
a) Explain, how the reusability of a developed software module can be enhanced.
b) Discuss the role of the data dictionary in a CASE environment. How automated
support for data dictionary can be provided?
c) Discuss the process models that can be used for software maintenance and indicate,
how you would select an appropriate process model for maintenance project at hand.
(5+6+7)
4.
a) What do you understand by performance testing? What are the different types of
performance testing that are normally carried out?
b) Explain the importance of software configuration management in modern quality
paradigms such as SEI CMM and ISO 9001. What problems might arise if a
development organization does not use any configuration management tool?
c) What do you understand by software re-engineering? How is it different from reverse
engineering? Explain under which each would be useful?
(6+6+6)

5.
a) What do you understand by unit testing? Explain, how you can design black-box test
cases for a function named Quadratic-eqn-solver accepts three floating point
numbers representing a quadratic equation of the form ax2+bx+c=0, it computes and
displays the solution.
b) What do you understand by requirements validation? How can requirements be
validated?
c) Explain the metrics that you would use to measure the following factors of an object-
oriented program also briefly mention, how you would estimate these characteristics:

• design quality
• estimated number of faults
• maintainability
• estimated test effort
• estimated program development effort
(6+6+6)

6.
a) Suppose a very large software is to be developed for an innovative application.
Naturally, the development would be beset with many risks due to the innovative
product to be developed. Explain which development model should be used. Explain
how the risks would be handled in the model.
b) What do you mean by process modeling? Why is it required to model processes?
c) Explain the human cognition capabilities (relevant to human-computer interfaces)
and their limitations. How do these influence design of effective human-computer
interfaces?
(5+6+7)

7.
a) Do you think that testing object-oriented programs is easier that testing procedural
programs? Explain your answer with special mention as to how the object-orientation
features of inheritance, encapsulation, polymorphism, and dynamic binding influence
effective test case design.
b) Explain why reuse of code has not been very successful. In this context, explain, why
design patterns can be considered to be an effective form of software reuse.
c) Explain static and dynamic tool support that can be provided during program testing.
What are the different types of results produced by these tools? Explain, how these
are useful in testing.
July, 2005
Note:

1. Answer question 1 and any FOUR questions from 2 to 7.


2. Parts of the same question should be answered together and in the same sequence.

Time: 3 Hours Total Marks:100

1. Give brief answers to the following questions.


1. What do you understand by software crisis? What are its symptoms and
causes? What are its remedies?
2. What do you understand by a software development process? What
problems might occur if a software development organization does not use
any specific development process?
3. What do you understand by formal requirements specification? What are
its advantages over informal or semiformal specification?
4. What is a coding standard? What problems might occur if a software
development organization does not follow any specific coding standard?
5. What is a design pattern? What are the advantages of using design
patterns? Name and briefly explain at least one design pattern.
6. What do you understand by component-based software engineering? What
are its advantages compared to traditional software engineering?
7. Explain why reuse is more difficult in software development compared to
hardware development. How can reusability of a piece of a code be
enhanced? (7x4)
2.
1. What is the difference between a version and a revision? What do you
understand by version control and change control? Explain how version
control and change control are achieved.
2. Explain the desirable characteristics of a good user interface. In this
context, how do the limitations of the human cognition capabilities
influence the user interface design?

(9+9)

3.
1. What is the difference between a coding standard and a coding guideline?
Why are these considered important in software development?
2. List two coding standards each for
1. enhancing readability of the code,
2. reuse of the code.
3. Discuss the process models that can be used for software maintenance and
indicate, how you would select an appropriate maintenance model for a
maintenance project at hand?

(7+4+7)

1. Consider the following program segement.


2.
3. void soft(int a[ ], int n){
4.
5. int i,j;
6.
7. for(i=0;ia[j])
8.
9. {
10.
11. temp=a[i];
12.
13. a[i]=a[j];
14.
15. a[j]=temp;
16.
17. }
18.
19. }
20.
a. Draw the control flow graph for this program segment.
b. Determine the cyclomatic complexity for this program. (Show the
intermediate steps in your computation. Writing only the final result is not
sufficient)
c. How is the cyclomatic complexity metric useful during software
development?

(6+6+6)

4)
a. What criteria would you use to distinguish a good software design from a
bad design? Discuss some metrics that can be used to judge the goodness
of a software design.
b. Explain the CASE support that can be availed of while carrying out a
process-oriented design.
c. What is a legacy system? Why is it necessary to re-engineer a legacy
system? Explain using a schematic diagram, the main steps hat you would
undertake to re-engineer a legacy system.

(6+6+6)

5)
a. In a software development organization whose responsibility is to ensure
that the products are of high quality? Explain the principal tasks they
perform to meet this responsibility.
b. What is a real-time system? Why can't traditional design techniques be
satisfactorily used for designing real-time systems? Explain the extensions
to the traditional design technique necessary for designing real-time
systems.
c. Why is it important to properly document a software product? What are
the different types of documents that need to be developed?

(6+6+6)

6)
a. What is the difference between an error and a failure? Testing detects
which of these?
b. Design the black box test suite for a function that accepts a character
strings and checks if it is a palindrome.
c. What do you understand by the term integration testing? Which types of
defects are uncovered during integration testing? What are the different
types of integration testing methods that can be used to carry out
integration testing of a large software product? Compare the merits and
demerits of these different integration testing strategies.

(4+6+8)
January, 2005
Note:

1. Answer question 1 and any FOUR questions from 2 to 7.


2. Parts of the same question should be answered together and in the same sequence.

Time: 3 Hours Total Marks:100

1. Give brief answer to the following questions


1. What is software crisis? Discuss the various myths of software industry.
2. What are various types of functional testing techniques? Discuss any one
in detail.
3. Discuss role of software metrics in software engineering practice
4. What is cleanroom software development approach? Discuss its benefits.
5. What are the output documents generated from each stage of the waterfall
model?
6. Is it possible to estimate software size before coding? Justify your answer
with suitable examples.
7. List and explain briefly five metrics for the design phase.

(7x4)

2.
1. Distinguish between a program and software product. What do you
understand by the term software life cycle model of software
development?
2. Explain the spiral model for software development. Why is it considered a
meta-model?

(9+9)

3.
1. What are the different types of coupling that may exist between 2
modules? Show how control coupling can be avoided with the help of an
example. What problems can occur if modules have very low cohesion.?
2. How can you achieve functional independence in a software design?
Explain with any example pf your choice.

(9+9)
4.
1. What do you mean by CASE? Give different CASE classifications. Also
explain CASE life cycle in detail.
2. Discuss number of different types of CASE integration. Also explain
workbench in detail.

(9+9)

5.
1. How do Object-oriented Design (ODD) and Structured Design differ?
What aspects of these two design methods are the same?
2. Write short notes on :
1. Data Flow Diagram
2. Data Dictionary

(9+9)

6.
1. What is software maintenance? What are various types of maintenance?
When it starts and why is it costly? Also, explain various measures
through which it can be minimized.
2. Annual charge Traffic in software is 15% per year. The initial
development cost was Rs. 10 Lakhs. Total lifetime for the software is 5
years. What is the total cost of software systems?

(9+9)

7.
1. What is software requirement specification (SRS). List out the advantages
of SRS standard?
2. What is need of formal specification and test for completeness? How does
it help in quality of software?

(9+9)
July, 2004
Note:

1. Answer question 1 and any FOUR questions from 2 to 7.


2. Parts of the same question should be answered together and in the same sequence.

Time: 3 Hours Total Marks:100

1. State whether the following statements are TRUE or FALSE. In each case, justify
your answer using 3-4 sentences.
1. The reliability of a software product increases almost linearly, each time a
defect gets detected and fixed.
2. The effectiveness of a test suite in detecting errors can be -. determined by
counting the total number of test cases present in the test suite.
3. Usually compliance to coding standards are verified during system testing.
4. Modern quality assurance paradigms are centered around carrying out
thorough product testing.
5. Inheritance relationship defines a has a relationship among classes.
6. A formal specification cannot be ambiguous.
7. Traditional process-oriented design is carried out top-down, whereas
object-oriented design is normally carried out bottom-up.

(4x7)

2.
1. Consider the following Transport Company Automation (TCA) software.
A transport company requires to automate its various operations. The
company has a fleet of vehicles. Currently the company has the following
vehicles:

Ambassadors: 10 Non-AC, 2 AC
Tata Sumo: 5 Non-AC, 5 AC
Maruti Omni : 10 Non-AC
Maruti Esteem: 10AC
Mahindra Armada:10 Non-AC

The company rents out vehicles to customers. When a customer requests


for a car, the company lets them know what types of vehicles are available
and the charges for each car. For every car, there is a per hour charge and
a per kilometer charge. A car can be rented for a minimum of 4 hours. The
amount chargeable to a customer is the maximum of (per hour charge for
the car times the number of hours used, and per kilometer charge times the
number of kilometers run) subject to a minimum amount decided by the
charge for 4 hours use of the car. An AC vehicle of a particular category is
charged 50% more than a non-AC vehicle of the same category. There is a
charge of Rs 150 for every night halt regardless of the type of the vehicle.

When a customer books a car, he has to deposit an advance amount. The


customer also informs the company when he expects to return the car.
When the car is returned, depending on the usage, either the customer is
refunded some amount, or he has to pay additional amount to cover the
cost incurred.

In addition to automating the above activities, the company wants to


collect statistics about various types of vehicles such as average amount of
money spent on repairs for the car, average demand, revenue earned by
renting out the car, and fuel consumption of the car. Based on these
statistics, the company may take a decision about which vehicles are more
profitable. The statistics can also be used to decide the charge for different
types of vehicles.

Draw the following using standard notations. If necessary, you can make
sUitable assumptions regarding the details of various features of TCA
software, but you must clearly write down the assumptions you make.

2. Draw the context diagram (level 0 DFD) for the TCA software
3. Draw the level 1 DFD for the TCA software.
4. Perform structured design for the TCA software.

(4+8+6)

3.
1. What is the difference between a coding standard and a coding. guideline?
Why are these considered important in a software development
organization?
2. List two coding standards each for (i) enhancing readability of the code,
(ii) reuse of the code.
3. Discuss the process models that can be used for software maintenance and
indicate how you would select an appropriate maintenance model for a
maintenance project at hand?

(7+4+7)

1. Consider the following program segment.


2.
3. void sort (int a[ ], int n) {
4.
5. int i,j;
6.
7.
8.
9. for(i=0; i<n-1; i++)
10.
11. for(j=i+1: j<n; j++)
12.
13. if (a[i]>a[j] )
14.
15. {
16.
17. temp=a[i];
18.
19. a[i]=a[j];
20.
21. a[j]=temp;
22.
23. }
24.
25. }
26.
a. Draw the control flow graph for this program segment.
b. Determine the cyclomatic complexity for this program. (Show the
intermediate steps in your computation. Writing only the final result is not
sufficient)
c. How is the cyclomatic complexity metric useful?

(6+6+6)

4.
a. What criteria would you use to distinguish a good design from a bad
design. Discuss some metrics that can be used to judge the goodness of a
design.
b. Enumerate and explain the major technical and non-technical reasons that
hinder Software reuse.
c. Explain the essential principles that form the basis of Software
Engineering. How far these principles are being supported by C++?

(6+6+6)

5.
a. What is the difference between a revision and a version? What do you
understand by the terms change control and version control? Why are
these necessary? Explain, how change and version control are achieved
using a configuration management tool? .
b. What is a real-time system? Why can't the traditional design technique be
used for design of real-time systems? Explain the extensions to the
traditional design technique necessary for carrying out the design of real-
time systems.
c. What are design patterns? What are the advantages of using design
patterns? Name some popular design patterns.
(6+6+6)

6. Explain the following:


a. Class room approach to software development
b. Component-based Software Engineering process.
c. Testing and verification of OO programs.

(6+6+6)
January, 2004
Note:

1. Answer question 1 and any FOUR questions from 2 to 7.


2. Parts of the same question should be answered together and in the same sequence.

Time: 3 Hours Total Marks:100

1.
1. It is often said that functionally correct software may not be reliable. Give
your comment.
2. Can all software projects be managed with the help of evolutionary model
of software development?
3. What is software reverse engineering?
4. What are software agents?
5. What are the different integration and testing CASE tools?
6. Differentiate between verification and validation of a software product.
7. What is stress testing of software?

(7 x 4)

2.
1. Requirement analysis is an unstructured task. The system analyst needs to
identify the system requirements through an inquiry system. Discuss some
of the basic questions that the system analyst should address at the time of
requirement analysis.
2. What are the characteristics of a good software requirement specification
(SRS) document?
3. Explain, how Prototyping can be used as a tool in the process of
understanding the user's requirements?

(6+6+6)

3.
1. Why should a software analyst prefer Object Oriented Analysis of
Information Systems to the traditional methods .of analysing such
systems?
2. Differentiate between class and .objects.
3. Define the key concepts of Abstraction.. Encapsulation and Polymorphism
in the context of Object-oriented Software Engineering.

(6+3+9)
4.
1. Draw a structure chart for the Data Flow Diagram of a University
Admission process as depicted below:
A: Filled Application + Fee; B: Application; C: Application to
Department;
D: Admit/Reject Info.; E: Acknowledgment; F: Letter Admit/Reject.
2. Distinguish between Coupling and Cohesion. Identify different kinds of
Coupling and cohesion among software modules. What kind of Coupling
and Cohesion is desirable for a good software design?

(8+10)

5.
1. Discuss the problems associated with the Implementation of a successful
quality assurance plan in a software development organization.
2. Is it possible to assess quality of software before the programs are actually
developed? Justify your answer.
3. Differentiate corrective, adaptive, and perfective maintenance in the
context of software.

(8+4+6)

6.
1. In the context of software, differentiate between error, failure and fault.
2. What is McCabe's cyclomatic complexity metric? What is its use?
3. Software computes the cube root of an input Integer, which can assume
values from 1 to 1000. Find the test cases for this program from
considerations of:
1. Equivalent class partitioning
2. Boundary value analysis

(5+5+8)

7.
1. What are the primary objectives of developing CASE tools? Explain the
different facilities that a CASE environment provides.
2. What is "software Configuration"? Why does one have to manage It?
3. What are the five Software Configuration Management (SCM) tasks?
Define and discuss each of them briefly.

(6+4+8)

You might also like