Information System Analysis Object-Oriented Analysis & Design.

Slides:



Advertisements
Similar presentations
© 2005 by Prentice Hall Appendix 3 Object-Oriented Analysis and Design Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Advertisements

Object-Oriented Software Engineering Visual OO Analysis and Design
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
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.
Unified Modeling Language
Object-Oriented Analysis and Design
Chapter 15: System Modeling with UML
Introduction To System Analysis and Design
Systems Analysis and Design in a Changing World, Fourth Edition
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
© Copyright Eliyahu Brutman Programming Techniques Course.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
Sharif University of Technology Session # 7.  Contents  Systems Analysis and Design  Planning the approach  Asking questions and collecting data 
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Unified Modeling Language
Chapter 7: The Object-Oriented Approach to Requirements
Introduction To System Analysis and design
Chapter 13 (Online): Object-Oriented Databases
Object-Oriented Systems Analysis and Design Using UML
Lecture 6 Unified Modeling Language (UML)
Class, Sequence and UML Model.  Has actors and use cases.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
Chapter 7 Structuring System Process Requirements
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Database Management System Prepared by Dr. Ahmed El-Ragal Reviewed & Presented By Mr. Mahmoud Rafeek Alfarra College Of Science & Technology Khan younis.
Introduction To System Analysis and Design
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
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!)
Systems Analysis and Design in a Changing World, 3rd Edition
CS3773 Software Engineering Lecture 04 UML Class Diagram.
1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering WorkFlow Modeling with Activity Diagrams.
Systems Analysis & Design 7 th Edition Chapter 5.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML.
UML Use Case Diagramming Guidelines. What is UML? The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing,
7 Systems Analysis and Design in a Changing World, Fifth Edition.
UML Class Diagram Trisha Cummings. What we will be covering What is a Class Diagram? Essential Elements of a UML Class Diagram UML Packages Logical Distribution.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Design Model Lecture p6 T120B pavasario sem.
Software Engineering Software Engineering - Mr. Ahmad Al-Ghoul.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
Systems Analysis and Design in a Changing World, Fourth Edition
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design,
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Chapter 3: Introducing the UML
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
1 7 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 7 The Object-Oriented Approach to Requirements.
Systems Analysis and Design in a Changing World, Fourth Edition
Appendix 3 Object-Oriented Analysis and Design
The Movement To Objects
Object-Oriented Analysis and Design
Unified Modeling Language
Business System Development
Chapter 20 Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Chapter 22 Object-Oriented Systems Analysis and Design and UML
CIS 375 Bruce R. Maxim UM-Dearborn
Appendix A Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Appendix 3 Object-Oriented Analysis and Design
Presentation transcript:

Information System Analysis Object-Oriented Analysis & Design

Introduction Object-oriented (o-o) techniques work well in situations where complicated systems are undergoing continuous maintenance, adaptation, and design. The Unified Modeling Language (UML) is an industry standard for modeling object-oriented systems.

Introduction The object-Oriented modeling approach provides several benefits, including: Ability to tackle more challenging problem domains. Improved communication among users, analysts, designers, and programmers.

Introduction The object-Oriented modeling approach provides several benefits, including: Reusability of analysis, design, and programming results. Maintaining systems Increased consistency among the models developed during object-oriented analysis, design, and programming

Object- Oriented\ Definitions and concepts Object: – An object, represents a real-world thing or event. – Objects may be customers, items, and so on. – Objects may be GUI displays or text areas on a display. – Objects are represented by and grouped into classes.

Object- Oriented\ Definitions and concepts Object \ Example

Object- Oriented\ Definitions and concepts Class: – A class is a group of related objects has a set of shared attributes and behaviors.  Attributes are properties of a class possessed by all objects.  A method (Operation) is an action that can be requested from any object in the class.  Instantiate is a term used when an object is created from a class.  Behavior is a manner that represents how an object acts and reacts

Object- Oriented\ Definitions and concepts Class \ Example

Object- Oriented\ Definitions and concepts Class:\ Example

Object- Oriented\ Definitions and concepts Messages: Information sent by one object to another

