Presentation on theme: "Computer ScienceSoftware Engineering Slide 1 Requirements/Projects l FAA story l Requirements – specify functionality, constraints, domain restrictions."— Presentation transcript:
Computer ScienceSoftware Engineering Slide 1 Requirements/Projects l FAA story l Requirements – specify functionality, constraints, domain restrictions l Critique a simple requirement statement l Banking case study l Galaxy sleuth l GPA
Computer ScienceSoftware Engineering Slide 2 Air Traffic Control l FAA awarded IBM Federal Systems contract in 1989 l Deadline 2001, cost $2.5Billion l Constraints: 24x7x365, no downtime, 2-3 secs response time l Budget: $80K hardware, $2.5Billion software
Computer ScienceSoftware Engineering Slide 3 ATC l 1994: Cost estimate > $5Billion, nothing delivered l IBM federal systems, bought by Loral, had already spent $2.3Billion l FAA enquiry: Not enough oversight over IBM FAA indecisive over requirements Technology had evolved faster than their ability to use it l 1995/6: Formation, NJ to develop stopgap system l Lockheed Martin bought Loral, then lost most of the contract to Raytheon
Computer ScienceSoftware Engineering Slide 4 Why is SE difficult? Complexity l Application domain is complex l Domain experts are not software engineers l Difficulty for people with different background, knowledge, and vocabularies to communicate effectively. l Working in large teams is complicated Difficult to grasp the details of large development projects Integration l Ambiguity of natural language Render the tertiary structure on the screen in such a way that the scientist can manoeuvre around the graphic representation
Computer ScienceSoftware Engineering Slide 8 Train ticket issuing system l 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 with its cost. 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.
Computer ScienceSoftware Engineering Slide 9 Ambiguities l Can a customer buy several tickets for the same destination together or must they be bought one at a time? l Can customers cancel a request if a mistake has been made? l How should the system respond if an invalid card is input? l What happens if customers try to put their card in before selecting a destination ? l Must they press the start button again if they want to buy another ticket to a different destination?
Computer ScienceSoftware Engineering Slide 10 Banking You have been asked to develop a banking system for M&P Banking. Hardware and network portion has already been bought. You need to write software to manage savings and checking account transactions as well as ATM services. M&P has one kind of savings and two kinds of checking accounts. The savings account bears interest at the prevailing rates, compounded monthly. Savings transactions are free as long as they are carried out at a branch and not at an ATM. Two checking account options exist. The Rich Club Account (RCA) bears interest at 1 percent less than the savings account rate, checks are free, and no monthly fee is applied as long as the total balance of all accounts is at least $5,000. The Poor Slob Club (PSC) has no minimum balance. PSC accounts are charged a monthly fee of $5.00 and each check costs the customer $0.10.
Computer ScienceSoftware Engineering Slide 12 Major classes
Computer ScienceSoftware Engineering Slide 13 Galaxy Sleuth l Identify and address questions and ambiguities l Identify project elements requiring network programming l Identify project elements requiring graphic image manipulation l Identify project elements that lend themselves to audio; l Identify project elements requiring special algorithm creation l Create a preliminary project conceptualization l List three to six key classes comprising the system l Establish areas of interest on which individual team members would like to work.
Computer ScienceSoftware Engineering Slide 14 Microsoft