You are on page 1of 17

SOFTWARE ENGINEERING 9TH EDITION

CHAPTER 4 4.1. Identify and briefly describe four types of requirement that may be defined for a computer based system.

Ans: Types of requirements for a computer based system: Generally, system requirements are included to communicate the functions that the system should provide. And every computer based systems consists of many requirements. They are 1. 2. 3. 4. User requirements. System requirements Functional requirements Non-functional requirements.

Description of requirements: 1. User requirements: The requirements are the statements in a natural language plus diagrams of the services the system provides and its operational constraints. 2. System requirements: A structured document setting out detailed description of the systems functions, services and operational constraints. Define what should be implemented. It may be part of a contract between client and contactor. 3. Functional requirements: These are the statement of the services the system should provide, how the system should react to particular input and how the system should behave in particular situation. 4. Nonfunctional Requirements: Constraints on the services or functions offered by the system such as timing constraints, constraints on the development process, standards, etc. often these are applied to the system as a whole rather than individual features or services.

4.2.

Discover ambiguities or omissions in the following statement of requirements for part of ticket-issuing systems: An automated ticket-issuing system sells rail tickets. Users select their destination and input a credit card and a personal identification number. The rail ticket is issued and their credit card account charged.
IRFAN ZAFAR AWAN

SOFTWARE ENGINEERING 9TH EDITION

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 transaction has been validated, the ticket is issued. Ans: Ambiguities and omissions include: a) Can a customer buy several tickets for the same destination together or must they be bought one at a time? b) Can customers cancel a request if a mistake has been made? c) How should the system respond if an invalid card is input? d) What happens if customers try to put their card in before selecting a destination (as they would in ATM machines)? e) Must the user press the start button again if they wish to buy another ticket to a different destination? f) Should the system only sell tickets between the station where the machine is situated and direct connections or should it include all possible destinations? 4.3. Rewrite the above description using the structured approach described in chapter 4 of the textbook. Resolve the identified ambiguities in an appropriate way. Function Give customer a rail ticket, and charge credit account accordingly Description Determine customers destination, calculate the charge for the trip, and charge the customer the appropriate amount. If charge is complete, print the ticket, otherwise, print no ticket, and report error to customer. Inputs Destination, credit card number, personal ID number Outputs Tickets, error messages Action Ask the customer for their destination, when input, calculate the total, and prompt for swiping of a credit card, prompt customer for
IRFAN ZAFAR AWAN

Ans.

SOFTWARE ENGINEERING 9TH EDITION

PIN, prompt customer that the transaction is taking place, if successful print the ticket and return to start state, if unsuccessful, ask customer to swipe their card again and re-input the PIN. If unsuccessful again, prompt that the transaction has failed, and return to start state. Requires Destination, credit card number, and PIN Pre-condition None Post-condition None Side effects Charge to the customers credit account 4.4. Write a set of non-functional requirements for the ticket-issuing system, setting out its expected reliability and response time. Ans. Possible non-functional requirements for the ticket issuing system include: a) b) c) Between 0600 and 2300 in any one day, the total system down time should not exceed 5 minutes. Between 0600 and 2300 in any one day, the recovery time after a system failure should not exceed 2 minutes. Between 2300 and 0600 in any one day, the total system down time should not exceed 20 minutes.

All these are availability requirements note that these vary according to the time of day. Failures when most people are traveling are less acceptable than failures when there are few customers. d) e) f) After the customer presses a button on the machine, the display should be updated within 0.5 seconds. The ticket issuing time after credit card validation has been received should not exceed 10 seconds. When validating credit cards, the display should provide a status message for customers indicating that activity is taking place. This tells the customer that the potentially time consuming activity of validation is still in progress and that the system has not simply failed.

IRFAN ZAFAR AWAN

SOFTWARE ENGINEERING 9TH EDITION

g)

The maximum acceptable failure rate for ticket issue requests is 1: 10000.

4.5: Using the technique suggested here, where natural language descriptions are presented in a standard format, write plausible user requirements for the following functions: An unattended petrol (gas) pump system that includes a credit card reader. 1. The customer swipes the card through the reader then specifies the amount of fuel required. The fuel is delivered and the customers account debited. The cash-dispensing function in a bank ATM. The spelling-check and correcting function in a word processor.

2. 3. ANS I.

1) User swipes their card and then enters zip code for credit or pin for debit. 2) User enters the amount of fuel they want to purchase from the station. 3) User then will place the pump nozzle into their car to retrieve the gas. 4) When their desired amount has been dispersed the pump will stop pumping gas and the customer will be given a receipt of their purchase. II. 1).User swipes card at the atm card reader. 2) User enters their pin number on the keypad. 3) User then enters the amount of money to be withdrawn from specified account. 4) If the withdraw amount does not exceed the balance then the money is dispersed to the customer and a receipt is given with remaining balance. III. 1) user clicks on the button to run the spell check in the word processor 2) user is then prompted for each error the spell check function finds and is presented with possible fixes. 3) User either chooses a recommended fix of the problem or chooses to ignore the error until all errors have been accounted for.
IRFAN ZAFAR AWAN

