97 CONCEPTUAL DESIGN: AN OVERVIEW OF METHODOLOGIES, MODELS AND NOTATIONS.

Slides:



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

Object-Oriented SYSTEMS ANALYSIS Review. Name & describe one Information Systems Development Methodology (there are at least four)
UML an overview.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
CIT731: Database Development Object Oriented Modeling (OOM)
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.
Object-Oriented Analysis and Design
Introduction To System Analysis and Design
Object Oriented System Development with VB .NET
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
PROCESS MODELING Transform Description. A model is a representation of reality. Just as a picture is worth a thousand words, most models are pictorial.
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Intro to Systems Requirements Lecture 4 Identifying.
© 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 Systems Analysis and Design
95 AN OBJECT-ORIENTED SYSTEMS ANALYSIS AND DESIGN METHODOLOGY.
Chapter 7: The Object-Oriented Approach to Requirements
Introduction To System Analysis and design
Chapter 2: Approaches to System Development
UML - Development Process 1 Software Development Process Using UML (2)
Object-oriented methodology object models use case modeling unified modeling language the data dictionary the cornucopia case portfolio project Systems.
CSI315 Web Applications and Technology Overview of Systems Development (342)
2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.
1 A Student Guide to Object- Orientated Systems Chapter 4 Objects and Classes: the basic concepts.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 18. Review User interface Design principles Design Guidelines.
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.
Unified Modeling Language, Version 2.0
Introduction To System Analysis and Design
An Introduction to Java Chapter 11 Object-Oriented Application Development: Part I.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
Chapter 9 Moving to Design
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Methodologies of the SDLC Traditional Approach to SDLC Object-Oriented Approach to SDLC CASE Tools.
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th edition, Prentice Hall, Hans Van Vliet, Software.
Systems Analysis and Design in a Changing World, 3rd Edition
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Objectives In this lesson, you will learn about : *Object-oriented modeling * Origin and evolution of UML *Architecture of UML *User View 3 Actor 3 Use.
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 12 Exploring Information System Development.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
Basic Characteristics of Object-Oriented Systems
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
CONCEPTUAL DESIGN: AN OVERVIEW OF METHODOLOGIES, MODELS AND NOTATIONS
AN OBJECT-ORIENTED SYSTEMS ANALYSIS AND DESIGN METHODOLOGY
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
Modern Systems Analysis and Design Third Edition
Unified Modeling Language
OO Domain Modeling With UML Class Diagrams and CRC Cards
Chapter 20 Object-Oriented Analysis and Design
Software Design Lecture : 15.
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Presentation transcript:

97 CONCEPTUAL DESIGN: AN OVERVIEW OF METHODOLOGIES, MODELS AND NOTATIONS

98 Planning & Feasibility Study (optional) Analysis - Requirements Determination Design - Conceptual & Physical Construction (Purchase) & Testing Implementation including Training & Conversion Evolution - Maintenance & Enhancements SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC) IDS-306/695 IDS-406/697

99 METHODOLOGY OVERVIEW   Methodology defined: The way something gets done. (i.e., The strategy, steps, directions, or actions.)   Methodologies can be:   purchased   created   combination of both   Thousands available for developing software-intensive information systems

100 SDLC versus Methodology M #1 M #2… SDLC = “Generic Way” Methodology = “Specific Ways”

101 METHODOLOGY OVERVIEW   Classifications of Methodologies   Traditional   Structured Analysis and Design   Information Modeling/Engineering   Object-Oriented   Prototyping is a technique - (some say that it is a methodology)

102 The Traditional Methodology   Applicable for small teams on small projects   Functional perspective of a problem domain   It is an informal, unstructured, unrepeatable, un-measurable, ad-hoc way   Tools used to support it are adequate (okay) (1950s - now)

103 Traditional Methodology Tools TECHNIQUES & TOOLS REPRESENTING System Data Process Flows Logic _ Forms, Layouts, Grid Charts System Flowcharts English Narrative, Playscript, Program Flowcharts, HIPO Charts

104 Structured Analysis and Design Methodology   Data Flow methodology (synonym)   Compliments Structured Programming   Very popular - perhaps the leading one for business   Can be repeatable, measurable, & automated   IDE & CASE s/w tools brought significant assistance   1) Yourdon, and 2) Gane & Sarson   Functional perspective of a problem domain   Describes the real world as data flowing through the information system, being transformed from inputs to outputs (mid-1970s - now)

