4. Software Design
January-2004 [18]
4.
a) 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:
AdmlUReJect Info.; E: Acknowledgment;
F: Letter AdmlUReJect. [8]
b) 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? [10]
July-2004 [34]
1. State
whether the following statements are TRUE or FALSE. In each case, justify your
answer using 3-4 sentences.
g) Traditional process-oriented design is
carried out top-down, whereas object-oriented design is normally carried out
bottom-up. [4]
2.
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
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.
a) Draw
the context diagram (level 0 DFD) for the TCA software [4]
b) Draw
the level 1 DFD for the TCA software. [8]
c) Perform
structured design for the TCA software.
[6]
5.
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. [6]
6.
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. [6]
January-2005 [31]
1. Give
brief answer to the following questions:
g) List and
explain briefly five metrics for the design phase. [4]
3.
a) What are the different types of
coupling that may exist between two modules? Show, how control coupling can be
avoided with the help of an example. What problems can occur if modules have
very low cohesion? [9]
b) How can you achieve functional
independence in a software design? Explain with any example of your choice. [9]
5.
b) Write
short note on:
i) Data Flow Diagram
ii) Data Dictionary [9]
July-2005 [21]
2.
b) Explain the desirable characteristics
of a good user interface. In this context, how do the limitations of the human
recognition capabilities influence the user interface design? [9]
5.
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. [6]
6.
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. [6]
January-2006 [22]
1.
d) What are
the desirable characteristics of a good software design? [4]
4.
a) What is coupling? Which form of
coupling among software modules is the best? What are the various forms of
coupling? Explain. [9]
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]
July-2006 [11]
1. Give brief answers to the following
questions.
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. [4]
6.
c) Explain the human cognition
capabilities (relevant to human-computer interfaces) and their limitations. How
do these influence design of effective human-computer interfaces? [7]
January-2007 [8]
2.
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. [8]
July-2007 [8]
1.
d) How
can you design high cohesion and low coupling modules? [4]
e) What
are the types of generic dependencies in an architectural design? [4]
January-2008 [14]
3.
a) What is coupling? Which form of
Coupling among software modules is the best? What are the other forms of
Coupling? [8]
b) Define Cohesion. What is functional
Cohesion? Does Functional Cohesion within a module bring about good software
design? Give an example. [6]
No comments:
Post a Comment