SOFTWARE ENGINEERING 9TH EDITION

4.6). Suggest how an engineer responsible for drawing up a system requirements specification might keep track of the relationships between functional and non-functional requirements. Ans: In software development, these relationships you're trying to make are almost certainly never going to be one-to-one. Without knowing more about your project, I'd say your best bet would be to start by systematically separating your project into sections and to developing the requirements lists around each of those modules. For each section, once you've got requirements lists drawn out, go through each and decide where (if any) there are any conflicts or dependencies between and within the lists, even if they are minor. Document each extensively, on *both* sides of the conflict/dependency. Redundancy is okay here. If you need something to present to bosses/professors, displaying the functional and non-functional key points in two columns for each section with directional conflict/dependency arrows between each should be sufficiently simple. 4.7: 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. 1. 2. 3. 4. 5. 6. 7. 8. The user is prompted to enter a card. The user enters their card. The user is prompted to enter their PIN. The user enters their PIN. The user is prompted to withdraw or check balance The balance is displayed. If withdraw is chosen, the user is prompted to enter the amount to be withdrawn. If withdraw is chosen, the amount is compared with the balance, and if enough money is available, the money is dispensed.
IRFAN ZAFAR AWAN

SOFTWARE ENGINEERING 9TH EDITION

9.

If withdraw is chosen, the user is prompted to take the dispensed money. 10. The user is prompted to take their card. 11. All transactions are complete, and display a happy message forth user.

IRFAN ZAFAR AWAN

SOFTWARE ENGINEERING 9TH EDITION

4.8). who should be involved in a requirement review? Draw a process model showing how a requirement review might be organized. Ans.. The primary stakeholders should be involved in the requirements review, as well as those involved with the development of the system, and the project managers who are in charge of the budget and scheduling of the system.

IRFAN ZAFAR AWAN

SOFTWARE ENGINEERING 9TH EDITION

4.9). When emergency changes have to be made to system, the system software may have to be modified before changes to the requirements have been approved. Suggest a process model for making these modifications that ensures that the requirements document and the system implementation do not become inconsistent. Answer:

4.10 You have taken a job with a software user who has contracted your previous employer to develop a system for them. You discover that your companys interpretation of the requirements is different from the interpretation taken by your previous employer. Discuss what you should do in such a situation. You know that the costs to your current employer will increase if the ambiguities are not resolved. However, you have also a responsibility of confidentiality to your previous employer. Ans: The key here is the ambiguities....there is nothing illegal about resolving the interpretation of ambiguities. i would discuss the ambiguities, and email a bullet pointed list of the specific ambiguities and recommendations to my current employer specific decision maker.

IRFAN ZAFAR AWAN

SOFTWARE ENGINEERING 9TH EDITION

CHAPTER 10 10.1. Give two examples of government functions that are supported by complex sociotechnical systems and explain why, in the foreseeable future, these functions cannot be completely automated. Ans. Service New Brunswick, Hospital Patient Registration System. As long as such systems provide services to different types of human users with backgrounds, capabilities, and personalities, these functions cannot be completely automated. 10.2. Explain why the environment in which a computer-based system is installed may have unanticipated efforts on the system that lead to system failure. Illustrate your answer with a different example from that used in Chapter 10 of the textbook.

Ans. Other systems in the system's environment can have unanticipated effects because they have relationships with the system over and above whatever formal relationships (e.g. data exchange) are defined in the system specification. For example, the system may share an electrical power supply and air conditioning unit, they may be located in the same room (so if there is a fire in one system then the other will be affected) etc. 10.3. Why is it impossible to infer the emergent properties of a complex system from the properties of the system components? Ans. For a complex system, integration of large number of components is also complex, which may result in emergent properties of integrated system own, even if individual component has satisfactory emergent properties. 10.4. Why is it sometimes difficult to decide whether or not there has been a failure in a sociotechnical system? Illustrate your answer by using examples from the MHC-PMS that has been discussed in textbook chapters.

Ans. The notion of a system failure is a judgment on the part of the observer of the failure, depending on their experience and expectations. Users of a system never read the specification so it is pointless to define failures as a deviation from a specification.

IRFAN ZAFAR AWAN

SOFTWARE ENGINEERING 9TH EDITION

