Systems Analysis and Design I

Slides:



Advertisements
Similar presentations
MIS 325 PSCJ. 2  Business processes can be quite complex  Process model: any abstract representation of a process  Process-modeling tools provide a.
Advertisements

Information System Engineering
Software Engineering: Analysis and Design - CSE3308
Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesn’t have a name.
03/12/2001 © Bennett, McRobb and Farmer Activity Diagrams Based on Chapter 5 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
Activity Diagrams. What is Activity Diagrams?  Activity diagrams are a technique to describe procedural logic, business process, and work flow.  An.
Analysis into Design. Specifying Business Rules Identifying necessary constraints in an organisation’s operations Can apply to structured or semi-structured.
Systems Analysis and Design in a Changing World, 6th Edition
---Confidential 1 Order Management Training. ---Confidential 2 Introduction Three cycles in Oracle Applications Plan to make. Order to cash Procure to.
Unified Modeling Language
Business Intelligence Software Starts With a Philosophy… CMS WebPortal Quote Engine Modules™ Creates Purchase Orders, Sales Orders, Proposals, Invoices.
Software Engineering EKT 420. What is Activity Diagram Activity diagrams are graphical representations of workflows of stepwise activities and actions.
Copyright CovalentWorks Training Guide for Invoices MYB2B Powered by CovalentWorks.
Lecture 6 Unified Modeling Language (UML)
Welcome to Century Equipment’s Shop Online Website! This presentation will highlight some of it’s key features.
Invitation to Computer Science 5th Edition
Introduction to Sequence Diagrams
RemoteNet Presented By The Systems House, Inc.. Enhancements Order by multiple selling units of measureOrder by multiple selling units of measure Web.
Chapter 14. Activity Modeling for Transformational Systems
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
CSC 395 – Software Engineering Lecture 13: Object-Oriented Analysis –or– Let the Pain Begin (At Least I’m Honest!)
Near East University Department of Computer Engineering E-COMMERCE FOR LAPTOPS SELLING COMPANY Abdul Halim Abu Kuwaik
Sept. 18, 2003CS WPI1 CS 509 Design of Software Systems Lecture #3 Thursday, Sept. 18, 2003.
Use Case Modeling Example By: Dr. Issam Al-Azzoni.
(c) Addison Wesley Copyright © 2000 by Addison Wesley Version 1.0
Chapter 11: Customer Support. Forums Forums Issues Issues Help Desk Help Desk.
oracle apps order management training
Use Case Diagrams A Detailed Description. Use Case Diagrams Use case diagrams describe relationships between users and use cases A use case is a (usually.
Lecture 5d: Systems Use Case Descriptions.  Review  Systems Use Case Descriptions  Systems Use Case Authoring SYS3662.
Object-Orientated Analysis, Design and Programming
Compatible with the latest browsers; Chrome, Safari, Firefox, Opera and Internet Explorer 9 and above.
Project Management: Messages
Object-Orientated Analysis, Design and Programming
Chapter 4: Business Process and Functional Modeling, continued
Component and Deployment Diagrams
Systems Analysis and Design in a Changing World, 6th Edition
Object-Oriented Analysis and Design
Classes, Sequence Diagrams and Triangulation
Collaborations and Hierarchies
Week 10: Object Modeling (1)Use Case Model
DESIGN MODEL: USE-CASE REALIZATIONS WITH GRASP PATTERNS
Lab 7: Business Process Modeling Notation (BPMN)
OO Domain Modeling With UML Class Diagrams and CRC Cards
UML’s StateChart FSM, EFSM in UML Concurrent states Tool support.
UML Activity Diagrams.
OO Domain Modeling With UML Class Diagrams and CRC Cards
SE-565 Software System Requirements IV. Use Cases
The Fulfillment Process
Information Systems in Organizations 2
Use Case Modeling - techniques for detailing use cases
Systems Analysis and Design in a Changing World, 6th Edition
Use Cases 1.
Use Case Modeling Example
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Analysis models and design models
Requirements Management
UML Diagrams UML Diagrams Damian Gordon Damian Gordon.
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Interaction Modeling Extracted from textbook:
Systems Analysis and Design I
What is Direct Marketing ?
Object-Oriented Software Engineering
ECT455 Website Engineering
Object Oriented System Design Class Diagrams
Information Systems Engineering
Systems Analysis and Design I
Chapter 14. Activity Modeling for Transformational Systems
Test Design Techniques Software Testing: IN3240 / IN4240
Presentation transcript:

Systems Analysis and Design I Group Project Tutorial: Online Shopping Based on Chapter 10 of Maciaszek, L.A.: Requirements Analysis and System Design (3rd edition) Addison Wesley, 2007

Purposes Exemplify the most important models and processes in the IS development Demonstrate some software development artefacts as an integrated set and show how they all fit together The explanations are based on a single application domain (online shopping) Suggestion: go through what we have learned to reinforce the knowledge you have gained

Outline Part 0: Background (Week 5) Part 1: Use Case modelling (Week 7) Part 2: Activity Modelling (Week 8) Part 3: Class Modelling (Week 10) Part 4: Interaction Modelling (Week 11)

Part 0: Background

Online Shopping: Background (1) Buying computers over the Internet using the manufacturer’s web page A concrete example: https://www.apple.com/uk/shop/buy-mac/imac Computers classified into servers, desktops and laptops Customer can select standard configuration or can configure their own configuration For each new configuration, the system can calculate its price To place an order, the customer must fill in shipment and payment information

Online Shopping: Background (2) The system sends a confirmation email message to the customer with details of the order Customer can check the order status online at any time Moreover, the system needs to verify the customer’s credentials and payment methods request the ordered configuration from the warehouse print an invoice request the warehouse to ship the computer to the customer

Functional requirements (1) The customer uses the manufacturer’s online shopping web page to view the standard configuration of the chosen server, desktop or laptop. The price is also shown. The customer chooses to view the details of the configuration, perhaps with the intention of buying it as is or to build a more suitable configuration. The price for each configuration can be computed on customer’s request. The customer may choose to order a computer online or request a salesperson to contact them to explain details of the order, negotiate the price and so on before the order is actually placed. To place an order, the customer must fill in the online form with shipment and invoice address and payment details (credit card or cheque). 7

Functional requirements (2) 5. After the customer’s order has been entered into the system, the salesperson sends an electronic request to the warehouse with details of the configuration ordered. 6. The details of the transaction, including the order number and the customer account number, are e-mailed to the customer so that they can check the status of the order online. 7. The warehouse obtains the invoice from the salesperson and ships the computer to the customer. Exercises  

Exercises (1) Use Case Modelling [Step 1] Find actors from the above requirements. [Step 2] Find use cases from the above requirements. [Step 3] Draw a use case diagram for the online shopping application. [Step 4] Write a use case description for the use case “Order configured computer”. Use your general knowledge of typical order processing tasks to derive details not stated in the requirements. Activity Modelling [Step 5] Find actions from the above use case description. [Step 6] Draw an activity diagram for the use case “Order configured computer”.

Exercises (2) Class Modelling [Step 7] Find entity classes from the above requirements. [Step 8] Think about the attributes for the above classes. Consider only attributes with primitive types. [Step 9] Add associations to the class model. Consider what access paths between these classes are required by the use cases. [Step 10] Add aggregations or compositions to the class model. [Step 11] Add generalizations to the class model. Consider how you can extract any common attributes in the existing classes into a high-level class. [Step 12] Draw a class diagram for the online shopping application. Modify the attribute content of classes as necessary due to the introduction of the generalisation hierarchy.

Exercises (3) Interaction Modelling [Step 13] Draw a sequence diagram for the action “Display current configuration”. [Step 14] Convert the above sequence diagram into a communication diagram. [Step 15] Add operations to the class diagram according to the messages in the above sequence or communication diagram.

Outline of the following tutorials Use Case Modelling Activity modelling Class modelling Interaction Modelling But next academic year: BSc Computing program SE1 (Level 4, compulsory), SE2 (Level 5, optional) Information System A&D (Level 5, Compulsory) Information System A&D II (Level 6, Compulsory)

Part I: Use Case Modelling

Use Case Modelling Steps [Step 1] Find actors from the above requirements. [Step 2] Find use cases from the above requirements. [Step 3] Draw a use case diagram for the online shopping application. [Step 4] Write a use case description for the use case “Order configured computer”. Use your general knowledge of typical order processing tasks to derive details not stated in the requirements.

Requirements 3. The customer may choose to order a computer online or may request a salesperson to contact them to explain order details, negotiate the price, etc. before the order is actually placed. 7. The warehouse obtains the invoice from the salesperson and ships the computer to the customer.

Step 1: Actors in the Requirements 3. The customer may choose to order a computer online or may request a salesperson to contact them to explain order details, negotiate the price, etc. before the order is actually placed. 7. The warehouse obtains the invoice from the salesperson and ships the computer to the customer. NB: The shipment process is not part of our system 16

Step 2: Full List of Use Cases in the requirements 3. The customer may choose to order a computer online or may request a salesperson to contact them to explain order details, negotiate the price, etc. before the order is actually placed. 7. The warehouse obtains the invoice from the salesperson and ships the computer to the customer.

Step 3: Full List of Use Cases in the Requirements Req. No Actor Use case 1 Customer Display Standard Configuration 2 Build Configuration 3 Customer, Salesperson Order Computer Request Contact 4 Order Computer Verify & Accept Payment 5 Salesperson Warehouse Inform Warehouse about Order 6 Display Order Status 7 Print Invoice Buying computers over the Internet

Step 3: Use Case Diagram

Step 4: Use Case Description (1) see p. 3 of OnlineShoppingBackground.pdf

Step 4: Use Case Description (2)

Part II: Activity modelling 22

Activity Modelling [Step 5] Find actions from the above use case description. [Step 6] Draw an activity diagram for the use case “Order configured computer”.

Recap Session3: Activity Diagram initial node black circle decision node merge node diamond guard condition in square brackets final node black circle in white circle [campaign to add] [no campaign to add] Add a New Client Assign Staff Contact Add New Campaign The flow of control will follow along the first control flow with a guard condition that evaluates to true. 24 24

Recall From Step 4: Use Case Description

Use Case Description (2)

Step 5: Actions from Use case description Main flow: (3) The Customer chooses the Purchase (or similarly named) function to send the order to the manufacturer. (4) The system assigns a unique order number and a customer account number to the purchase order and it stores the order information in the database. (5) The system e-mails the order number and the customer number to the Customer, together with all order details, as the confirmation of the order’s acceptance.

Actions for the Use case (1) (2) (3) (4) (5) (6) (7) Find the actions in the main and alternative flows!

Step 6: Activity Diagram for the Use case When performing the action Display purchase form, the timeout condition can terminate the execution of the activity model. Alternatively, the action Get purchase details is activated. If the purchase details are incomplete, the system again reaches the action Display purchase form. Otherwise, the system performs Store order, followed by E-mail order details

Part III: Class modelling

Class Modelling [Step 7] Find entity classes from the above requirements. [Step 8] Think about the attributes for the above classes. Consider only attributes with primitive types. [Step 9] Add associations to the class model. Consider what access paths between these classes are required by the use cases. [Step 10] Add aggregations or compositions to the class model. [Step 11] Add generalisations to the class model. Consider how you can extract any common attributes in the existing classes into a high-level class. [Step 12] Draw a class diagram for the online shopping application. Modify the attribute content of classes as necessary due to the introduction of the generalisation hierarchy.

Requirements 6. The details of the transaction, including the order number and the customer account number, are e-mailed to the customer, so that the customer can check the status of the order online. 7. The warehouse obtains the invoice from the salesperson and ships the computer to the customer.

Step 7: Entity classes from requirements 6. The details of the transaction, including the order number and the customer account number, are e-mailed to the customer, so that the customer can check the status of the order online. 7. The warehouse obtains the invoice from the salesperson and ships the computer to the customer.

Step 7: Entity classes Do we need the Shipment class if we know that the shipment is the warehouse responsibility and it is therefore out of the scope? Is OrderStatus a class or an attribute of Order or Invoice? Is Salesperson a class or an attribute of Order or Invoice?

Step 7: Entity classes from requirements

Step 8: Attributes

Step 9-10: Associations

Composition vs aggregation In both aggregation and composition object of one class "owns" object of another class. But there is a subtle difference. In Composition the object of class that is owned by the object of it's owning class cannot live on it's own Also called "death relationship". It will always live as a part of it's owning object In Aggregation the dependent object is standalone and can exist even if the object of the owning class is dead. So in composition if owning object is garbage collected the owned object will also be which is not the case in aggregation. Confused? Composition Example : Consider example of a Car and an engine that is very specific to that car (meaning it cannot be used in any other car). This type of relation ship between Car and SpecificEngine class is called Composition. Object of Car class cannot exist without object of SpecificEngine class and object of SpecificEngine has no significance without Car class. To put in simple words Car class solely "owns" the SpecificEngine class. Aggregation Example : Now consider class Car and class Wheel. Car needs a Wheel object to function. Meaning Car object own Wheel object but we cannot say Wheel object has no significance without Car Object. It can very well be used in a Bike, Truck or different Cars Object. Aggregation and Composition are subsets of association meaning they are specific cases of association.

unfilled diamond denotes aggregation Notation: Aggregation A student could be in a number of modules If a module is cancelled, students are not destroyed Module Student 0..* 1..* unfilled diamond denotes aggregation “Owing” class 40 40

filled diamond denotes composition Notation: Composition An ingredient is in only one meal at a time If you drop your meal on the floor, you probably lose the ingredients too Meal Ingredient 1..* 1 filled diamond denotes composition “Owing” class 41 41

Small trick Trick to remember the difference : has A -- Aggregation Own -- cOmposition So in composition if owning object is garbage collected the owned object will also be which is not the case in aggregation. Confused? Composition Example : Consider example of a Car and an engine that is very specific to that car (meaning it cannot be used in any other car). This type of relation ship between Car and SpecificEngine class is called Composition. Object of Car class cannot exist without object of SpecificEngine class and object of SpecificEngine has no significance without Car class. To put in simple words Car class solely "owns" the SpecificEngine class. Aggregation Example : Now consider class Car and class Wheel. Car needs a Wheel object to function. Meaning Car object own Wheel object but we cannot say Wheel object has no significance without Car Object. It can very well be used in a Bike, Truck or different Cars Object.

Step 11-12: Class Diagrams

Part IV: Interaction modelling

Interaction Modelling [Step 13] Draw a sequence diagram for the action “Display current configuration”. [Step 14] Convert the above sequence diagram into a communication diagram. [Step 15] Add operations to the class diagram according to the messages in the above sequence or communication diagram.

Step 13: Sequence Diagram

Step 14: Communication Diagrams

Step 15: Operations