B3.3-R3: SOFTWARE ENGINEERING & CASE TOOLS
NOTE:
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)
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)
B3.3-R3 Page 1 of 2 January, 2006
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 differenttypes 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 ConfigurationManagement
d) Software agents
(3x6)
B3.3-R3 Page 2 of 2 January, 2006
B3.3-R3: SOFTWARE ENGINEERING & CASE TOOLS
NOTE:
Time: 3 Hours Total Marks: 100
1.
a) What are the function points? Bring out their main advantages.
b) What are the features of a testing CASE workbench?
c) What are the basic components of an Engineering Change Process?
d) How can you design high cohesion and low coupling modules?
e) What are the types of generic dependencies in an architectural design?
f) What is control structures required in Structured Programming?
g) Explain static testing tools.
(7x4)
2. Explain the terms systems approach and engineering approach in software? What are
the basic differences between them? Why does the engineering approach not always
work in software?
(18)
3. Explain the various types of prototyping models in software development. Explain where
each model succeeds and where it fails.
(18)
4.
a) What are the generic types of cost models for software cost estimation?
b) You are the manager of a new project charged with developing a 100000 lines
embedded system. You have a choice of hiring from two pools of developers: highly
capable with very little experience in the programming language being used or
developers of low quality but a lot of experience with the programming language. What
is the impact of hiring all developers from one or the other group?
(12+6)
5. What are the baselines and CRs in context of configuration management? How are CRs
processed? Explain with any suitable example.
(18)
6. What are the class candidates in OOD? How do you decide on whether a class should
be included or not? Explain the steps in CRC modelling in OOD.
(18)
7.
a) Explain software reliability and the principal factors that affect it.
b) Define the maintenance process. Explain Boehm’s model.
(6+12)
B3.3-R3 Page 1 of 1 July, 2007
B3.3-R3: SOFTWARE ENGINEERING & CASE TOOLS
NOTE:
Time: 3 Hours Total Marks: 100
1.
a) Discuss why the prototyping approach to software development cannot be used for
developing all types of software projects. When this approach is more useful?
b) What do you mean by visibility of software design and code? What is its importance?
c) Discuss how to improve code efficiency in the design of a software.
d) Differentiate Alpha, Beta and Acceptance testing for software.
e) It is often said that functionally correct software may not be reliable. Give your comments.
f) What is Component-based software engineering process? How is it conducted?
g) Why is it necessary to carry out verification and validation of a software product? How are
they carried out?
(7x4)
2.
a) What is requirement analysis? What is its importance? How will you obtain the required
information for requirement analysis?
b) Why is the software requirement specifications document (SRS document) also known as
the black box specifications of a system?
c) What does a software requirement specification document (SRS document) contain?
Discuss in detail.
(8+4+6)
3.
a) What is Coupling? Which form of Coupling among software modules is the best? What
are the other forms of Coupling?
b) Define Cohesion. What is functional Cohesion? Does Functional Cohesion within a
module bring about good software design? Give an example.
c) What is the difference between coding standards and coding guidelines? What are the
importance of these in software development?
(8+6+4)
4.
a) Define maintainability in the context of software. Differentiate corrective, adaptive,
perfective and preventive maintenance in the context of software.
b) What are some problems associated with software maintenance?
c) What is Reverse Engineering in the context of maintenance of software? How are the
concepts of Restructuring, Re-engineering and Design Capture connected to Reverse
Engineering?
(8+4+6)
B3.3-R3 Page 1 of 2 January, 2008
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.
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) Why is it necessary to conduct software testing? How is it conducted?
b) What is white box testing? Discuss in detail two white box testing methods.
c) What is stress testing? What are its utilities?
(5+8+5)
7. Write short informative notes on any three of the following:
a) Structured approach versus Object Oriented approach for software design
b) Benefits of using CASE tools for software development
c) Version control and Change control
d) Cleanroom approach to software engineering
(6+6+6)
B3.3-R3 Page 2 of 2 January, 2008
B3.3-R3: SOFTWARE ENGINEERING & CASE TOOLS
NOTE:
Time: 3 Hours Total Marks: 100
1.
a) Explain the advantages and the disadvantages of making use prototyping process model
for the purpose of software development.
b) What is the difference between black box and white box testing?
c) Explain any two approaches for the subsystem design. Which one do you think is better?
d) What are the outcomes and artefacts generated in the architectural analysis?
e) What is dependability of software? What are the various dimensions of dependability?
f) What is meant by the software versions and release? Illustrate by an example.
g) Explain the role of recursive testing and its role in the integration testing.
(7x4)
2.
a) What are requirement specifications and how are they different from the software
specifications.
b) Derive two different metrics for software availability and give their utility.
c) Use cases play an important role in deriving software requirements. What are the ways
in which the use cases by verified for correctness?
(6+6+6)
3.
a) Explain what could be the different non-functional requirements for a word processing
editor.
b) State reasons as to why is the Rational Unified Process said to be use-case driven.
c) What is reverse engineering? How can a CASE tool help in the reverse engineering of
software?
(5+6+7)
4.
a) What is stress testing? In which situations do we carry out the stress testing? Give
examples.
b) What are the different parts of configuration management planning?
c) How can we validate a design of the software? What is a good design? Enumerate the
various features.
(6+6+6)
5.
a) What are the various methods for requirements elicitation for an object-oriented
description of a system?
b) Explain the big bang testing approach to software testing?
c) What are the advantages and disadvantages of the component approach to software
design?
(6+6+6)
6.
a) Explain the difference between a subsystem and a package?
b) Discuss the metrics for a class?
c) Explain, how does the object oriented approach to software development help to make
extensible software design?
(6+6+6)
B3.3-R3 Page 1 of 1 July, 2008
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.
7.
a) Differentiate between design patterns and frameworks?
b) What is the role of domain analysis in making the business use cases?
c) Elaborate any techniques for measuring the usability of a good user interface design?
(5+6+7)
B3.3-R3 Page 2 of 1 July, 2008
B3.3-R3 Page 1 of 2 January, 2009
B3.3: SOFTWARE ENGINEERING & CASE TOOLS
NOTE:
Time: 3 Hours Total Marks: 100
1. Give brief answers to the following questions.
a) What do you understand by software crisis? What are its causes? What are its possible
remedies?
b) What is the difference between functional testing and structural testing? Can system
testing be considered to be a structural testing?
c) What do you understand by component-based software engineering? What are its
advantages compared to traditional software engineering?
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) What are software agents? Enumerate their use.
g) “One of the objectives of the system testing is to check whether coding standards have
been adhered to or not.” Do you agree with the above statement. 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) "Modern quality assurance paradigms are centered around carrying out through product
testing." Do you agree with the above statement. Justify your answer.
(6+6+6)
3.
a) What is reusability? List the common reusability metrics. How can the reusability of a
developed software module be enhanced?
b) What do you mean by “data dictionary” in software development? What is the role of the
data dictionary in a CASE environment? How can auotomated support for data
dictionary be provided?
c) What is a legacy system? Why is it necessary to re-engineer a legacy system? Explain
using a schematic diagram, the main steps that you would undertake to reengineer a
legacy system.
(6+6+6)
4.
a) What do you understand by software configuration management? What problems might
arise if a development organization does not use any configuration management tool?
b) What do you understand by software re-engineering? How is it different from reverse
engineering? Explain situations under which they would be useful.
c) What do you understand by “Cleanroom” software development approach? How does it
ensure to develop high quality software?
(6+6+6)
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.
B3.3-R3 Page 2 of 2 January, 2009
5.
a) Design the black box test suite for a function that accepts a character strings and
checks if it is a palindrome.
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. Describe briefly how you would estimate these characteristics.
• Design quality
• Estimated number of faults
• Maintainability
• Estimated test 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 and how the risks
would be handled in the model.
b) What do you mean by process modelling? 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 than testing procedural
programs? Explain your answer with special mention as to how the object-orientation
featuers of inheritance, encapsulation, polymorphism and dynamic binding influence
effective test case design.
b) The major responsibility of a software development organization is to ensure that the
products are of high quality. Explain the principal tasks the organization is required to
perform to meet this responsibility.
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 are these
useful in testing.
(6+6+6)
B3.3-R3: SOFTWARE ENGINEERING & CASE TOOLS
NOTE:
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 oucomes 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 auotomated 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 a maintenance project at hand.
(5+6+7)
B3.3-R3 Page 1 of 2 July, 2006
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.
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 situations 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. 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 objectoriented
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 modelling? 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 than testing procedural
programs? Explain your answer with special mention as to how the object-orientation
featuers 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.
(6+6+6)
B3.3-R3 Page 2 of 2 July, 2006
B3.3-R3: SOFTWARE ENGINEERING & CASE TOOLS
NOTE:
Time: 3 Hours Total Marks: 100
1.
a) Discuss why the prototyping approach to software development cannot be used for
developing all types of software projects. When this approach is more useful?
b) What do you mean by visibility of software design and code? What is its importance?
c) Discuss how to improve code efficiency in the design of a software.
d) Differentiate Alpha, Beta and Acceptance testing for software.
e) It is often said that functionally correct software may not be reliable. Give your comments.
f) What is Component-based software engineering process? How is it conducted?
g) Why is it necessary to carry out verification and validation of a software product? How are
they carried out?
(7x4)
2.
a) What is requirement analysis? What is its importance? How will you obtain the required
information for requirement analysis?
b) Why is the software requirement specifications document (SRS document) also known as
the black box specifications of a system?
c) What does a software requirement specification document (SRS document) contain?
Discuss in detail.
(8+4+6)
3.
a) What is Coupling? Which form of Coupling among software modules is the best? What
are the other forms of Coupling?
b) Define Cohesion. What is functional Cohesion? Does Functional Cohesion within a
module bring about good software design? Give an example.
c) What is the difference between coding standards and coding guidelines? What are the
importance of these in software development?
(8+6+4)
4.
a) Define maintainability in the context of software. Differentiate corrective, adaptive,
perfective and preventive maintenance in the context of software.
b) What are some problems associated with software maintenance?
c) What is Reverse Engineering in the context of maintenance of software? How are the
concepts of Restructuring, Re-engineering and Design Capture connected to Reverse
Engineering?
(8+4+6)
B3.3-R3 Page 1 of 2 January, 2008
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.
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) Why is it necessary to conduct software testing? How is it conducted?
b) What is white box testing? Discuss in detail two white box testing methods.
c) What is stress testing? What are its utilities?
(5+8+5)
7. Write short informative notes on any three of the following:
a) Structured approach versus Object Oriented approach for software design
b) Benefits of using CASE tools for software development
c) Version control and Change control
d) Cleanroom approach to software engineering
(6+6+6)
B3.3-R3 Page 2 of 2 January, 2008
B3.3-R3: SOFTWARE ENGINEERING & CASE TOOLS
NOTE:
Time: 3 Hours Total Marks: 100
1.
a) What are the function points? Bring out their main advantages.
b) What are the features of a testing CASE workbench?
c) What are the basic components of an Engineering Change Process?
d) How can you design high cohesion and low coupling modules?
e) What are the types of generic dependencies in an architectural design?
f) What is control structures required in Structured Programming?
g) Explain static testing tools.
(7x4)
2. Explain the terms systems approach and engineering approach in software? What are
the basic differences between them? Why does the engineering approach not always
work in software?
(18)
3. Explain the various types of prototyping models in software development. Explain where
each model succeeds and where it fails.
(18)
4.
a) What are the generic types of cost models for software cost estimation?
b) You are the manager of a new project charged with developing a 100000 lines
embedded system. You have a choice of hiring from two pools of developers: highly
capable with very little experience in the programming language being used or
developers of low quality but a lot of experience with the programming language. What
is the impact of hiring all developers from one or the other group?
(12+6)
5. What are the baselines and CRs in context of configuration management? How are CRs
processed? Explain with any suitable example.
(18)
6. What are the class candidates in OOD? How do you decide on whether a class should
be included or not? Explain the steps in CRC modelling in OOD.
(18)
7.
a) Explain software reliability and the principal factors that affect it.
b) Define the maintenance process. Explain Boehm’s model.
(6+12)
B3.3-R3 Page 1 of 1 July, 2007
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.
B3.3-R3: SOFTWARE ENGINEERING & CASE TOOLS
NOTE:
Time: 3 Hours Total Marks: 100
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?
(7x4)
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)
B3.3-R3 Page 1 of 2 January, 2007
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.
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 may 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?
(10+8)
B3.3-R3 Page 2 of 2 January, 2007
NOTE:
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)
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)
B3.3-R3 Page 1 of 2 January, 2006
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 differenttypes 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 ConfigurationManagement
d) Software agents
(3x6)
B3.3-R3 Page 2 of 2 January, 2006
B3.3-R3: SOFTWARE ENGINEERING & CASE TOOLS
NOTE:
Time: 3 Hours Total Marks: 100
1.
a) What are the function points? Bring out their main advantages.
b) What are the features of a testing CASE workbench?
c) What are the basic components of an Engineering Change Process?
d) How can you design high cohesion and low coupling modules?
e) What are the types of generic dependencies in an architectural design?
f) What is control structures required in Structured Programming?
g) Explain static testing tools.
(7x4)
2. Explain the terms systems approach and engineering approach in software? What are
the basic differences between them? Why does the engineering approach not always
work in software?
(18)
3. Explain the various types of prototyping models in software development. Explain where
each model succeeds and where it fails.
(18)
4.
a) What are the generic types of cost models for software cost estimation?
b) You are the manager of a new project charged with developing a 100000 lines
embedded system. You have a choice of hiring from two pools of developers: highly
capable with very little experience in the programming language being used or
developers of low quality but a lot of experience with the programming language. What
is the impact of hiring all developers from one or the other group?
(12+6)
5. What are the baselines and CRs in context of configuration management? How are CRs
processed? Explain with any suitable example.
(18)
6. What are the class candidates in OOD? How do you decide on whether a class should
be included or not? Explain the steps in CRC modelling in OOD.
(18)
7.
a) Explain software reliability and the principal factors that affect it.
b) Define the maintenance process. Explain Boehm’s model.
(6+12)
B3.3-R3 Page 1 of 1 July, 2007
B3.3-R3: SOFTWARE ENGINEERING & CASE TOOLS
NOTE:
Time: 3 Hours Total Marks: 100
1.
a) Discuss why the prototyping approach to software development cannot be used for
developing all types of software projects. When this approach is more useful?
b) What do you mean by visibility of software design and code? What is its importance?
c) Discuss how to improve code efficiency in the design of a software.
d) Differentiate Alpha, Beta and Acceptance testing for software.
e) It is often said that functionally correct software may not be reliable. Give your comments.
f) What is Component-based software engineering process? How is it conducted?
g) Why is it necessary to carry out verification and validation of a software product? How are
they carried out?
(7x4)
2.
a) What is requirement analysis? What is its importance? How will you obtain the required
information for requirement analysis?
b) Why is the software requirement specifications document (SRS document) also known as
the black box specifications of a system?
c) What does a software requirement specification document (SRS document) contain?
Discuss in detail.
(8+4+6)
3.
a) What is Coupling? Which form of Coupling among software modules is the best? What
are the other forms of Coupling?
b) Define Cohesion. What is functional Cohesion? Does Functional Cohesion within a
module bring about good software design? Give an example.
c) What is the difference between coding standards and coding guidelines? What are the
importance of these in software development?
(8+6+4)
4.
a) Define maintainability in the context of software. Differentiate corrective, adaptive,
perfective and preventive maintenance in the context of software.
b) What are some problems associated with software maintenance?
c) What is Reverse Engineering in the context of maintenance of software? How are the
concepts of Restructuring, Re-engineering and Design Capture connected to Reverse
Engineering?
(8+4+6)
B3.3-R3 Page 1 of 2 January, 2008
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.
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) Why is it necessary to conduct software testing? How is it conducted?
b) What is white box testing? Discuss in detail two white box testing methods.
c) What is stress testing? What are its utilities?
(5+8+5)
7. Write short informative notes on any three of the following:
a) Structured approach versus Object Oriented approach for software design
b) Benefits of using CASE tools for software development
c) Version control and Change control
d) Cleanroom approach to software engineering
(6+6+6)
B3.3-R3 Page 2 of 2 January, 2008
B3.3-R3: SOFTWARE ENGINEERING & CASE TOOLS
NOTE:
Time: 3 Hours Total Marks: 100
1.
a) Explain the advantages and the disadvantages of making use prototyping process model
for the purpose of software development.
b) What is the difference between black box and white box testing?
c) Explain any two approaches for the subsystem design. Which one do you think is better?
d) What are the outcomes and artefacts generated in the architectural analysis?
e) What is dependability of software? What are the various dimensions of dependability?
f) What is meant by the software versions and release? Illustrate by an example.
g) Explain the role of recursive testing and its role in the integration testing.
(7x4)
2.
a) What are requirement specifications and how are they different from the software
specifications.
b) Derive two different metrics for software availability and give their utility.
c) Use cases play an important role in deriving software requirements. What are the ways
in which the use cases by verified for correctness?
(6+6+6)
3.
a) Explain what could be the different non-functional requirements for a word processing
editor.
b) State reasons as to why is the Rational Unified Process said to be use-case driven.
c) What is reverse engineering? How can a CASE tool help in the reverse engineering of
software?
(5+6+7)
4.
a) What is stress testing? In which situations do we carry out the stress testing? Give
examples.
b) What are the different parts of configuration management planning?
c) How can we validate a design of the software? What is a good design? Enumerate the
various features.
(6+6+6)
5.
a) What are the various methods for requirements elicitation for an object-oriented
description of a system?
b) Explain the big bang testing approach to software testing?
c) What are the advantages and disadvantages of the component approach to software
design?
(6+6+6)
6.
a) Explain the difference between a subsystem and a package?
b) Discuss the metrics for a class?
c) Explain, how does the object oriented approach to software development help to make
extensible software design?
(6+6+6)
B3.3-R3 Page 1 of 1 July, 2008
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.
7.
a) Differentiate between design patterns and frameworks?
b) What is the role of domain analysis in making the business use cases?
c) Elaborate any techniques for measuring the usability of a good user interface design?
(5+6+7)
B3.3-R3 Page 2 of 1 July, 2008
B3.3-R3 Page 1 of 2 January, 2009
B3.3: SOFTWARE ENGINEERING & CASE TOOLS
NOTE:
Time: 3 Hours Total Marks: 100
1. Give brief answers to the following questions.
a) What do you understand by software crisis? What are its causes? What are its possible
remedies?
b) What is the difference between functional testing and structural testing? Can system
testing be considered to be a structural testing?
c) What do you understand by component-based software engineering? What are its
advantages compared to traditional software engineering?
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) What are software agents? Enumerate their use.
g) “One of the objectives of the system testing is to check whether coding standards have
been adhered to or not.” Do you agree with the above statement. 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) "Modern quality assurance paradigms are centered around carrying out through product
testing." Do you agree with the above statement. Justify your answer.
(6+6+6)
3.
a) What is reusability? List the common reusability metrics. How can the reusability of a
developed software module be enhanced?
b) What do you mean by “data dictionary” in software development? What is the role of the
data dictionary in a CASE environment? How can auotomated support for data
dictionary be provided?
c) What is a legacy system? Why is it necessary to re-engineer a legacy system? Explain
using a schematic diagram, the main steps that you would undertake to reengineer a
legacy system.
(6+6+6)
4.
a) What do you understand by software configuration management? What problems might
arise if a development organization does not use any configuration management tool?
b) What do you understand by software re-engineering? How is it different from reverse
engineering? Explain situations under which they would be useful.
c) What do you understand by “Cleanroom” software development approach? How does it
ensure to develop high quality software?
(6+6+6)
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.
B3.3-R3 Page 2 of 2 January, 2009
5.
a) Design the black box test suite for a function that accepts a character strings and
checks if it is a palindrome.
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. Describe briefly how you would estimate these characteristics.
• Design quality
• Estimated number of faults
• Maintainability
• Estimated test 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 and how the risks
would be handled in the model.
b) What do you mean by process modelling? 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 than testing procedural
programs? Explain your answer with special mention as to how the object-orientation
featuers of inheritance, encapsulation, polymorphism and dynamic binding influence
effective test case design.
b) The major responsibility of a software development organization is to ensure that the
products are of high quality. Explain the principal tasks the organization is required to
perform to meet this responsibility.
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 are these
useful in testing.
(6+6+6)
B3.3-R3: SOFTWARE ENGINEERING & CASE TOOLS
NOTE:
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 oucomes 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 auotomated 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 a maintenance project at hand.
(5+6+7)
B3.3-R3 Page 1 of 2 July, 2006
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.
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 situations 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. 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 objectoriented
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 modelling? 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 than testing procedural
programs? Explain your answer with special mention as to how the object-orientation
featuers 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.
(6+6+6)
B3.3-R3 Page 2 of 2 July, 2006
B3.3-R3: SOFTWARE ENGINEERING & CASE TOOLS
NOTE:
Time: 3 Hours Total Marks: 100
1.
a) Discuss why the prototyping approach to software development cannot be used for
developing all types of software projects. When this approach is more useful?
b) What do you mean by visibility of software design and code? What is its importance?
c) Discuss how to improve code efficiency in the design of a software.
d) Differentiate Alpha, Beta and Acceptance testing for software.
e) It is often said that functionally correct software may not be reliable. Give your comments.
f) What is Component-based software engineering process? How is it conducted?
g) Why is it necessary to carry out verification and validation of a software product? How are
they carried out?
(7x4)
2.
a) What is requirement analysis? What is its importance? How will you obtain the required
information for requirement analysis?
b) Why is the software requirement specifications document (SRS document) also known as
the black box specifications of a system?
c) What does a software requirement specification document (SRS document) contain?
Discuss in detail.
(8+4+6)
3.
a) What is Coupling? Which form of Coupling among software modules is the best? What
are the other forms of Coupling?
b) Define Cohesion. What is functional Cohesion? Does Functional Cohesion within a
module bring about good software design? Give an example.
c) What is the difference between coding standards and coding guidelines? What are the
importance of these in software development?
(8+6+4)
4.
a) Define maintainability in the context of software. Differentiate corrective, adaptive,
perfective and preventive maintenance in the context of software.
b) What are some problems associated with software maintenance?
c) What is Reverse Engineering in the context of maintenance of software? How are the
concepts of Restructuring, Re-engineering and Design Capture connected to Reverse
Engineering?
(8+4+6)
B3.3-R3 Page 1 of 2 January, 2008
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.
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) Why is it necessary to conduct software testing? How is it conducted?
b) What is white box testing? Discuss in detail two white box testing methods.
c) What is stress testing? What are its utilities?
(5+8+5)
7. Write short informative notes on any three of the following:
a) Structured approach versus Object Oriented approach for software design
b) Benefits of using CASE tools for software development
c) Version control and Change control
d) Cleanroom approach to software engineering
(6+6+6)
B3.3-R3 Page 2 of 2 January, 2008
B3.3-R3: SOFTWARE ENGINEERING & CASE TOOLS
NOTE:
Time: 3 Hours Total Marks: 100
1.
a) What are the function points? Bring out their main advantages.
b) What are the features of a testing CASE workbench?
c) What are the basic components of an Engineering Change Process?
d) How can you design high cohesion and low coupling modules?
e) What are the types of generic dependencies in an architectural design?
f) What is control structures required in Structured Programming?
g) Explain static testing tools.
(7x4)
2. Explain the terms systems approach and engineering approach in software? What are
the basic differences between them? Why does the engineering approach not always
work in software?
(18)
3. Explain the various types of prototyping models in software development. Explain where
each model succeeds and where it fails.
(18)
4.
a) What are the generic types of cost models for software cost estimation?
b) You are the manager of a new project charged with developing a 100000 lines
embedded system. You have a choice of hiring from two pools of developers: highly
capable with very little experience in the programming language being used or
developers of low quality but a lot of experience with the programming language. What
is the impact of hiring all developers from one or the other group?
(12+6)
5. What are the baselines and CRs in context of configuration management? How are CRs
processed? Explain with any suitable example.
(18)
6. What are the class candidates in OOD? How do you decide on whether a class should
be included or not? Explain the steps in CRC modelling in OOD.
(18)
7.
a) Explain software reliability and the principal factors that affect it.
b) Define the maintenance process. Explain Boehm’s model.
(6+12)
B3.3-R3 Page 1 of 1 July, 2007
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.
B3.3-R3: SOFTWARE ENGINEERING & CASE TOOLS
NOTE:
Time: 3 Hours Total Marks: 100
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?
(7x4)
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)
B3.3-R3 Page 1 of 2 January, 2007
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.
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 may 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?
(10+8)
B3.3-R3 Page 2 of 2 January, 2007
B 3.3-R3: software
engineering and case tools
1.
a) Which model of development would you follow
for the development of very large and complex software? [4]
b) What is operational feasibility of
information systems? Why should it be checked?
[4]
c) What process would you use to recover the
design or the requirement specifications of an existing software product?
Discuss in brief. [4]
d) What are the desirable characteristics of a
good software design? [4]
e) Why is the necessary to carry out
verification and validation of a software product? Who should carry out these
activities in software products? [4]
f) What is stress testing of software? Are
these black-box or white-box testing? [4]
g) What is component-based software
engineering process? How is it conducted?
[4]
2.
a) Describe briefly some important activities
of software project planning.
[6]
b) What is the need of the software project
management plan (SPMP) document? What does it contain?
[6]
c) What do you mean by “sliding window
planning”?
[6]
3.
a) what is requirement analysis? Mention some
techniques that are useful in requirement analysis. How do you carry out these
techniques? [6]
b) Why is software requirement specification
document (SRS document) also known as the black-box specification of a system?
How can the quality of a SRS document be assured? [6]
c) discuss the contents of a software
requirement specification document. [6]
4.
a) What are some key concepts in the context
of object-oriented software engineering?
[9]
b) What is inheritance? Draw an inheritance
tree to explain its use. What is multiple inheritance? Describe its utility.
[9]
5.
a) define software quality from different
viewpoints. Which definition do you think is the most important?
[6]
b) what are the different metrics of software
quality? Discuss in brief.
[6]
c) what do you mean by software quality
assurance? What are its major activities? What are the problems associated with
the implementation of a software quality assurance plan in a software
development organization?
[6]
6.
a) what is the purpose of testing and
debugging? What is a test case? How is it different from a test suite?
[6]
b) A software computes the area of a polygon,
whose each side can assume values from 1 to 10,000 cm. find the test cases for
this consideration of:
i.
Equivalent
class portioning
ii.
Boundary
value analysis
[6]
c) What is white box testing? Name some white
box testing methods.
[6]
7. write
short information notes on:
a) roles and tasks of a system analyst. [6]
b) benefits of a cleanroom approach to
software engineering. [6]
c) version control and change control in the
context of software configuration management. [6]
B3.3-R3: SOFTWARE ENGINEERING & CASE
TOOLS
NOTE:
|
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.
(6+6+6)