Software Engineering:Chap. 6 Software Requirements

6.3 Discover the ambiguities or omissions in the following statements of the requriements for the parts of a ticket-issuing system.

An automated ticket-issuing system sells rail tickets. Users Select their desctination and input a credit card and a personal identification number. The rail ticket is issued and there credit card and a personal identification number. The rail ticket is issued and their cradit card account charged. When the user presses the start button, a menu display of potential destinations is activated along with a message to the user to select a destination. Once a destination has been selected, users are requested to input their credit card. Its validity is checked and the user is then requested to input a personal identifier. When the credit trsansaction has been validated, the ticket is issued.

Ans. If a user want to buy multiple tickets,user doesn’t have option.

If user want to cancel tickets, user doesn’t have option.

Users cannot buy tickets with cash.

There was ambiguity in how potential destinations is activated.

6.6 Using the technique suggested here, where natural language is presented in a standard way, writ plausible user requirements for the following function:

♦ An unattended petrol (gas) pump system that includes a credit card reader. The customer swipes the card through the reader and then specifies the amount of fuel required. The fuel is delivered and the customers account debited.


Function: Unattended petrol pump system

Description: Validate user card by checking the card number and user pin,then approve requested amount of fuel required.

Input: Swipes credit card for account details, use numpad for specifying the amount of fuel required.

Source: Credit Card reader,numpad on system.

Output: Fuel from nozzle.

Destination: Main Control System.

Acton: Pump the gas. Compute the amount of fuel requested and deduct amount from card. If card was not valid then alert user and cancel the process.

Requires : Credit Card.

Pre condition: Credit card must be a valid one.

Post Condition : Charge the card with requested amount,fuel pumped.

Side effects : None.

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.”
“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?”
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.)

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