Software Development Steps for CSE 116 B Ramamurthy

Software Development Steps for CSE 116 B. Ramamurthy 12/13/2021 B. Ramamurthy 1

Steps in Software Development Problem Statement (Project handout) Requirements (See Ch. 5 of UML book) Use Case (See Ch. 6 of UML book) Conceptual Model (See Ch. 9, 10 of UML book) Implementation (Code : use your Java knowledge and Main’s text) Testing (Individual classes/units and the integrated application) 12/13/2021 B. Ramamurthy 2

Requirements are description of needs or desires for a product. Primary goal of the requirements phase is to identify what is really needed, in the form that clearly to the client and to the development team. Challenge is to define the requirements such that there is no surprises when the product is delivered. Artifacts: Overview statement (5. 3), Customers (5. 4), Goals (5. 5), System functions (5. 6), System attributes (5. 7) 12/13/2021 B. Ramamurthy 3

On to analysis… Overview statement: n The purpose of this project is to create a wireless device (emulator) for fast-food ordering. Customers: n Mc. Burger Queen Inc. , a fast food chain. Goals: n n n Allow users to order from anywhere. Avoid long lines at the drive through counter. Enable fast service for the customers. 12/13/2021 B. Ramamurthy 4

Analysis …(contd. ) System Functions: This are a list of what the system is supposed to do. Functional requirements of the form n The system should do <X> System function categories: n n n Evident (should perform) Hidden (should perform) Frill (optional) 12/13/2021 B. Ramamurthy 5

Functional Requirements Ref# Function R 1. 1 Provide interface for customer to place order R 1. 2 Add each item ordered to a list R 1. 3 Display price for current item R 1. 4 Display total price R 1. 5 Record sales R 1. 6 Provide persistent storage Category evident hidden evident out of scope Basic Functions are listed above. You may add on others. Payment related functions will be considered in the next Project. 12/13/2021 B. Ramamurthy 6

System Attributes System attributes are non-functional qualities of the system such as response time, ease of use, cost, platforms etc. 12/13/2021 B. Ramamurthy 7

System Attributes Response time Interface metaphor Fault tolerance Platform Details, Boundary constraints Reasonable (specify numbers) Graphical, color Graceful degradation of services Solaris 2. 8 For a large project you may want to relate this to the functional requirement table as shown in page 46. 12/13/2021 B. Ramamurthy 8

Use Cases Use case is a narrative document that describes the sequence of events of an actor using a system to complete a process. 12/13/2021 B. Ramamurthy 9

Use Case : example Use Case : Order items Actors : Customer, order taker(cashier/food preparer) Description : A customer arrives at a WD 116, looks at display/interface, selects items one by one, confirms choice, may cancel current item. Confirms complete order. Order is delivered to customer. Items ordered include burger, drinks of different sizes, and side order. Money transaction is out of scope for this project. 12/13/2021 B. Ramamurthy 10

Conceptual Model A conceptual model is a representation of the concepts in a problem domain. It may show: n n n Concepts Association between concepts Attributes of the concepts 12/13/2021 B. Ramamurthy 11

WD 116 Conceptual Model : version 1. 0 Menu. Display Item Order Side Burger Price. Chart 12/13/2021 Drink B. Ramamurthy 12
- Slides: 12