Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.

Slides:



Advertisements
Similar presentations
Object-Oriented Analysis and Design Introduction 1.
Advertisements

Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Software Engineering 2007/2008 Chapter 2 Modeling the Process and Life Cycle.
Object-Oriented Analysis and Design
Chapter 1 Object Oriented Analysis and Design. UML, Patterns, and Object-Oriented Analysis and Design  The essential skills for the creation of well-designed,
CSSE 374: Introduction to Object- Oriented Analysis and Design Q1 Steve Chenoweth Office: Moench Room F220 Phone: (812)
Object-Oriented Analysis and Design CHAPTERS 12-14: INTRODUCTION TO DESIGN 1.
Unified Modeling Language
Object-Oriented Analysis and Design
Introduction To System Analysis and Design
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Object Oriented Analysis and Design
地理信息系统概述. 数据和信息 (Data & Information) 数据 原始事实 如:员工姓名, 数据可以有数值、图形、声音、视觉数据等 信息 以一定规则组织在一起的事实的集合。
NJIT 1 Domain Model Visualizing Concepts Chapter 9 Applying UML and Patterns Craig Larman.
Object Oriented Analysis and Design Chapter 1 Applying UML and Patterns -Craig Larman.
操作系统原理课程设计指南 姜海燕 设计考核幻灯制作  1.1 封皮:系统名称,研制人员  1.2 目的及意义  1.3 功能设计:功能框图、用例图  1.4 结构设计:系统结构  1.5 核心技术及技术路线:画图  1.6 进度安排  1.7 人员安排  1.8.
COMP 350: Object Oriented Analysis and Design Lecture 2
编译原理总结. 基本概念  编译器 、解释器  编译过程 、各过程的功能  编译器在程序执行过程中的作用  编译器的实现途径.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Chapter 9 Domain Models. Domain Model in UML Class Diagram Notation A “visual dictionary”
Introduction To System Analysis and design
CS212: Object Oriented Analysis and Design Lecture 1: Introduction.
PowerDesigner 与对象建模. 2 Why Using UML? Visually define and communicate the structure and behavior of an application Represent systems using Object-Oriented.
《 UML 分析与设计》 交互概述图 授课人:唐一韬. 知 识 图 谱知 识 图 谱知 识 图 谱知 识 图 谱.
BTS430 Systems Analysis and Design using UML Domain Model Part 1—Finding Conceptual Classes.
Chapter 1 Object-Oriented Analysis and Design. Disclaimer Slides come from a variety of sources: –Craig Larman-developed slides; author of this classic.
Requirements To Design--Iteratively Chapter 12 Applying UML and Patterns Craig Larman.
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Introduction To System Analysis and Design
Object-Oriented Analysis and Design An Introduction.
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
Object-Oriented Analysis and Design Lecture 1 Instructor: John Cole 1Object-Oriented Analysis and Design - Intro.
Chapter 1 Object-Oriented Analysis and Design. Disclaimer Slides come from a variety of sources: –Craig Larman-developed slides; author of this classic.
Object-Oriented Analysis and Design Fall 2009.
Object-Oriented Programming (Java). 2 Topics Covered Today Unit 1.2 Designing Classes –1.2.1 UML Class Diagrams –1.2.2 Relationships Between Classes –1.2.3.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Chapter 1 Applying UML and Patterns. The Need for Software Blueprints Knowing an object-oriented language and having access to a library is necessary.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Object-Oriented Analysis and Design ธนวัฒน์ แซ่ เอียบ.
Copyright ©2004 Cezary Z Janikow 1 OOAD Overview n OO language – Necessary for OO systems? – Sufficient for OO systems? Owning a hummer doesn’t make you.
力的合成 力的合成 一、力的合成 二、力的平行四边形 上一页下一页 目 录 退 出. 一、力的合成 O. O. 1. 合力与分力 我们常常用 一个力来代替几个力。如果这个 力单独作用在物体上的效果与原 来几个力共同作用在物体上的效 果完全一样,那么,这一个力就 叫做那几个力的合力,而那几个 力就是这个力的分力。
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
Ch- 8. Class Diagrams Class diagrams are the most common diagram found in modeling object- oriented systems. Class diagrams are important not only for.
Object Oriented Analysis and Design Chapter 1 Applying UML and Patterns -Craig Larman.
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN Objectives Describe the book goals and scope Define OOA/D (Object-Oriented Analysis and Design) Illustrate.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
TK2023 Object-Oriented Software Engineering CHAPTER 9 INTRODUCTION TO OBJECT DESIGN.
八. 真核生物的转录 ㈠ 特点 ① 转录单元为单顺反子( single cistron ),每 个蛋白质基因都有自身的启动子,从而造成在功能 上相关而又独立的基因之间具有更复杂的调控系统。 ② RNA 聚合酶的高度分工,由 3 种不同的酶催化转 录不同的 RNA 。 ③ 需要基本转录因子与转录调控因子的参与,这.
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Object Oriented Analysis & Design By Rashid Mahmood.
WELCOME TO OUR PRESENTATION UNIFIED MODELING LANGUAGE (UML)
SME.USTB Human Factors 人机工程学 By Wei Dong Department of Industry Design, SME, USTB.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
UML Diagrams By Daniel Damaris Novarianto S..
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Chapter 5: Object Oriented Analysis and Design
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN
Introduction to Unified Modeling Language (UML)
UML Diagrams Jung Woo.
COMP 350: Object Oriented Analysis and Design Lecture 2
Object oriented analysis and design
2D1359 & 2D1360 : Object Oriented Modeling, Programming & Analysis
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Presentation transcript:

Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative Development Part I - Introduction