For example, consider two users of the MHC-PMS from different backgrounds: a) User 1 is a doctor who has extensive experience of mental health care. When selecting a menu of options to identify the patients condition, he or she will expect to see in this menu the conditions with which they are familiar. If these conditions do not appear in the menu then he or she may consider this to be a system failure. User 2 is a doctor who has recently graduated and has only limited experience of mental health care. When selecting the menu of options, they assume that these reflect the conditions which the system can handle so they classify the patient according to these conditions. They do not observe a system failure. 10.5. What is a wicked problem? Explain why the development of a national medical records m system should be considered a wicked problem. Ans. A wicked problem is one for which each attempt to create a solution changes the understanding of the problem. Wicked problems cannot be solved in a traditional linear fashion, because the problem definition evolves as new possible solutions are considered and/or implemented. The term was originally coined byHorst Rittel. Wicked problems always occur in a social context -- the wickedness of the problem reflects the diversity among the stakeholders in the problem. Most projects in organizations -- and virtually all technology-related projects these days -- are about wicked problems. Indeed, it is the social complexity of these problems, not their technical complexity, that overwhelms most current problem solving and project management approaches. (See graphic of wicked problem solving process below.) Some specific aspects of problem wickedness include: You don't understand the problem until you have developed a solution. Indeed, there is no definitive statement of "The Problem." The problem is ill-structured, an evolving set of interlocking issues and constraints. b)

IRFAN ZAFAR AWAN

SOFTWARE ENGINEERING 9TH EDITION

Wicked problems have no stopping rule. Since there is no definitive "The Problem", there is also no definitive "The Solution." The problem solving process ends when you run out of resources. Solutions to wicked problems are not right or wrong, simply "better," "worse," "good enough," or "not good enough." Every wicked problem is essentially unique and novel.There are so many factors and conditions, all embedded in a dynamic social context, that no two wicked problems are alike, and the solutions to them will always be custom designed and fitted. Every solution to a wicked problem is a "one-shot operation," every attempt has consequences. As Rittel says, "One cannot build a freeway to see how it works." This is the "Catch 22" about wicked problems: you can't learn about the problem without trying solutions, but every solution you try is expensive and has lasting unintended consequences which are likely to spawn new wicked problems. Wicked problems have no given alternative solutions. There may be no solutions, or there may be a host of potential solutions that are devised, and another host that are never even thought of. 10.6 - A multimedia museum system offering virtual experiences of ancient Greece is to be developed for a consortium of European museums. The system should provide users with the facility to view 3-D models of ancient Greece through a standard web browser and should also support an immersive virtual reality experience. What political and organizational difficulties might arise when the system is installed in the museums that make up the consortium? Ans : Depending on where the physical museums are located there may be legal issues depending on the content of the system. Ancient Greece had several activities which are not necessarily accepted today - this ranges from pedophilia, young marriage, and brutal murder. If the system includes these then there may be political damage done to the institutions. Organizational difficulties may arise if the system makes staff members irrelevant - the job that they previously done has been replaced.

IRFAN ZAFAR AWAN

SOFTWARE ENGINEERING 9TH EDITION

10.8:- Explain why legacy systems may be critical to the operation of the business. Ans: Legacy systems are systems relying on old or obsolete hardware and software, and are considered either too expensive, or risky to replace, update, or upgrade these systems. When systems are developed for a specific purpose, with no intention of having other systems rely on it, they can be designed in such a fashion that the entire system can be replaced with no problems. When a system is a core system however, and other systems are developed relying on the core system, it begins to become more and more difficult to replace or modify it. When this system is now integral to all parts concerning it, replacing or modifying it would likely require modifications to every other system that it supports, which can keep a business offline for months while upgrades take place. 10.10 - You are an engineer involved in the development of a financial system. During installation, you discover that this system will make a significant number of people redundant. The people in the environment deny you access to essential information to complete the system installation. To what extent should you, as a systems engineer, become involved in this situation? Is it your professional responsibility to complete the installation as contracted? Should you simply abandon the work until the procuring organization has sorted out the problem? Ans. As a systems engineer you should attempt to gain the information you require to do the job you were contracted to do. If it is being kept from you by others, you should avoid direct conflict (getting in arguments or threatening those barring your way), and have the procuring organization gain and provide the data. At no point should you do any illegal activity to gain access to the data you need.

IRFAN ZAFAR AWAN

SOFTWARE ENGINEERING 9TH EDITION

CHAPTER 11 11.2What are the most important dimensions of system dependability? Ans: Principal dimensions of dependability are: Availability; the probability of system can operator and able to delivery useful service in anytime. Reliability; the system can keeping offer the expect and correct performance after a period time. Safety; the evaluation of possibility of cause user of environment from system. Security: the evaluation of possibility of prevent accident or purpose intruder from external system

Giving reasons for your answer, suggest which dependability attributes are likely to be most critical for the following systems: An Internet server provided by an ISP with thousands of customers. A computer-controlled scalpel used in keyhole surgery. A directional control system used in a satellite launch vehicle. An Internet-based personal finance management system.

