1 Documenting Solutions Todd Bacastow Penn State University Geog 468 GIS Analysis & Design.

Slides:



Advertisements
Similar presentations
Database development (MIS 533) MBS in Management Information Systems and Managerial Accounting Systems (2007 / 2008) Fergal Carton Business Information.
Advertisements

Developing ER-Diagram
Alternative Approach to Systems Analysis Structured analysis
Karolina Muszyńska Based on:
Data & Process Modeling
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
1 Review Visual System Modeling Tools Todd Bacastow Penn State University Geospatial System Analysis & Design.
Introduction to UML Todd Bacastow Penn State University Geography 583 Geospatial System Analysis & Design.
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
Data Modeling Entity - Relationship Models. Models Used to represent unstructured problems A model is a representation of reality Logical models  show.
Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition.
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Lesson-19 Data Modeling and Analysis
Unified Modeling Language
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Introduction to Entity-Relationship Diagrams, Data Flow Diagrams, and UML Todd Bacastow Penn State University Geography 583 Geospatial System Analysis.
Training of master Trainers Workshop e-Services Design and Delivery
UML Overview. UML Diagrams to be Covered Class Diagrams Use Case Diagrams Collaboration Diagrams Sequence Diagrams Package Diagrams Component Diagrams.
Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition.
Systems Analysis and Design in a Changing World, Fifth Edition
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
1 CSE323 การวิเคราะห์และออกแบบระบบ (Systems Analysis and Design) Lecture 05: Data Modeling and Analysis.
Prepared by Afra`a Sayah. Introduction. Weekly Tasks. Plane Phase. Analysis Phase. Design Phase. Report Rules. Conclusion. 2.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
Chapter 5 Models and UML Notation for The Object-Oriented Approach.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design, 2 nd Edition Copyright 2003 © John Wiley & Sons, Inc. All rights reserved.
Lecture 4 Conceptual Data Modeling. Objectives Define terms related to entity relationship modeling, including entity, entity instance, attribute, relationship,
5 Systems Analysis and Design in a Changing World, Fifth Edition.
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
IFS310: Module 6 3/1/2007 Data Modeling and Entity-Relationship Diagrams.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
Domain Classes – Part 1.  Analyze Requirements as per Use Case Model  Domain Model (Conceptual Class Diagram)  Interaction (Sequence) Diagrams  System.
Databases : Database Building Procedures 2007, Fall Pusan National University Ki-Joune Li.
Interaction Diagram An interaction diagram is a graphical representation of interactions between objects. Sequence diagram: shows the sequence in which.
Introduction to UML Todd Bacastow Rational Unified Process A process for the effective implementation of key “Best Practices” Control Changes Manage.
Chapter 3: Introducing the UML
UML - Development Process 1 Software Development Process Using UML.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
Technical Module C Object Modeling Objects Object – a valuable resource: Money (Account Receivable) Material (Product) Machines (Delivery Truck) Personnel.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Diagrams. Typically, we view the static parts of a system using one of the four following diagrams. 1. Class diagram 2. Object diagram 3. Component diagram.
1 More About UML Todd Bacastow Penn State University Geospatial System Analysis & Design.
Inf 43: Introduction to Software Engineering May 7, 2016.
Introduction to UML.
Appendix 3 Object-Oriented Analysis and Design
Introduction to UML Todd Bacastow Penn State University Geography 583 Geospatial System Analysis & Design.
UML Diagrams: Class Diagrams The Static Analysis Model
UML Diagrams By Daniel Damaris Novarianto S..
DATA REQIREMENT ANALYSIS
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
The Movement To Objects
Systems Analysis and Design
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
Unified Modeling Language
UML Diagrams Jung Woo.
Lecture on Data Modeling and Analysis
Software Architecture & Design Pattern
Object-Oriented Design of Spatial Entities Todd Bacastow
Unified Modeling Language
Copyright 2007 Oxford Consulting, Ltd
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Presentation transcript:

1 Documenting Solutions Todd Bacastow Penn State University Geog 468 GIS Analysis & Design

2 Documenting (system) solutions Models – used to organize and document a system’s processes. – Flow of data through processes – Business logic – Business policies – Business procedures

3 Why document using models? Models remove biases that are the result of the way the system is currently implemented, or the way that any one person thinks the system might be implemented. Models reduce the risk of missing business requirements because we are too preoccupied with technical results. Models allow us to communicate with end-users in nontechnical or less technical languages.

4 What is the UML? Unified Modeling Language It is a modeling language, not a development method In 1996, work on the UML was begun by Rational Supports Object Oriented Analysis and Design (OOA&D) – is a methodology for system design and data modeling – consisting of assessment, decomposition, conceptualization, and physical modeling techniques Support the use of Computer-aided software engineering (CASE) tools

5 UML Diagrams 1.Use Case Diagrams 2.Class Diagrams 3.Collaboration Diagrams 4.Sequence Diagrams 5.Package Diagrams 6.Component Diagrams 7.Deployment Diagrams 8.Activity Diagrams 9.State Diagrams

6 Use Cases Describe interactions between users and computer systems (both called actors). Capture user-visible functions. Achieve discrete measurable goals. Are typically used during Analysis and Design.

7 Use Case Diagram Telephone Customer In-Store Customer Clerk Identify Movie Open Account Return Movie Customer Review Account Status Actor Use Case

8 Use Case Report The Use Case Report provides documentation for the Use Case. A Use Case is not complete without the report. The elements of the Use Case Report are shown on the right. Brief description Precondition Flow of events – Main flow – Subflows – Alternate flows Postcondition Special Requirements Enclosures – Diagrams – Pictures of the UI Brief description Precondition Flow of events – Main flow – Subflows – Alternate flows Postcondition Special Requirements Enclosures – Diagrams – Pictures of the UI

9 Class Diagrams Called the most fundamental UML Diagram. Describe the classes in the system, and the static relationships between classes. Class diagrams are used during Analysis, Design and Development.

10 UML Class Diagram DVD MovieVHS MovieVideo Game Rental Item {abstract} Rental Invoice 1..* 1 Customer Checkout Screen Simple Association Class Abstract Class Simple Aggregation Generalization Composition (Dependency) Multiplicity

11 Parts of a Class Classes can have four parts – Name – Attributes – Operations – Responsibilities Classes can show visibility and types. All parts but the Name are optional. MyClassName +SomePublicAttribute : SomeType -SomePrivateAttribute : SomeType #SomeProtectedAttribute : SomeType +ClassMethodOne() +ClassMethodTwo() Responsibilities -- can optionally be described here.

12 Object Diagrams An Object is an instance of a class. Object names are underlined. Object diagrams are similar to class diagrams. Many of the same notations are used. Object diagrams capture instances of classes, and allow the dynamic relationships to be shown. ThisOne : MyClassName +SomePublicAttribute : SomeType -SomePrivateAttribute : SomeType #SomeProtectedAttribute : SomeType +ClassMethodOne() +ClassMethodTwo()

13 Class and Object Diagrams n Customer Rental Item Rents +name:string +id:integer +released:date +id:integer Joe: CustomerCasablanca: Movie +name:Joe Smith +id:1667 +released:1942 +id:22340 Class Diagram Object Diagram Class Name Object Name Attributes Association Name

14 Collaboration Diagram Collaboration diagrams describe interactions and links Focus on exchange of messages between objects Appears during Analysis phase Enhanced during Design phase

15 Collaboration Diagram :Check-out Manager :Customer :Inventory 1: enter_customer() 3: enter_movies() 5: add(customer, movies) 7: print invoice() 2: IsValidCust(CustId) 4:GetMovieByBarcode() :Clerk Object Message :Rented Items 8: generateRentalTotal()

16 Sequence Diagram Can be “morphed” from Collaboration Diagrams. Describe interactions between objects arranged in time sequence Focus on objects and classes involved in the scenario and the sequence of messages exchanged Associated with use cases Used heavily during Analysis phase and are enhanced and refined during Design phase

17 Sequence Diagram 1: find customer() 2: search (string) 4: search (string) 6: add(Cust, item) 3: enter movie() 5: rent (movie) 7: printInvoice() 8: generateRentalTotal() Object Lifeline Activation Message :CheckoutMgr:InventoryCust:Customer:RentedItems : Employee

18 Package Diagram Class Package

19 Component Diagram Component Interface Dependency Note

20 Node Communication Association Deployment Diagram

21 Identify Caller Create Account Obtain Name & Address Open Account? Current Customer? [no] [yes] Action State Start State Decision End State Activity Diagram

22 Identify Movie Place Order Place Order Fill Order Pay Deliver Movie Pickup Movie CustomerManagerWalking Clerk Fork Point Join Point Collect Money Swimlanes and Fork/Join Points

23 State Diagram State Transition Activity Guard Action Event

24 Views The User View – Use Case Diagram(s) Structural View – Class Diagram The Behavior View – The Sequence Diagram – Collaboration Diagram – Activity Diagram – State Diagram The Implementation View – Component Diagram – Deployment Diagram

25 A step back in time: Entity Relationship Diagrams (Where UML began)

26 Entity relationship diagram (ERD) – a data model utilizing several notations to depict data in terms of the entities and relationships described by that data.

27 Entity – a class of persons, places, objects, events, or concepts about which we need to capture and store data. – Named by a singular noun  Persons: agency, contractor, customer, department, division, employee, instructor, student, supplier.  Places: sales region, building, room, branch office, campus.  Objects: book, machine, part, product, raw material, software license, software package, tool, vehicle model, vehicle.  Events: application, award, cancellation, class, flight, invoice, order, registration, renewal, requisition, reservation, sale, trip.  Concepts: account, block of time, bond, course, fund, qualification, stock.

28 Attribute – a descriptive property or characteristic of an entity. Synonyms include element, property, and field. – Just as a physical student can have attributes, such as hair color, height, etc., data entity has data attributes

29 Key – an attribute, or a group of attributes, that assumes a unique value for each entity instance. It is sometimes called an identifier.

30 Relationship – a natural business association that exists between one or more entities. The relationship may represent an event that links the entities or merely a logical affinity that exists between the entities.

31 Cardinality – the minimum and maximum number of occurrences of one entity that may be related to a single occurrence of the other entity. Because all relationships are bidirectional, cardinality must be defined in both directions for every relationship. bidirectional

32 Degree – the number of entities that participate in the relationship. A relationship between two entities is called a binary relationship. A relationship between three entities is called a 3-ary or ternary relationship. A relationship between different instances of the same entity is called a recursive relationship.

33