Professional Documents
Culture Documents
COM
Connecting VU Students
FINAL EXAMINATION
Total Marks:60
SEMESTER FALL 2004
CS504-Software Engineering Duration:120mins
StudentID/LoginID
Name
PVC Name/Code
Please read the following instructions carefully before attempting any of the
questions:
1. Attempt all questions. Marks are written adjacent to each question.
2. Do not copy and paste from handouts. If any thing found copy from handouts, no
mark would be awarded for it.
3. Do not ask any questions about the contents of this examination from anyone.
a. If you think that there is something wrong with any of the questions, attempt it
to the best of your understanding.
b. If you believe that some essential piece of information is missing, make an
appropriate assumption and use it to solve the problem.
c. Write all steps, missing steps may lead to deduction of marks.
**WARNING: Please note that Virtual University takes serious note of unfair
means. Anyone found involved in cheating will get an `F` grade in this course.
ii- what is Black Box and White Box Testing. Describe briefly. (5)
Following is the prototype of a function to find the index of the minimum value in an array.
(a) Identify equivalence partitions to devise black-box test cases for this function. (5 Pts)
(b) Write test cases against each partition identified in part (a). (5 Pts)
What are Boolean Bugs? Describe briefly.What are symptoms of Boolean Bugs?
StudentID/LoginID: ______________________________
Exam Date:
Please read the following instructions carefully before attempting any of the
questions:
1. Attempt all questions. Marks are written adjacent to each question.
2. Do not ask any questions about the contents of this examination from
anyone.
a. If you think that there is something wrong with any of the
questions, attempt it to the best of your understanding.
b. If you believe that some essential piece of information is missing,
make an appropriate assumption and use it to solve the problem.
c. Write all steps, missing steps may lead to deduction of marks.
**WARNING: Please note that Virtual University takes serious note of unfair
means. Anyone found involved in cheating will get an `F` grade in this course.
► Fountain model
► Spiral model
► Chaos model
► Use case
► Objects
► State of system
► Actors
►
Cycles in the program
►
its attributes only
► its collaborators
►
fire fighting and crisis management
The testing technique that requires devising test cases to exercise the internal logic of a
software module is called
► behavioral testing
► black-box testing
► grey-box testing
► white-box testing
The four layers defined for object-oriented design are the same as design layers used for
conventional software design.
►
True
► False
Question No: 10 ( Marks: 1 ) - Please choose one
True
► False
a) Identify equivalence partitions to devise black-box test cases for this function.
b) Write test cases against each partition identified in part (a).
1.
• System slowdowns
• Crashes that occur "randomly" over a long period of time
3.
sorted = false;
while (!sorted) { //1
sorted = true;
for (i=0; i < N-1; i++) { //2
if a[i] > a[i+1] {
swap(a[i], a[i+1]); //3
sorted = false;
} //4
} //5
} //6
a) Draw the flow graph for this code segment. [10]
b) Calculate the cyclomatic complexity for this code [5]
c) Identify one infeasible path if any. [5]
Question No: 15 ( Marks: 10 )
Write Some of the key advantages which make the object-oriented technology significantly
attractive than other technologies? Discuss the difference between Object oriented and
Function Oriented approach also elaborate the difference using diagram.
www.vujannat.ning.com
Instructions
Please read the following instructions carefully before attempting any question:
1. You have to attempt all Questions.
2. This examination is closed book, closed neighbors; any one found cheating will get no
grade.
3. Do not ask any questions about the contents of this examination from anyone.
a. If you think that there is something wrong with any of the questions, attempt it to the
best of your understanding.
b. If you believe that some essential piece of information is missing, make an
appropriate assumption and use it to solve the problem.
4. You are allowed to use any tool that helps in drawing Diagrams like Microsoft Word, Paint
etc.
What are Loop Errors? Describe briefly. What are symptoms of Loop Errors?
Following is the prototype of a function to find the index of the key value in an array. It returns
-1 if the key is not found.
(a) Identify equivalence partitions to devise black-box test cases for this function. (5 Pts)
(b) Write test cases against each partition identified in part (a). (5 Pts)
Instructions
Please read the following instructions carefully before attempting any question:
1. The duration of this examination is 150 Mins.
2. You have to attempt all Questions.
3. This examination is closed book, closed neighbors; any one found cheating will get no grade.
4. Do not ask any questions about the contents of this examination from anyone.
a. If you think that there is something wrong with any of the questions, attempt it to the
best of your understanding.
b. If you believe that some essential piece of information is missing, make an
appropriate assumption and use it to solve the problem.
5. You are allowed to use any tool that helps in drawing UML Diagrams like Microsoft Word,
Visio etc.
(a) Draw the flow graph for this code segment. (5 Pts)
(b) Calculate the cyclomatic complexity for this code (2 Pts)
(c) Identify one infeasible path if any. (1 Pts)
(d) Identify all feasible paths (2 Pts)
(e) Write white-box test cases for all the feasible paths (5 Pts)
Following is the prototype of a function to find the index of the minimum value in an array.
(a) Identify equivalence partitions to devise black-box test cases for this function. (5 Pts)
(b) Write test cases against each partition identified in part (a). (5 Pts)
www.vujannat.ning.com
Which of the followings can not be used to relate use cases with each other? [2
marks]
o Extends
o Include
o Exclude
o Uses
(a) Identify equivalence partitions to devise black-box test cases for this
function. [10 marks]
(b) Write test cases against each partition identified in part (a).
[5 marks]
o Subsystem testing
o Alpha testing
o Beta Testing
o Gamma Testing
During the requirement analysis stage, which of the following requirements should
be identified? [2 marks]
o Functional requirements
o Performance requirements
o Software tools requirements
o Personal resources requirements
o Collaboration Diagram
o State Transition Diagram
o Flow Chart
o Data Flow Diagram
Draw the corresponding object model diagram for the following system description.
[10 marks]
(Note: Use the UML Object Model Notation)
"A bank account is either, a current account, a deposit account, or a mortgage account.
All bank accounts can be opened and closed and all bank accounts have a balance.
Deposit accounts pay interest. For current accounts it is possible to set up an overdraft
facility. All mortgage accounts have a 'term' (the number of years the mortgage runs). A
bank customer (who is characterized by name and address) can have one or more
accounts."
CS504_final_spring2006
(Q 1)
a) Identify equivalence partitions to devise black-box test cases for this function. (10
Pts)
b) Write test cases against each partition identified in part (a). (5
Pts)
(Q 2)
For each of the following cases, identify which Design Pattern should be used and why?
Discuss briefly.
a) There are two objects, “A” and “B”. Both of them are interacting with each other
in such a way that the state of the object “B” depends on the state of the object
“A” and it is the responsibility of “B” to synchronize its state whenever “A”
changes.
b) A client wants to build Simulation Software, which is used to show customer the
preview of interior decoration of rooms. The software presents rooms as object
and it can interact with other objects. These objects, like Television, Sofa etc, can
change their state. The client has determined that there can be limited number of
operations that can be performed on the objects, e.g. a TV can be placed at either
of the walls of the rooms etc. The interaction between the objects should be low.
(Q 3)
Draw the corresponding object model diagram for the following system description.
(Note: Use the UML Object Model Notation)
“An online banking system allows customers to manage their account. Each account has
a balance. Customers can deposit to or withdraw from their account. Each deposit or
withdrawal is called a transaction. A transaction always has a value and a date. At any
time a customer can see a statement, which is a listing of each transaction.”
(Q 4)
(Q 5)
(Q 6)
(Q 7)
List the problems we risk facing if software engineering principles are not applied to
software development.
(Q 8)
What are the differences between Thin Client and Fat Client architecture?
(Q 9)
Following is the list of bugs’ symptoms; identify the bug classes in each case.
a) System slowdowns.
b) The program doesn't crash, but the flow of the program takes odd branches
through the code.
c) If your program simply locks up, repeatedly displays the same data over and over,
or infinitely displays the same message box.
(Q 9) (Marks: 2)
(Q 10) (Marks: 2)
(Q 11) (Marks: 2)
The cyclomtic complexity metric provides the designer with information regarding
the number of
(Q 12) (Marks: 2)
In which software development problem solving stage are the results delivered?
Status quo
Problem definition
Technical development
Solution integration
(Q 13) (Marks: 2)
Which of the items listed below is not one of the software engineering layers?
Process
Manufacturing
Methods
Tools
www.vujannat.ning.com
Instructions
Please read the following instructions carefully before attempting any question:
1. You have to attempt all Questions.
2. This examination is closed book, closed neighbors; any one found cheating will get no
grade.
3. Do not ask any questions about the contents of this examination from anyone.
a. If you think that there is something wrong with any of the questions, attempt it to the
best of your understanding.
b. If you believe that some essential piece of information is missing, make an
appropriate assumption and use it to solve the problem.
4. You are allowed to use any tool that helps in drawing Diagrams like Microsoft Word, Paint
etc.
A food processor has the following motor control. It has a switch that is either in the On
position, or Off position. When the motor is stationary and the switch is turned on, then power
is applied to a starting coil, and the motor starts. After the motor starts, the power is applied
to the running coil, and the motor continues to run. The motor has a heat sensor. If the motor
becomes too hot due to overload, then the power to the motor is cut off, and the motor stops.
When the motor has cooled down, and it is stationary, power is again applied first to the
starting coil, and ten to the running coil, when it is in motion.
StudentID/LoginID: ______________________________
Exam Date:
Please read the following instructions carefully before attempting any of the
questions:
1. Attempt all questions. Marks are written adjacent to each question.
2. Do not ask any questions about the contents of this examination from
anyone.
a. If you think that there is something wrong with any of the
questions, attempt it to the best of your understanding.
b. If you believe that some essential piece of information is missing,
make an appropriate assumption and use it to solve the problem.
c. Write all steps, missing steps may lead to deduction of marks.
**WARNING: Please note that Virtual University takes serious note of unfair means.
Anyone found involved in cheating will get an `F` grade in this course.
Both the software engineer and customer take an active role in software requirements
engineering-a set of activities that is often referred to as Requirement_______________
► Managing
► Recognition
► Analysis
► Modeling
► Cohesion
► Coupling
► Loop coupling
► Loop cohesion
In the Functional design, the structure of the system revolves around __________
► Functions
► Sequences
► Models
► Flows
► True
► False
The Process of Software Development involves construction and Management. Discuss each
category in detail and draw diagram to show their relationship.
Briefly explain the key points (including benefits/drawbacks) about the Water Fall life-cycle
model.
WWW.vujannat.ning.COM
Connecting VU Students
MIDTERM EXAMINATION
FALL 2007 Marks: 40
CS504 - SOFTWARE ENGINEERING – I (Session - 7 ) Time: 120min
StudentID/LoginID: ______________________________
Please read the following instructions carefully before attempting any of the
questions:
1. Attempt all questions. Marks are written adjacent to each question.
2. Do not ask any questions about the contents of this examination from
anyone.
a. If you think that there is something wrong with any of the questions,
attempt it to the best of your understanding.
b. If you believe that some essential piece of information is missing, make
an appropriate assumption and use it to solve the problem.
c. Write all steps, missing steps may lead to deduction of marks.
3. The use of Mobile phone is forbidden during the paper.
**WARNING: Please note that Virtual University takes serious note of unfair means.
Anyone found involved in cheating will get an `F` grade in this course
Business model is the part of designing phase of software engineering development life cycle
► True
► False
Requirement engineering mainly deals with the definition phase of the system. Discuss the
importance of Requirement Engineering.
Identify appropriate classes and methods for the following requirements specification,
and draw the resulting class diagram:
“Customers order a number of items from a shop. The purpose of this system is to produce a
printed invoice for the customers’ orders. Each invoice should contain a full list of items
ordered together with their price. Customers might order more than one of a particular item
so the invoice should show the number of each item ordered rather than list them multiple
times. The invoice
should display the cost of each item and the total amount payable. The invoice should also
print the customer’s name and address.”
WWW.vujannat.ning.COM
Connecting VU Students
MID TERM EXAMINATION
Total Marks: 60
SEMESTER FALL 2004
CS504-SOFTWARE ENGINEERING Duration: 60 Mins
Instructions
Please read the following instructions carefully before attempting any question:
Determine which of the following relationships are inheritance, association or aggregation. Be aware that
there may be 3-way or N-way associations so do not assume that any N-way relationship is inheritance.
Also draw the object model in each case.
Briefly describe “Software Engineering Phases”. Do provide examples and diagrams where necessary.
A food processor has the following motor control. It has a switch that is either in the On position, or Off
position. When the motor is stationary and the switch is turned on, then power is applied to a starting coil,
and the motor starts. After the motor starts, the power is applied to the running coil, and the motor
continues to run. The motor has a heat sensor. If the motor becomes too hot due to overload, then the
power to the motor is cut off, and the motor stops. When the motor has cooled down, and it is stationary,
power is again applied first to the starting coil, and ten to the running coil, when it is in motion.
a. Draw a use case block diagram, to illustrate the above-described sequence of events in detail (i.e.
the motor was started, run, it overheated, stopped, cooled, and again started and run) (5 Marks)
b. Draw a state transition diagram for the system (10 marks)
c. Draw the message sequence diagram for the above system (10 Marks)
Page 1 of 1
www.vujannat.ning.com
**WARNING: Please note that Virtual University takes serious note of unfair
means. Anyone found involved in cheating will get an `F` grade in this course.
Consider the following requirements specification for a computerized appointments system for a
doctors' surgery.
"The system will be primarily operated by the doctors' receptionists. They will make appointments
for patients who contact the surgery. To make an appointment the receptionist gets the patient's
name, checks that the patient is registered and gets the next available appointment slot. Providing
this slot is acceptable to the patient the appointment is confirmed and the diary updated. The
system should enable receptionists to cancel appointments either in response to patients' or
doctors' requests. If a patient cancels a confirmed appointment within 24 hours, he has to pay 50
Rs. cancellation charges; patients who fail to turn up for an appointment must pay 100 Rs.
charges. The system must prepare invoices for customers who have to pay charges. As the
system is only to be used by receptionists or doctors it should have user friendly interface and an
appropriate login procedure that will only allow authorized users to enter the system."
The UML includes: use case diagrams, use case description, object model, sequence diagrams
and collaboration diagrams. Explain briefly what these are, making clear the relationships
between them. [10 marks]
www.vujannat.ning.com
Instructions
Please read the following instructions carefully before attempting any question:
True
False
Use case
Objects
State of system
All of these.
Explain the purpose (using only two sentence in each case) of each of the following
components of UML
True
False
“The system will be primarily operated by the doctors’ receptionists. They will make
appointments for patients who contact the surgery. To make an appointment the
receptionist gets the patient’s name, checks that the patient is registered and gets the
next available appointment slot. Providing this slot is acceptable to the patient the
appointment is confirmed and the diary updated. The system should enable
receptionists to cancel appointments either in response to patients’ or doctors’ requests.
If a patient cancels within 24 hours of a confirmed appointment they have to pay a Rs.
10 cancellation charge; patients who fail to turn up for an appointment must pay a Rs.
20 charge. The system must prepare invoices for customers who have to pay charges. As
the system is only to be used by receptionists or doctors, there will need to be an
appropriate login procedure that only allows authorized users to enter the system.”
a) Draw a use case diagram for the above system (one of your use cases should be
“Make Appointment”) . (6 marks)
b) Provide a narrative description for the “Make Appointment” use case including
pre, post conditions and the main alternatives. (12 marks)
c) Draw the sequence diagram for the “Make Appointment” use case (you can
assume that there are classes corresponding to “GUI”, “Diary” and
“Appointment” as well as a database of “Patients”). (7 marks)
In data flow diagram an external entity can store/update data in data store directly
True
False
What is meant by functional requirements? For each requirement given below indicate
whether it is a functional requirement (F) or a non-functional requirement (N)
Q1: Object models (as described for example using class diagrams) often incorporate
the following relations:
• generalisation-specialisation (inheritance)
• whole-part (aggregation)
• association
• object is instance of class
Using whichever of these relations you feel is the most appropriate, draw simple
diagrams to model the ideas in each of the following sentences (you should use the
appropriate UML notation and include labels and numbers where appropriate).
Q: Software is a product and can be manufactured using the same technologies used for
other engineering artifacts.(T,F)
Q: The current software crisis was caused by the Y2K problem whose seeds were first
sown by careless programmers in the early 1970's. (T, F)
CS504-Software Engineering I
Midterm Special 2006
www.vujannat.ning.com
Question #1:- What makes requirements elicitation difficult?
¾ bounding scope
¾ understanding user needs
¾ requirements volatility
¾ all of the above
Question # 2:- Which of the items listed below is not one of the software engineering
layers?
¾ Process
¾ Manufacturing
¾ Methods
¾ Tools
Question # 3:- Draw a Use Case Diagram for the following steps:
A user is placing an order with a sales company might follow these steps.
Solution:-
Architectural Attributes of Software:-
Software architecture must address the non-functional as well as the functional
requirements of the software system. This includes performance, security, safety,
availability, and maintainability. Following are some of the architectural design
procedure that can help in addressing these challenges.
¾ Performance:-
Performance can be enhanced by localising operations to minimise sub-system
communication. That is, try to have self-contained modules as much as possible
so that inter-module communication is minimized.
¾ Security:-
Security can be improved by using a layered architecture with critical assets put in
inner layers.
¾ Safety:-
Safety-critical components should be inaccessible
¾ Availability:-
Availability can be ensured by building redundancy in the system and having
redundant components in the architecture.
¾ Maintainability:-
Maintainability is directly related with simplicity. Therefore, maintainability can
be increased by using fine-grain, self-contained components.
Question # 6:- Which of these items should be used to select a software process
framework?
¾ People
¾ Product
¾ Project
¾ All of the above