Object- Oriented\ Definitions and concepts Inheritance: Inheritance is when a new class is created from another class. The original class is the parent or base class. The new class is the child or derived class. The child class receives the attributes and methods of the parent class.

Object- Oriented\ Definitions and concepts Inheritance \ Example

Object- Oriented\ Definitions and concepts Encapsulation: Encapsulation means objects can be accessed only through their interfaces. The caller has no knowledge of variables inside and how the method is implemented. As long as the interfaces are the same, changes to the internal details can be made without changing the code that uses the objects.

Object- Oriented\ Definitions and concepts Encapsulation: In object-oriented, t he technique of hiding the internal implementation details of an object from its external viewobject-oriented The object is said to "publish its interfaces." Other objects adhere to these interfaces to use the object without having to be concerned with how the object accomplishes it. The idea is "don't tell me how you do it; just do it."

Object- Oriented\ Definitions and concepts Encapsulation \ Example

Object- Oriented\ Definitions and concepts Polymorphism: In object-oriented programming, polymorphism refers to a programming language's ability to process objects differently depending on their data type or class. More specifically, it is the ability to redefine methods for derived classes. For example, given a base class shape, polymorphism enables the programmer to define different area methods for any number of derived classes, such as circles, rectangles and triangles.object-oriented programming language'sdata typeclassprogrammer

Object- Oriented\ Definitions and concepts Polymorphism \ Example

Unified Modeling Language/ UML The Unified Modeling Language (UML) is a graphical language for visualizing, specifying, constructing, and documenting the artifacts of a software systems.

Unified Modeling Language/ UML Visualizing: Explicit model facilitates communication Each symbol has well-defined semantics behind it

Unified Modeling Language/ UML Visual Modeling: VISUAL MODELING is a way of thinking about problems using (graphical) models organized around real-world idea. UML is a product of VISUAL MODELING language.

Unified Modeling Language/ UML Specifying: UML addresses the specification of all important analysis, design, and implementation decisions.

Unified Modeling Language/ UML Constructing: Forward engineering: generation of code from model into programming language Reverse engineering: reconstructing model from implementation Round-trip engineering: going both ways

Unified Modeling Language/ UML Documenting: Deliverables, such as requirements documents, functional specifications, and test plans Materials that are critical in controlling, measuring, and communicating about a system during development and after deployment

Unified Modeling Language/ UML Models are useful for: understanding problems, communicating with everyone involved with project (customer, analysts, designers, etc.) preparing documentation designing programs and databases

Unified Modeling Language/ UML What is a good Model? it is a relevant model it is possible to communicate it fits its purpose it captures the essentials

Unified Modeling Language/ UML What does UML give you? The UML gives you a standard way to write a system’s blueprints covering conceptual things, such as business processes and system functions, classes written in a specific programming language, database schemas, and reusable software components.

Unified Modeling Language/ UML Note: UML is phase independent and it is a modeling language (NOT a method)

Unified Modeling Language/ UML UML Diagrams: – Structural Type Diagrams (Static Representations) Class Diagrams – Behavioral Type Diagrams (Dynamic Representations) Activity Diagrams Use Case Diagrams Sequence Diagrams

Unified Modeling Language/ UML Activity Diagram: The easiest way to visualize an Activity diagram is to think of a flowchart of a code. Activity diagrams represent the business and operational workflows of a system An Activity diagram is a dynamic diagram that shows the activity and the event that causes the object to be in the particular state.

Unified Modeling Language/ UML How to Draw Activity Diagram: Activity diagrams show the flow of activities through the system Diagrams are read from top to bottom and have branches and forks to describe conditions and parallel activities. A fork is used when multiple activities are occurring at the same time. The branch describes what activities will take place based on a set of conditions All branches at some point are followed by a merge to indicate the end of the conditional behavior started by that branch. After the merge all of the parallel activities must be combined by a join before transitioning into the final activity state

Unified Modeling Language/ UML Activity diagram \ Example 1: Manage course information

Unified Modeling Language/ UML Activity diagram \ Example 2 : Ordering

Unified Modeling Language/ UML Activity diagram \ Example 3 : Prepare Beverage