105 Structured Analysis and Design Methodology Tools TECHNIQUES & TOOLS REPRESENTING System Data Process Flows Logic _ Data Dictionary, Data Structure Diagrams, Entity- Relationship Diagrams Data Flow Diagram Decision Tree/Table, Structured English, Structure Charts, Warnier/Orr Diagram

Reconcile Account Balances Pay a Bill Withdraw Funds from an Account Deposit Funds into an Account Bank Creditor Employer Other Income Source Bank Monthly Account Statements Account Transactions Bank Accounts Account Transactions Bill Payment Monthly Statement Account Balance Transaction Prior Monthly Statement New or Modified Monthly Statement Modified Balance Pay Reimbursement Withdraw or transfer Deposit Payment Modified Balance Current Balance (adapted from Systems Analysis and Design Methods, 4th Edition, Whitten and Bentley, McGraw-Hill, 1998)

(adapted from Systems Analysis and Design Methods, 4th Edition, Whitten and Bentley, McGraw-Hill, 1998) CUSTOMER Customer Number (PK) Customer Name Shipping Address Billing Address Balance Due ORDER Order Number (PK) Order Date Order Total Cost Customer Number (FK) INVENTORY PRODUCT Product Number (PK) Product Name Product Unit of Measure Product Unit Price ORDERED PRODUCT Ordered Product ID (PK). Order Number (FK). Product Number (FK) Quantity Ordered Unit Price at Time of Order has placed sold sold as

108 Information Modeling Methodology   Data modeling & information engineering (synonyms)   Describes the real world by its data, the data’s attributes, and the data relationships   Can be repeatable, measurable, and automated   Data perspective of the problem domain (early-1980s - now)

109 Information Modeling Methodology Tools TECHNIQUES & TOOLS REPRESENTING System Data Process Flows Logic _ Business Area Analysis, Entity- Relationship Diagrams Business Area Analysis, Process Model Business Systems Design

110 Object-Oriented Methodology   Object modeling   Compliments object-oriented programming   Can be repeatable, measurable, & automated   Object perspective of the problem domain   Describes the real world by its objects, the attributes, operations, and relationships   Data & functions are encapsulated together (mid/late-1980s - now)

111 Object-Oriented Methodology Tools TECHNIQUES & TOOLS REPRESENTING System Data Process Flows Logic _ Object Model Attributes Object Model Static & Dynamic UML Model Diagrams, Operations, Class relationships, Object associations

112 Object-Oriented Methodology   Revolutionary or Evolutionary?   Most difficult aspect is the transition some people have to make from a functional or data problem solving strategy to an object problem solving strategy. Some people must change from a “function think” or “data think” to an “object think” strategy.

113 Rational Corporation’s Rational Unified Process (RUP)

114 Object Technology Principles Common Methods of Organization Abstraction Encapsulation (Information Hiding) Inheritance Polymorphism Message Communication Associations Reuse

115  Objects and their characteristics  Wholes and Parts  Groups (Classes) and Members Classification Theory (Common Methods of Organization) O-O Systems Analysis & Design Methodology

116 Common Methods of Organization People are accustomed to thinking in terms of... color price weight engine options... Objects & Attributes number of doors number of wheels number of windows number of lights number of bolt type 1 number of bolt type 2 etc.... Wholes and Parts Groups & Members VANS: light utility utility passenger etc...

117 Abstraction A mental ability that permits people to view real-world problem domains with varying degrees of detail depending on the current context of the problem. Helps people to think about what they are doing Functional and Data abstraction

118 Encapsulation (Information Hiding) A technique in which data are packaged together with their corresponding procedures. cake Ingredients Directions 2 eggs 4 cups flour 1 cup milk 1 cup sugar etc Pre-heat oven to 350; Put milk, eggs, and sugar in 2 quart mixing bowl...  In Object-Oriented Technology the “package” is called an OBJECT  The interface to each object is defined in such a way as to reveal as little as possible about its inner workings  Encapsulation allows [software] changes to be reliably made with limited effort [Gannon, Hamlet, & Mills, 1987] One cake please!

119 Inheritance A mechanism for expressing similarity between things thus simplifying their definition. looks behavior attitudes etc... Person StudentFaculty Staff Inheritance

