Inf 43: Introduction to Software Engineering May 7, 2016.

Slides:



Advertisements
Similar presentations
Introduction to Object Orientation System Analysis and Design
Advertisements

GCSE ICT By the end of this session, you will be able to: Explain main features of ATM machines Identify features of credit cards, debit cards, smart cards.
1 Object-oriented design Part 2: OO tools & UML. 2 CRC cards Design tool & method for discovering classes, responsibilities, & relationships Record on.
Visual Basic: An Object Oriented Approach 2 – Designing Software Systems.
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 3 - Software Systems and Requirements.
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
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.
Sequence Diagrams. Introduction A Sequence diagram depicts the sequence of actions that occur in a system. The invocation of methods in each object, and.
Software Modeling Jerry Lebowitz.
Unified Modeling Language
Chapter 12 ATM Case Study, Part 1: Object-Oriented Design with the UML
Interaction Diagrams Activity Diagram State Machine Diagram
UML – Class Diagrams.
System Analysis and Design
1 Lab Beginning Analysis and Design 4 Completion of first version of use case diagram initiates the processes of analysis and design. 4 UML provides.
Use Case Modeling. Use case diagram For each use case we develop  Object class diagram (with attributes only)  System sequence diagram (analysis) 
The Unified Modeling Language (UML) Class Diagrams.
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.
From Problem Statement to Design
Chapter 8: Modelling Interactions and Behaviour UML Activity Diagram
CS212: Object Oriented Analysis and Design Lecture 4: Objects and Classes - I.
Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on 27/11/07 Automated Banking Machine for MacBank Inc. SFWR 3M04.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 25. Review Design Level Class Diagram Identifying classes/Operations/Attributes Associations – Simple associations.
1 Object-Oriented Analysis Use Case Driven. 2 The outline method for OOA 1.Identify object classes within the problem domain 2.Define the behaviour of.
Faculty of Computer & Information Software Engineering Third year
UML basics UML distilled, a brief guide to the standard Modeling language, by Martin Fowler, 2000.
ICT and Banks Banks use mainframe computers to maintain customer accounts. They store a record of each customer’s withdrawals and deposits. Each bank mainframe.
Lab 04.
SFWR ENG 3KO4 Software Development Fall 2009 Instructor: Dr. Kamran Sartipi Software Requirement Specification (SRS) for the Automated Banking Machine.
SFWR ENG 3KO4 Software Development for Computer/Electrical Engineering Fall 2009 Instructor: Dr. Kamran Sartipi Software Requirement Specification (SRS)
Faculty of Computer & Information
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
Introduction to Unified Modeling Language (UML) By Rick Mercer with help from The Unified Modeling Language User Guide, Grady Booch, James Rumbaugh, Ivar.
UML Class Diagrams 1 These lecture slides are copyright (C) Marty Stepp, They may not be rehosted, sold, or modified without expressed permission.
1 Introduction to Classes and Objects Chapter 3 Introduction to Classes and Objects Chapter 3.
Lecture OO05 Object Scenarios Object Interaction Diagrams
UML The Unified Modeling Language A Practical Introduction Al-Ayham Saleh Aleppo University
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour UML Sequence Diagram.
Design Jon Walker. More UML ● What is UML again?
Design Model Lecture p6 T120B pavasario sem.
ATM Adv. SW Engineering
Experimental Design Threats to Validity. Statistical—are results due to some systematic factor (hopefully the independent variable) or are results due.
1 LAB What is Collaboration diagram? 4 Collaboration diagrams illustrate the interaction between the objects, using static spatial structure. 4.
1 Requirements Engineering From System Goals to UML Models to Software Specifications Axel Van Lamsweerde.
UML (Unified Modeling Language)
Introduction to UML Todd Bacastow Rational Unified Process A process for the effective implementation of key “Best Practices” Control Changes Manage.
OO DomainModeling With UML Class Diagrams and CRC Cards Chapter 6 Princess Nourah bint Abdulrahman University College of Computer and Information Sciences.
25/2/16. 2 DVD MovieVHS MovieVideo Game Rental Item Rental Invoice 1..* 1 Customer Checkout Screen CusID Name Address Phonenumber Transactionlist.
Class Diagrams Revisited. Parameterized Classes Parameterized Classes - are used to represent relationships between templates.
1 More About UML Todd Bacastow Penn State University Geospatial System Analysis & Design.
WELCOME TO OUR PRESENTATION UNIFIED MODELING LANGUAGE (UML)
Introduction to Unified Modeling Language (UML) By Rick Mercer with help from The Unified Modeling Language User Guide, Grady Booch, James Rumbaugh, Ivar.
1 Object-Oriented Static Modeling of the Banking System - III Lecture # 33.
1 Documenting Solutions Todd Bacastow Penn State University Geog 468 GIS Analysis & Design.
1 Case Study and Use Cases for Case Study Lecture # 28.
ATM OO Design and Implementation Case Study
Object-Oriented Analysis and Design
Dynamic Modeling of Banking System Case Study - I
Object-Oriented Static Modeling of the Banking System - I
Dynamic Modeling of Banking System Case Study - II
Introduction to Unified Modeling Language (UML)
OO Domain Modeling With UML Class Diagrams and CRC Cards
Chapter 8: Modelling Interactions and Behaviour UML Activity Diagram
OO Domain Modeling With UML Class Diagrams and CRC Cards
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Object Oriented System Design Class Diagrams
Real-Time Structured Analysis and Design Technique (RSTAD)
Presentation transcript:

Inf 43: Introduction to Software Engineering May 7, 2016

UML Modeling Diagramming is a language to create an abstract model of a system Types of Modeling Functional model Use cases diagram (behavior diagram) Object model Class diagrams (what we are going to talk about, structure diagram) Dynamic model Sequence diagrams, state machines etc. (interaction diagram)

Class Diagrams A class diagram is a diagram showing a collection of classes and interfaces, along with the collaborations and relationships among classes and interfaces A “class” (as used in object oriented programming and design) is a template for creating objects. Typically a class corresponds to a real world type that has properties/attributes and behaviors/operations.

Class Diagrams Main Components: Class Class name Attribute Operation Relationships (between classes) Generalization Association Aggregation

Class Diagrams: class Classes can have three parts Name Attributes (properties) Operations (behavior) Classes can show visibility and types. Book Author : string Title : string Isbn : number Archive () Borrow (client) Return()

Class Diagram: Relationships Association Aggregation Generalization

Class Diagrams DVD MovieVHS MovieVideo Game Rental Item {abstract} Rental Invoice 1..* 1 Customer Checkout Screen

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

Class Diagrams + accessAccount() 0..n Customer Rental Item Rents +name:string +id:integer +released:date +id:integer Class Diagram Class Name Attributes Association Name Operations 1

Class Diagrams CD getTitle getRating match CD title rating getTitle getRating match CD -title -rating +getTitle():String +getRating():String +match(String):boolean class name behaviour properties access modifiers parameter lists return types

Class Diagram Relationships Generalization A relationship between a general thing and a more specific kind of that thing. It is a-kind-of relationship Shape RectangleSquarePolygon

Class Diagram Relationships Composition Combine simple objects into more complex objects It’s a whole/part relationship. Diamond filled means the Point lifecycle depends upon Circle. When the Circle is destroyed, so are the Points it is composed of. Circle Point

Class Diagram Relationships Aggregation Combine simple objects into more complex objects It’s a weak whole/part relationship. Diamond not filled means the Contact lifecycle does not depends upon ContactGroup. AddressBook ContactGroup Contact 1 0..* 1

Class Diagram Relationships Association Specifies that one object is connected with other It’s not a whole/part relationship Weak relationship Composite Shapes itsShapes0..* Frame itsParent 1 Class Composite { Frame itsParent; Collection ; }

Class Diagram Relationships Dependency Very weak dependency; Not implemented with member variables at all; E.g., parameter variable, local variable DrawingContext Shape Draw(DrawingContext c)

Basic Class Diagram Symbols and Notations Multiplicity (Cardinality) Place multiplicity notations near the ends of an association. These symbols indicate the number of instances of one class linked to one instance of the other class. For example, one company will have one or more employees, but each employee works for one company only.

Example (On the white board)

ATM: Requirements Has a card reader, a customer console, an envelope acceptor, a cash dispenser, a receipt printer, and an operator panel. The ATM will communicate with the bank's computer over an appropriate communication link. A customer will be required to insert an ATM card and enter a personal identification number (PIN) - both of which will be sent to the bank for validation as part of each transaction. The customer will then be able to perform one or more transactions. The ATM must be able to provide the following services/transactions to the customer: cash withdrawal with approval obtained from the bank. Deposit with approval. transfer of money between any two accounts linked to the card. balance inquiry of any account linked to the card. The ATM will provide the customer with a printed receipt for each successful transaction The ATM will have a key-operated switch that will allow an operator to start and stop the servicing of customers. The ATM will also maintain an internal log of transactions Entries will be made in the log ATM is started up and shut down for each message sent to the Bank (along with the response back, if one is expected), for the dispensing of cash, for the receiving of an envelope.

ATM: Class Diagram