IRFAN ZAFAR AWAN

SOFTWARE ENGINEERING 9TH EDITION

Ans Internet server: Availability as failure of availability affects a large number of people, Reputation of the supplier and hence its current and future income. A computer-controlled scalpel: Safety as safety-related failures can cause harm to the patient. A directional control system: Reliability as mission failure could result from failure of the system to perform the specification. An internet-based personal finance management system: Security because of potential losses to users. 5 Identify six consumer products that are likely to be controlled by safety-critical software systems.

Ans Possible domestic appliances that may include safety-critical software include: Microwave oven Power tools such as a drill or electric saw Lawnmower Central heating furnace Garbage disposal unit Vacuum cleaner Food processor or blender 6 Reliability and safety are related but distinct dependability attributes. Describe the most important distinction between these attributes and explain why it is possible for a reliable system to be unsafe and vice versa.

Ans Ensuring system reliability does not necessarily lead to system safety as reliability is concerned with meeting the system specification (the system 'shall') whereas safety is concerned with excluding the possibility of dangerous behavior (the system 'shall not'). If the specification does not explicitly exclude dangerous behavior then a system can be reliable but unsafe.
IRFAN ZAFAR AWAN

SOFTWARE ENGINEERING 9TH EDITION

7...

In a medical system that is designed for deliver radiation to treat tumors suggest one hazard that may arise and propose one software feature that may be used to ensure that the identified hazard does not result in an accident.

Ans A possible hazard is delivery of too much radiation to a patient. This can arise because of a system failure where a dose greater than the specified dose is delivered or an operator failure where the dose to be delivered is wrongly input. Software features that may be included to guard against system failure are the delivery of radiation in increments with a operator display showing the dose delivered and the requirement that the operator confirm the delivery of the next increment. To reduce the probability of operator error, there could be a feature that requires confirmation of the dose to be delivered and that compares this to previous doses delivered to that patient. Alternatively, two different operators could be required to independently input the dose before the machine could operate. 8 In computer security terms, explain the differences between an attack and a threat.

Ans A threat is a category of objects, persons, or other entities that represents a constant danger to an asset. An attack is an act or event that exploits vulnerability. Main difference between threat and attack is a threat can be either intentional or unintentional where as an attack is intentional. Threat is a circumstance that has potential to cause loss or damage whereas attack is attempted to cause damage. Threat to the information system doesnt mean information was altered or damaged but attack on the information system means there might be chance to alter, damage, or obtain information when attack was successful.

IRFAN ZAFAR AWAN

SOFTWARE ENGINEERING 9TH EDITION

Using the MHC-PMS as an example, identify three threats to this system (in addition to the threat shown in Figure 11.8). Suggest controls that might be put in place to reduce the chances of a successful attack based on these threats. Ans An unauthorized user will gain access to the system by infecting an access terminal and stealing login credentials. An unauthorized user will harass and clog the system in an attempt to cause a denial of service. An unauthorized user will bypass login terminals and inject malicious software into servers in order to change or steal confidential information. Asset The hardware of the system Exposure A hardware failure will create downtime and potiental loss of data Vulnerability Poor environmental controls for the server room Attack Tampering with the HVAC systems Threat A disgruntled employee or former patient might want to take out their frustrations by causing chaos Control Have redundant systems to try to ensure as much up-time as possible and if all redundancy fails have a safe shutdown procedure so the machines dont cut off without allowing the software to finish everything it needs to do.(This scenario is basically straight from studying for Security+ certification) Asset The records of the patients Exposure Loss of patient records incurs some serious government consequences Attack Downloading data through removable media Threat A person that thinks they can get money from extortion might try to get this data Control Disable all removable media drives and the ability to mount flash drives.

IRFAN ZAFAR AWAN

SOFTWARE ENGINEERING 9TH EDITION

Asset The physical security of the systems Exposure If an intruder can gain physical access to your systems then there are few limits to what they can do. Attack Data drives can be wiped. Threat Terrorist may want to cause chaos by destroying data. Control Implement mantraps at all understaffed entrances. 10. As an expert in computer security, you have been approached by an organization that campaigns for the rights of torture victims and have been asked to help the organization gain unauthorized access to the computer systems of an American company. This will help them confirm or deny that this company is selling equipment that is used directly in the torture of political prisoners. Discuss the ethical dilemmas that this request raises and how you would react to this request.

Ans This question has more than one correct answer; the point behind it is to learn how to argue your opinions. The ideal answer should discuss both sides of the dilemma (that the prisoners might be tortured and that the hacking is not an ethical act). After that you have to build your own reaction. Minimum 500 words

IRFAN ZAFAR AWAN