120 Polymorphism (“many forms”) 4 The ability to hide different implementations behind a common interface. 4 The ability for two or more objects to respond to the same request, each in its own way.   H O = water, ice, steam (liquid, solid, vapor)   Eating   Carbon compound crystallizes as graphite & diamond 2 versus Door #1 Door #2 Door #3 Door #1 #2 #3

Polymorphism 4 Two examples PRINT TEXT object GRAPH object IMAGE object Object #1 PO object Account object Department object Object #2 Object #3 Add = add a line item to the PO = increase $ Amount Balance = hire a new employee

122 Message Communication OBJECT Objects communicate via messages

123 Associations The union or connection of ideas or things. (Objects need to interact with each other) same point in time Billing Statement Advertisement #1 Advertisement #2 under similar circumstances crime scene #1 crime scene #2 crime scene #n Person StudentFaculty Staff

124 Reuse Varying Degrees of Reuse: complete or sharing copy, purchase or cloning partial or adjusting none The ability to reuse objects Software: “Chips” Components Controls Models

125 Reuse Components must be reused three to five times before the costs of creating and supporting them are recovered It costs one and a half to three times as much to create and support a single reusable component as to create a component for just one use It costs 25% as much to use a reusable component as it does to create a new one It takes two to three product cycles (about three years) before the benefits of reuse become significant Software Reuse Costs and Payoffs Orenstein, D. “Code reuse: Reality doesn’t match promise”, Computerworld, August 24, 1998, page 8.

126 O-O Systems Analysis & Design Methodology Three Classic Systems Analysis and Design Challenges:  Data Model versus Function Model  Analysis to Design Transition  Maintaining Source Code

VVVVVVVVVVVV Colorado River North Rim of the Grand Canyon South Rim of the Grand Canyon Classic Software Development Challenge #1: Multiple Models Data Models Function Models User Interaction (Behavior)

VVVVVVVVVVVV Colorado River North Rim of the Grand Canyon South Rim of the Grand Canyon Classic Software Development Challenge #2: Model Transformation Design Models Analysis Models

Classic Software Development Challenge #3: Maintaining Source Code Begin “Caller” Program Init x,y,z... Open (files/database) Read... Compute... DO “Callee” with x,y,z Update (files/database) Close (files/database) End Main Program Procedure Callee Parameters x,y,z Compute... End Procedure End Program Spaghetti? Who wrote this code?

130 SOLUTION Colorado River Object Technology INTEGRATED MODEL(S) (function, data, behavior) (analysis, design and implementation) ROUND-TRIP ENGINEERING

131 A Simplified Object-Oriented Systems Analysis Methodology O-O Systems Analysis Methodology

1.Identify the information system’s purpose 2.Identify the information system’s actors and features 3.Identify Use Cases and create a Use Case Diagram 4.Identify Objects and their Classes and create a Class Diagram 5.Create Interaction/Scenario Diagrams 6.Create Detail Logic for Operations 7.Repeat activities 1-6 as required to refine the “blueprints” A Simplified Object-Oriented Systems Analysis Methodology Activities

Software Development’s “Separation of Concerns” Problem Domain Data ManagementSystem Interaction Information System Human Interaction

134 The Unified Modeling Language (UML) Models and Notation O-O Systems Analysis Methodology

135 Subject Matter Expert & Notation   Can you draw a stick figure of a person?   Can you draw a picture of an automobile?   Can you draw a picture of the space shuttle?   Can you draw a picture of an Oopsla?   Why not?   Subject Matter Expert (SME)   Notation - symbols used to communicate

136 BoochJacobsonRumbaugh “The 3 Amigos”

137 Information Systems Development PeopleProcess Technology (UML - notation & tools to use it)

138 The Object Management Group (OMG), formed in 1989, is a consortium of about 800 software vendors, consultants and end user organizations whose mission is to develop STANDARD interfaces for INTEROPERABLE software components in HETEROGENEOUS computing environments. Version 1.1 of the UML was adopted as an OMG Standard on November 14, The OMG Revision Task Force released UML Version 1.3 in the Fall of 1998

The 9 Diagrams of the UML v Class v Object v Use-Case v Interaction/Scenario Diagrams: –Sequence –Collaboration v State [-Transition] v Activity v Component v Deployment Implementation (Static) Behavior Static A Package is used for Model Management

140 UMLDiagramsUMLDiagrams

141

142

143

144

145

146

147

148 “The Big Picture” A Video Store UML Class Diagram

149

150

151

152

153

154 End of “The Big Picture” QUITTING TIME