Software Engineering 2 Object-oriented Analysis and Design Chapters 1. Object oriented analysis and design 2. Iterative, evolutionary, and agile 3. Case study Text book, page 3-44

Software Engineering 3 Object-oriented Analysis and Design Chapter 1 Object-oriented Analysis and Design

Software Engineering 4 Object-oriented Analysis and Design Topics and Skills

Software Engineering 5 Object-oriented Analysis and Design Analysis and Design 1  Analysis m emphasizes an investigation of the problem and requirements, rather than a solution. For example, if a new online trading system is desired, how will it be used? What are its functions? m do the right thing  Design m emphasizes a conceptual solution (in software and hardware) that fulfills the requirements, rather than its implementation. For example, a description of a database schema and software objects. m do the thing right

Software Engineering 6 Object-oriented Analysis and Design Analysis and Design 2  Analysis m Discover the key abstractions that form the vocabulary of the problem domain. m Remove programming language concepts and emphasize the language of the domain. m Abstractions, their behavior, and interactions that define the conceptual model of the problem (not software) domain  Design m Structure the system within an architectural framework m Map analysis abstractions into a software design class hierarchy. m Assemble objects (class instances) and their behaviors into collaborations. m Discover and invent software abstractions not in the problem domain but needed for implementation m Organize classes in hierarchies

Software Engineering 7 Object-oriented Analysis and Design Object-oriented Analysis and Design 1  Object-oriented analysis m emphasis on finding and describing the objects—or concepts—in the problem domain. For example, in the case of the flight information system, some of the concepts include Plane, Flight, and Pilot.  Object-oriented design m Emphasis on defining software objects and how they collaborate to fulfill the requirements. For example, a Plane software object may have a tailNumber attribute and a getFlightHistory method ★

Software Engineering 8 Object-oriented Analysis and Design Object-oriented Analysis and Design 2

Software Engineering 9 Object-oriented Analysis and Design Object-oriented Analysis and Design 3  Object-oriented analysis m Defines the problem domain according to the requirements m Sets the basic “vocabulary” of the problem domain for the design and coding activities m Surveys the possible solutions and discusses tradeoffs m Models the problem from the object perspective  Advantage of object oriented analysis m the analysts don’t have to be “language experts”  the experts in the problem domain and the implementation-level experts can communicate using a common notation

Software Engineering 10 Object-oriented Analysis and Design Object-oriented Analysis and Design 4  Object-oriented design m Takes the products produced by analysis, then details and designs the solution in terms of some target environment m Concerned with real-world concerns like, reliability, performance.. m Deals with “assignment of functionality to different processes or tasks” m Deals with database issues and “distributed object environments”  Object oriented analysis and design use the same kinds of modeling notations - the main difference is “problem” vs. “solution” modeling

Software Engineering 11 Object-oriented Analysis and Design Object-oriented Analysis and Design 5  Examples of object oriented models m Requirements and analysis:  Use case diagram  Interface model  Business/Domain Object model  Application Object model  Object Interaction model  Dynamic model m Design  Design Object model  Design Object Interaction model  Design Dynamic model m Implementation: Source code m Testing: Test cases

Software Engineering 12 Object-oriented Analysis and Design Object-oriented Analysis and Design 6 Analysis - Investigate the Problem Business AnalogyObject-oriented Analysis & Design Associated Documents What are the business processes? Requirements analysisUse cases What are the roles?Domain analysisConceptual model Design - Create Solutions Who is responsible for what? How do they interact? Responsibility assignment, interaction design Design class diagrams, Collaboration diagrams