Unified Modeling Language/ UML Use Case Diagram: UML Use Case Diagrams can be used to describe the functionality of a system. Use case diagram is done in the early stages of system development (during the analysis phase) to help developers understand the functional requirements of the system without worrying about how those requirements will be implemented.

Unified Modeling Language/ UML Use Case Diagram have the following Elements: 1. Actor:  Is an external entity that interact with the system (similar to EE in DFD).  It is someone or something that exchanges information with the system.  An actor is a role that a user plays in the system  What is the Different between Actor & User? An Actor

Unified Modeling Language/ UML Use Case Diagram have the following Elements: 1. Actor: A user of the system may play several different roles through the course of his, her or its job (since an actor may be another system). Examples of actors are salesperson, manager, support person, and web store system. It is possible that the same person may be a sales person and also provide support.

Unified Modeling Language/ UML Use Case Diagram have the following Elements: 2. Use Case: Represents a sequence of related actions initiated by an actors, it’s a specific way of using the system A use case is a set of scenarios that describing an interaction between a user and a system. A use case diagram displays the relationship among actors and use cases.

Unified Modeling Language/ UML Use Case: Example Print Invoice Correct Invoice Chase Payment Register Bad Debt

Unified Modeling Language/ UML Actors and Use Cases: An Actor may use many Use Cases A Use Case may interface with many Actors We draw a simple line to indicate interaction

Unified Modeling Language/ UML Relationships between actors and use cases: An Actor A Use Case The direction of the arrow indicates who initiates the interaction.

Unified Modeling Language/ UML Relationships between actors and use cases: Sometimes the use case initiates interaction An Actor A Use Case

Unified Modeling Language/ UML 3. Relationship between Use cases: One Use Case may use another Use Case Sometimes a Use Case gets too big to manage sensibly and it makes sense to break this down into smaller Use Cases.

Unified Modeling Language/ UML There are two ways Use Cases can relate: A. Use Cases include other Use Cases Change InvoiceAdd item to sales menu > In this case the second Use Case is always invoked as part of the execution of the first. \ >

Unified Modeling Language/ UML There are two ways Use Cases can relate: B. Use Cases extend other Use Cases A Use Case is only called occasionally from another Use Case Chase Payment Issue Warning Letter >

Unified Modeling Language/ UML Use Case Diagram / Guidelines: Use Case Names Begin With a Strong Verb Name Use Cases Using Domain Terminology Place Your Primary Use Cases In The Top-Left Corner Of The Diagram Imply Timing Considerations By Stacking Use Cases.

Unified Modeling Language/ UML Use Case Diagram / Example 1:

Unified Modeling Language/ UML Example 2

Unified Modeling Language/ UML Example 3

Unified Modeling Language/ UML Example 3

Unified Modeling Language/ UML Example 4

Unified Modeling Language/ UML Class Diagram A class diagram describes the types of objects in the system and the various kinds of static relationships that exist among them. – A graphical representation of a static view on static elements

Unified Modeling Language/ UML Elements of a Class Diagram: Class Attributes Operations Relationships

Unified Modeling Language/ UML Elements of a Class Diagram: A class is the description of a set of objects having similar attributes, operations, relationships and behavior. An object is any person, place, thing, concept, event, screen, or report applicable to your system. Objects both know things (they have attributes) and they do things (they have methods)

Unified Modeling Language/ UML Window Size visibility display() hide() Class Name Attributes Operations

Unified Modeling Language/ UML Relationships: 1. Associations:  A semantic relationship between two or more classes that specifies connections among their instances.  A structural relationship, specifying that objects of one class are connected to objects of a second (possibly the same) class.  Example: “An Employee works in a department of a Company” CompanyDepartmentEmployee

Unified Modeling Language/ UML Multiplicity: An indication of how many objects participate in a given relation ship IndicatorMeaning 0..1 Zero or one (one is optional) 1One only (Mandatory) 0..* Zero or more (more means many and its optional) 1..*One or more nOnly n (where n>1) 0..n0 to n (n>1) 1..n1 to n (n>1)

Unified Modeling Language/ UML 2. Aggregation A special form of association that models a whole-part relationship between an aggregate (the whole) and its parts. Whole Part Car Door House 1..*2..*

