Software Engineering:Chap. 14 Object-oriented design

14.1 Explain why adopting an approach to design that is based on loosely coupled objects that hide information about their representation schould lead to design that may be readily modified.

Ans. “Changing the internal details of an object is unlikely to affect any other system objects”. If the objects are loosely coupled “it is usually straightforward to introduce new objects without significant effects on the rest of the system”. These reasons lead to a design that may be readily modified.

14.4 Using the UML graphical notation for object classes, design the following object classes identifying attributes and operations. Use your own experience to decide on the attributes and operations that schould be associated with the objects: A telephone, A printer for a personal computer, a personal stereo system, A bank account, Alibrary catalogue.

Ans.

14.7 Do Sequence diagram for peterol station only.

♦ A petrol (gas) station is to be set up for fully automated operation. Drivers swipe their credit card through a reader connected to the pump; the card is verified by communication with a credit company computer; and a fuel limit is estiablished. The driver may then take the fuel requried. When fuel delivery is complete and the pump hose is returned to its holster, the driver’s credit account is debited with the cost of thr fuel taken. the credit card is returned after debiting. If the card is invalid, the pump returns it before fule is dispensed.

Ans.


Software Engineering:Chap. 16 User Interface Design

16.5 “Discuss the advantages of the graphical information display and suggest four applications where it would be more appropriate to use graphical rather than digital displays of numeric information.”
Ans.
“A constantly changing digital display can be confusing and irritating as readers can’t read and assimilate the information before it changes. Such dynamically varying numeric information is therefore best presented graphically using an analogue representation”.
Graphical presentation of sales information of different months “as a histogram, makes the anomalous figures. Managers studying sales figures are usually more interested in trends or anomalous figures rather than precise values”.
“Graphical display of temperature will show the maximum and minimum values. With only a digital value, the viewer must know the maximum values and mentally compute the relative state of the reading”. The extra thinking time can be reduced by using graphical display.
Four applications :
1. “Weather information, gathered from a number of sources, is shown as a weather map with isobars, weather fronts, and so on .”
2. Summaries the sales information of a company on a monthly basis can us graphical rather than digital display.
3. Representing share values in a period of time in graphical display would be more appropriate than numeric display.
4. Displaying the sale price of producd(s), in stores, supermarkets.
16.6 “What are the guidelines that should be followed when usinf colour in auser interface?”
Ans.
1. “Limit the number of colours employed and be conservative how these are used. You should not use more than four or five separate colours in a window and now more than seven in a system interface”.
2. “Use colour change to show a change in system status. If a display changes a colour this should mean a significant event has occurred”.
3. “Use colour coding to support the task user are trying to perform. If they have to identify anomalous instances, highlight these instances; if similarities are also to be discovered, highlight these using a different colour”.
4. “Use colour coding in a thoughtful and consistent way”.
5. “Be careful about pairings. Because of the physiology of the eye, people cannot focus on red and blue simultaneously”.

Software Engineering:Chap. 7 Requirements engineering processes

7.1 “Suggest who might be stakeholders in a university student record system. Explain why it is almost inevitable that the requirements of different stakeholders will conflict in some way.”
Ans. Stakeholders: Students,Admission Department,Faculty,Academic Adviser,Department of library, Department In-charge, Office of Student Employment.
“Different stakeholder have different requirements, which they may express in different ways”.
“Political factors may influence the requirements of system” and cause conflict.
One of the main reason for conflict was involvement of multiple stakeholders.
7.5 “Using your knowledge of how an ATM is used, develop a set of use-cases that could serve as a basis for understanding the requirements for an atm system.”
(Provide only descriptive names for the use case and sketch a use case diagram.)
Ans.

Software Engineering:Chap. 17 Rapid software development

17.1 “Explain why the rapid delivery and deployment of new systems is often more important to businesses than the detailed functionality of these systems.”
Ans. “A conventional waterfall or specfication-based process is usually prolonged and the final software is delivered to the customer long after it was originally specified. In a fast-moving business environment, this can cause real problems. By the time the software is available for use, the original reason for its procurement may have changed so radically that the software is effectively useless. Therefore, for business systems in particular, development processes that focus on rapid software development and delivery are essential”.
17.3 “When would you recommend against the use of agile method for developing a software system?”
Ans. “Agile methods are not well suited to large-scale system development with the development teams in different places and where there may be complex interactions with other hardware and software system”. Agile methods are not well suited to critical systems development.
17.6 “Suggest four reasons why the productivity rate of programmers working as a pair is roughly the same as two programmers working individually.”
Ans. * “Pair programming supports the idea of common ownership and responsibility for the system”.
* “Pair programming acts as an informal review process because each line of code is looked at by at least two people. Code inspections and reviews are very successful in discovering a high percentage of software errors”.
* “Pair programming helps support refactoring, which is a process of software improvement”.
* “Pairs discuss the software before development so probably have fewer false starts and less