Software Engineering 13 Object-oriented Analysis and Design A Short Example 1  Define Use Cases m Use cases are not an object-oriented artifact—they are simply written stories. they are a popular tool in requirements analysis. m Play a Dice Game use case:  Player requests to roll the dice. System presents results: If the dice face value totals seven, player wins; otherwise, player loses.

Software Engineering 14 Object-oriented Analysis and Design A Short Example 2  Define a Domain Model m creating a description of the domain from the perspective of objects. There is an identification of the concepts, attributes, and associations that are considered noteworthy. m conceptual object model; domain concept model

Software Engineering 15 Object-oriented Analysis and Design A Short Example 3  Assign Object Responsibilities and Draw Interaction Diagrams m to illustrate these collaborations is the sequence diagram. It shows the flow of messages between software objects, and the invocation of methods. m Software object designs and programs are not direct models or simulations of the real world.

Software Engineering 16 Object-oriented Analysis and Design A Short Example 4  Define Design Class Diagrams m a static view of the class definitions is usefully shown with a design class diagram. This illustrates the attributes and methods of the classes.

Software Engineering 17 Object-oriented Analysis and Design Unified Modeling Language 1  The UML is standard diagramming language to visualize the results of analysis and design.  Notation (the UML) is a simple, relatively trivial thing.  Much more important: Skill in designing with objects. m Learning UML notation does not help  The UML is not m a process or methodology m object-oriented analysis and design m guidelines for design ★

Software Engineering 18 Object-oriented Analysis and Design Unified Modeling Language 2  Three Ways to Apply UML m UML as sketch—Informal and incomplete diagrams (often hand sketched on whiteboards) created to explore difficult parts of the problem or solution space, exploiting the power of visual languages. m UML as blueprint  Relatively detailed design diagrams used either for  reverse engineering to visualize and better understanding existing code in UML diagrams,  code generation (forward engineering).  If reverse engineering, a UML tool reads the source or binaries and generates (typically) UML package, class, and sequence diagrams. help the reader understand the big picture elements, structure, and collaborations.  Before programming, some detailed diagrams can provide guidance for code generation (e.g. Java), either manually or automatically with a tool.

Software Engineering 19 Object-oriented Analysis and Design Unified Modeling Language 3 m UML as programming language—Complete executable specification of a software system in UML. Executable code will be automatically generated, but is not normally seen or modified by developers; one works only in the UML “programming language.” This use of UML requires a practical way to diagram all behavior or logic (probably using interaction or state diagrams), and is still under development in terms of theory, tool robustness and usability. m Agile modeling emphasizes UML as sketch.

Software Engineering 20 Object-oriented Analysis and Design Unified Modeling Language 3  Three Perspectives to Apply UML m Conceptual perspective—the diagrams are interpreted as describing things in a situation of the real world or domain of interest. m Specification (software) perspective—the diagrams (using the same notation as in the conceptual perspective) describe software abstractions or components with specifications and interfaces, but no commitment to a particular implementation (e.g., not C# or Java). m Implementation (software) perspective—the diagrams describe software implementations in a particular technology (such as Java).

Software Engineering 21 Object-oriented Analysis and Design Unified Modeling Language 4

Software Engineering 22 Object-oriented Analysis and Design Unified Modeling Language 5  Class-related terms consistent with the UML and the UP, m Conceptual class—real-world concept or thing. A conceptual or essential perspective. The UP Domain Model contains conceptual classes. m Software class—a class representing a specification or implementation perspective of a software component, regardless of the process or method. m Implementation class—a class implemented in a specific OO language such as Java ★ ★★ ★

Software Engineering 23 Object-oriented Analysis and Design UML Overview  图形化的表示机制,十多种视图,分 4 类:  用例图:用户角度:功能、执行者  静态图:系统静态结构  类图:概念及关系  对象图:某种状态或时间段内,系统中活跃的对象及其关系  包图:描述系统的分解结构  行为图:系统的动态行为  交互图:描述对象间的消息传递 顺序图:强调对象间消息发送的时序 合作图:强调对象间的动态协作关系  状态图:对象的动态行为。状态 - 事件 - 状态迁移 - 响应动作  活动图:描述系统为完成某功能而执行的操作序列  实现图:描述系统的组成和分布状况  构件图:组成部件及其关系  部署图:物理体系结构及与软件单元的对应关系