Unified Modeling Language/ UML 2. Aggregation Aggregation is a specialization of association, specifying a whole-part relationship between two objects. employee is part of a team An engine is part of a plane 3. Inheritance Generalization Specialization

Unified Modeling Language/ UML

Sequence Diagram Definition: Is an interaction diagram that emphasizes the time ordering of messages for a specific use case. A sequence diagram: is a graphical view of a scenario that shows object interaction in a time-based sequence-what happens first, what happens next. What is a UML Sequence Diagram? Diagram used to graphically show the interaction between objects over time.

Unified Modeling Language/ UML Sequence Diagram Graphically, it is a 2-dimensional table that shows objects arranged along the X-axis and messages, ordered in increasing time, along the Y-axis. Sequence diagrams have two dimensions:  Horizontal :Represents different objects  Vertical : Represents time

Unified Modeling Language/ UML sequence diagrams parts: 1. Actor Actors can also communicate with objects, so they too can be listed as a column. An Actor is modeled using the stick figure. person (or role) that “interacts” with a system by entering input data and receiving output data

Unified Modeling Language/ UML sequence diagrams parts: 2. Object Objects are instances of classes, and are arranged horizontally. The pictorial representation for an Object is a class (a rectangle) with the name prefixed by the object name (optional) and a semi-colon. :the ATM

Unified Modeling Language/ UML sequence diagrams parts: 3. Lifeline Lifeline – Shows the time of existence of the object – from creation to deletion Activation/Control focus – Shows the time period during which the object performs an operation :the ATM time Lifeline Activation/ Control focus

Unified Modeling Language/ UML sequence diagrams parts: 4. Message Objects interact with one another using messages Messages, modeled as horizontal arrows between Activations, indicate the communications between objects.

Unified Modeling Language/ UML Types of Message: 1. Simple or sequential: Caller waits for receiving object to finish processing. It’s bi-directional “one-way message” but it may include a response. It’s represented by an ordinary arrow. 2. Response (Return): Shows the objects response of the other objects simple message. Represented by a dashed-line arrow.

Unified Modeling Language/ UML Creating a Sequence diagram\Guidelines:- Select Use-case and Scenario Using Scenario 1.Identify Actors 2.Identify Objects  Look for nouns  Already identified in the Class diagram 3.Identify initiating actor 4.Add objects and lifeline to diagram

Unified Modeling Language/ UML Creating a Sequence diagram:- 5.Create a controller object  A point of contact created to coordinate the actor’s interaction with the rest of the system  Provides an interface between the actor and the internal system  They are invented objects who mangers other objects  Eg: ATM, GUI window  Usually created (not always necessary) 6.Discover Messages  Look for verbs  Identify the source and destination of the message; 7.Add messages to diagram

Unified Modeling Language/ UML Sequence diagram\Example (cellular phone):- Consider your cell phone.when you dial a number you normally pick the person you want to call, the phones software search’s the number in your phonebook, displays it on your screen & sends the request of calling to the company. so….

Unified Modeling Language/ UML After analyzing the case: – Actors needed : You “ The owner ”: The one who’s dialing or requesting the call. The company : who receives the call to divert it to the requested person.

Unified Modeling Language/ UML The objects are: – The keypad “ the one used to insert the selection” – The phone’s software, or let us call it “controller” : searches the number, displays it & sends the request. - Phone book “ where the numbers are kept” - Screen “ displays the number”

Unified Modeling Language/ UML Notes 1.When you dial a number, You first select the name using the keypad. So a message is sent from the actor ”you” to the keypad object. 2.When you dial a number, You first select the name using the keypad. So a message is sent from the actor ”you” to the keypad object. 3.The number is searched and retrieved to the controller.  Two messages are sent:  The one from the controller to the phonebook  Then from the phonebook back to the controller

Note 1 Note 2

Note 3

Unified Modeling Language/ UML 4.The controller displays the number on the screen & the user chooses to call, so the controller sends the request to the company.  Three messages has been sent:  The message from the controller to the screen to display the number  The message from the user to the controller to send the call request  The message from the controller to the company with the call request.

Note 4

Final diagram