Documente Academic
Documente Profesional
Documente Cultură
System Models
Todays objectives
To
explain DFDs for requirements capturing and modeling. To explain Use-Cases for requirements capturing and modeling.
Diagram 0 DFD
Diagram 1 DFDs
Diagram n DFDs
E-R Diagram
Process Descriptions
2.3
Level 0 DFD
1 3
2 4
Data stores depicted on a DFD store all instances of data entities (depicted on an ERD) Named with plural noun
Cneyt Sevgi CTIS 359 Fall 07-08
Data Flows
Data flow A data flow is data in motion. A data flow may also be used to represent the creation, reading, deletion, or updating of data in a file or database.
Represent the transfer of data over time from one place (entity, process, data store) to another Examples: New Student Information
New Student Information
Cneyt Sevgi CTIS 359 Fall 07-08
Process Concepts
Process work performed by a system in response to incoming data flows or conditions. A synonym is transform.
Diverging data flow a data flow that splits into multiple data flows.
Indicates data that starts out naturally as one flow, but is routed to different destinations. Also useful to indicate multiple copies of the same output going to different destinations.
Converging data flow the merger of multiple data flows into a single packet.
Indicates data from multiple sources that can (must) come together as a single packet for subsequent processing.
Cneyt Sevgi CTIS 359 Fall 07-08
Our consulting firm has just been hired by Knights Pies to develop a system to record orders for pizza and buffalo wings. When regular customers call Knights Pies on the phone, they are asked their phone number. When the number is typed into a computer, the name, address, and last order date is automatically brought up on the screen. If the customer is new, then they are added to the system. Once the order is taken, the total, including tax and delivery, is calculated. Then the order is given to the cook. A receipt is printed. Occasionally, special offers (coupons) are printed so the customer can get a discount. Drivers who make deliveries give customers a copy of the receipt and a coupon (if any). Weekly totals are kept for comparison with last years performance. You have the following tasks:
1. Draw the logical context level (Level 0) DFD for Knights Pies. 2. Explode the logical context level DFD for Knights Pies, creating the Level 1 DFD.
Context Diagram
Level-1 DFD
System is composed of
objects. An Object is any person, thing, or event about which we wish to store data or whose behavior we wish to capture. An Object has certain attributes and behaviours.
(OOA) Consider the problem domain from the perspective of objects. Object-Oriented Design (OOD) Define the solution as a collection of software objects. Object-Oriented Programming (OOP) Implement the objects using OO languages.
Cneyt Sevgi CTIS 359 Fall 07-08
What is UML?
The Unified Modeling Language (UML) is a general-purpose visual modeling language that is used to specify, visualize, and document the artifacts of a software system. It captures decisions and understanding about systems that must be constructed.
Source: UML Reference Manual, By James Rumbaugh, Ivar Jacobson, Grady Booch.
UML Diagrams
Use-Case diagram Class diagram Object diagram State diagram Sequence diagram Collaboration diagram Activity diagram Component diagram Deployment diagram
is the industry standard language for specifiying, visualizing, constructing, and documenting the artifacts of OO systems. UML embodies a set of 9 unique object modeling and diagramming tools to define and model an OO System. UML is NOT a development methodolgy. UML replaces older techniques such as DFDs and ERDs.
Diagram Shows what a system does from an external observer Sequence Diagram Shows interactions that details how operations are carried out Collaboration Diagram Shows interactions also, but focuses on object roles instead of times that messages are sent Activity Diagram Shows flow of activities in a single process Statechart Diagram Shows the possible states of the object and the transition that causes a change in state
Cneyt Sevgi CTIS 359 Fall 07-08
Diagram Shows systems classes and relationships Object Diagram Shows instances of classes Component Diagram Shows code module Deployment Diagram Shows the physical deployments.
each of the nine diagramming techniques in the UML is important, the central building block of the UML is the Use-Case diagram. It provides a high-level description of what the system must do. A Use-Case diagram is created for each major function of the system during the requirements gathering process. A Use-Case diagram is concerned with interactions between a user (human or another system) and the system.
Cneyt Sevgi CTIS 359 Fall 07-08
are regarded as an excellent technique for capturing the functional requirements. They serve as a basis for identifiying the relevant objects. They do not use special language. They allow to tell stories. Test cases can be directly drived from them. They can be used for estimating and scheduling effort.
Cneyt Sevgi CTIS 359 Fall 07-08
cannot capture non-functional requirements. They are not well-suited for safetycritical and real-time systems where greater degree of precision is required. Some customers find it hard to understand.
Use-Case
diagrams consists of 3 components. Actors - Any person, organization, or computer system that is external but interacting with it. An actor does not represent a specific end user, but rather represents a role that an end user can play while interacting with the system. Illustrated as stick figures. Use-Cases They are scenarios and A use-case represents a sequence of steps that define the completion of a single business task. Illustrated as ovals. Relationships Associations between an actor and use-case.
Cneyt Sevgi CTIS 359 Fall 07-08
system boundry with actors. Identify each actors goals when interacting with the system. Express these goals with use-cases.
IDENTIFY ACTORS
Human Actors
Who uses system? Who provides events and data to the system? Who gets information from the system?
Non-Human
Interface Points What other systems use this system? What other devices use this system? What other external event trigger system response?
Cneyt Sevgi CTIS 359 Fall 07-08
Software will be developed for a banks ATM. ATM will allow withdrawing money from accounts, depositing money to accounts, and transfering money between accounts of customers who have a bank card. ATM will get information about the customer or customer accounts from the central bank system when required. The central bank system will get a summary of the operations performed in a day from the ATM at the end of that day.
Cneyt Sevgi CTIS 359 Fall 07-08
Question:
Who/what are the users of ATM application?
Bank Customer
Bank Customer
Bank Clerk
Branch Application
Cneyt Sevgi CTIS 359 Fall 07-08
Bank Customer
Internet Application
Question: What do the actors identified want to accomplish by using the ATM?
Actor: Bank customer
Withdraw money Deposit money Transfer between accounts
Use-Cases diagrams accompanied by a textual documents. The combination of two is called UseCase model.
7.
8. 9. 10.
11.
The bank customer inserts his card The ATM reads the card and requests the password The bank customer enters his password The ATM shows the types of transactions The bank customer selects withdraw money transaction The ATM displays cash amounts to withdraw The bank customer selects the cash amount to withdraw The central bank system checks for sufficient funds The central bank system debits the account The ATM dispenses the cash The ATM ejects the card
Use Case No
Withdraw Money
Ali Veli DD/MM/ YY YY Last Updated By Last Updated On Ali Veli DD/MM/YYYY
Bank customer, Central Bank System Defines how a bank customer withdraws money from his/her account The central bank is online; ATM holds the amount of money withdrawn The bank customer takes the cash dispensed and the card ejected by the ATM 1 Very Frequent
Basic Flow
The bank customer inserts his card 1. The ATM reads the card and requests the password 2. The bank customer enters his password 3. The ATM shows the types of transactions 4. The bank customer selects withdraw money transaction 5. The ATM displays cash amounts to withdraw 6. The bank customer selects the cash amount to withdraw 7. The central bank system checks for sufficient funds 8. The central bank system debits the account 9. The ATM dispenses the cash 10. The ATM ejects the card
ATM Application
Alternative Flows
A1.1 The bank customer cannot insert his/her card right A1.2 ATM returns the card A1.3 Continue with Step 1 in the basic flow A2.1 The customer enters wrong password A2.2 ATM invokes the bank customer A2.3 Continue with Step 3 in the basic flow A9.1 The central bank determines the fund are not sufficient A9.2 ATM invokes the bank customer A9.3 Continue with Step 7 in the basic flow
Withdraw Money
Use Case Definition
Referenced Use Cases Special Requirements Assumptions For withdraw money transaction type to be active, the ATM should hold the minimum cash amount displayed by the ATM for witdrawal
Notes:
<<include>>
An include relationship can be used to when a particular use case is included in other use cases because it encapsulates some functionality that is used at several points in the system. This avoids having to define the same sequence of actions in multiple use cases. The including use case will continue up to the point where it includes the base use case, the full sequence of activities in the base use case will be carried out, and the including use case will carry on at the point where it left off.
Cneyt Sevgi CTIS 359 Fall 07-08
<<include>>
Factor out subfuction use cases and use the <<include>> relationship when
They are duplicated in the other use cases A use case is very complex and long, and separating it into subunits aids comprehension To describe the handling of an asynchronous event such as when a user able to, at any time, select a particular window, function, etc..
<<extend>>
There are occasions where one use case may OPTIONALLY be extended by the functionality in another use case. This relationship is called extend.
<<extend>>
LAB
End
Any questions/suggestions?