Object Oriented Analysis and Design.ppt

上传人:registerpick115 文档编号:373027 上传时间:2018-10-04 格式:PPT 页数:76 大小:706.50KB
下载 相关 举报
Object Oriented Analysis and Design.ppt_第1页
第1页 / 共76页
Object Oriented Analysis and Design.ppt_第2页
第2页 / 共76页
Object Oriented Analysis and Design.ppt_第3页
第3页 / 共76页
Object Oriented Analysis and Design.ppt_第4页
第4页 / 共76页
Object Oriented Analysis and Design.ppt_第5页
第5页 / 共76页
亲,该文档总共76页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、10/4/2018,1,Object Oriented Analysis and Design,10/4/2018,2,Analysis I,Tuesday 9/7/1999,10/4/2018,3,The Unified Process,10/4/2018,4,The Unified Process,Why a Process? Software projects are large, complex, sophisticated time to market is key many facets involved in getting to the end Common process s

2、hould integrate the many facets provide guidance to the order of activities specify what artifacts need to be developed offer criteria for monitoring and measuring a project,10/4/2018,5,The Unified Process,Component based - meaning the software system is built as a set of software components interco

3、nnected via interfaces Uses the Unified Modeling Language (UML) Use case driven Architecture-centric Iterative and incremental,Component: A physical and replaceable part of a system that conforms to and provides realization of a set of interfaces. Interface: A collection of operations that are used

4、to specify a service of a class or a component,This is what makes the Unified process Unique,10/4/2018,6,The Unified Process,Users requirements,Software Development Process,Software System,10/4/2018,7,The Unified Process,Use Case driven A use case is a piece of functionality in the system that gives

5、 a user a result of value Use cases capture functional requirements Use case answers the question: What is the system supposed to do for the user?,10/4/2018,8,The Unified Process,Architecture centric similar to architecture for building a house Embodies the most significant static and dynamic aspect

6、s of the system Influenced by platform, OS, DBMS etc. Primarily serves the realization of use cases,10/4/2018,9,The Unified Process,Iterative and Incremental commercial projects continue many months and years to be most effective - break the project into iterations Every iteration - identify use cas

7、es,create a design, implement the design Every iteration is a complete development process,10/4/2018,10,The Unified Process,Look at the whole process Life cycle Artifacts Workflows Phases Iterations,10/4/2018,11,The Life of the Unified Process,Unified process repeats over a series of cycles Each cyc

8、le concludes with a product release Each cycle consists of four phases (page 8 T2) inception elaboration construction transition,10/4/2018,12,The Life of the Unified Process,Elaboration,Inception,Construction,Transition,Iteration,Iteration,Iteration,Iteration,Iteration,Iteration,Iteration,Iteration,

9、Release 1,1,1,1,1,Time,A cycle with its phases and its iterations,10/4/2018,13,Intentionally left blank,10/4/2018,14,Analysis I,10/4/2018,15,Introduction to object-oriented analysis and design (all slides from UML, ch. 1, 3,4),10/4/2018,16,Objectives,Compare and Contrast analysis and design Defined

10、object-oriented analysis and design Relate by analogy object-oriented analysis and design to organizing a business,10/4/2018,17,What is Analysis and Design?,Analysis - investigation of the problem (what) Design - logical solution to fulfill the requirements (how),10/4/2018,18,What is OO analysis and

11、 design?,Essence of OO analysis - consider a problem domain from the perspective of objects (real world things, concepts) Essence of OO design - define the solution as a collection of software objects (allocating responsibilities to objects),10/4/2018,19,Examples,OO Analysis - in the case of the lib

12、rary information systems, one would find concepts like book, library, patron OO Design - emphasis on defining the software objects; ultimately these objects implemented in some programming language; Book may have a method print,10/4/2018,20,Example - contd.,Domain concept,Representation in analysis

13、of concepts,Book _ title print(),Public class Book public void print(); private string title; ,Representation in oo programming language,10/4/2018,21,What are the business processes?,First step - consider what the business must do; in the case of a library - lending books, keeping track of due dates

14、, buying new books in oo terms - requirements analysis; represent the business processes in textual narration (Use Cases),10/4/2018,22,Business processes - contd.,Identifying and recording the business processes as use cases is not actually an object oriented activity; however it is a widely accepte

15、d first step (a necessary first step),10/4/2018,23,Roles in the organization,Identify the roles of people who will be involved in the business processes in oo terms - domain analysis examples - customer, library assistant,10/4/2018,24,Who does what? Collaboration,Business processes and people identi

16、fied; time to determine how to fulfill the processes and who does these processes in oo terms - object oriented design; assigning responsibilities to the various software objects often expressed in class diagrams,10/4/2018,25,In Summary.,10/4/2018,26,Simple example to see big picture,Define use case

17、s Define conceptual model Define collaboration diagrams Define design class diagrams,Example: Dice game a player rolls two die. If the total is 7 they win; otherwise they lose,10/4/2018,27,Define use cases,Use cases - narrative descriptions of domain processes in a structured prose format,Use case:

18、Play a game Actors: Player Description: This use case begins when the player picks up and rolls the die.,10/4/2018,28,Define conceptual model,OO Analysis concerns specification of the problem domain identification of concepts (objects) Decomposition of the problem domain includes identification of o

19、bjects, attributes, associations results can be expressed in conceptual model,10/4/2018,29,Conceptual model - dice game,Player _ name,Die _ facevalue,DiceGame,1,2,2,1,1,1,Includes,Plays,Rolls,Conceptual model is not a description of the software components; it represents concepts in the real world p

20、roblem domain,10/4/2018,30,Defining collaboration diagram,OO Design is concerned defining logical software specification that fulfills the requirements Essential step - allocating responsibility to objects and illustrating how they interact with other objects Expressed as Collaboration diagrams,Coll

21、aboration diagrams show the flow of messages between objects,10/4/2018,31,Example - collaboration diagram,10/4/2018,32,Defining class diagrams,Key questions to ask How do objects connect to other objects? What are the behaviors (methods) of these objects? Collaboration diagrams suggests connections;

22、 to support these connections methods are needed Expressed as class diagrams,10/4/2018,33,Example - Class diagram,A line with an arrow at the end may suggest an attribute. For example, DiceGame has an attribute that points to an instance of a Player,10/4/2018,34,Intentionally left blank,10/4/2018,35

23、,Defining Models and Artifacts,Objectives analysis and design models familiarize UML notations and diagrams real world software systems are inherently complex Models provide a mechanism for decomposition and expressing specifications,10/4/2018,36,Analysis and Design models,Analysis model - models re

24、lated to an investigation of the domain and problem space (Use case model qualifies as an example) Design model - models related to the solution (class diagrams qualifies as an example),10/4/2018,37,Introduction to UML,UML is NOT a methodology UML is NOT a process UML is NOT proprietary (Now under t

25、he OMG) UML is strictly Notations,10/4/2018,38,Introduction to UML,Goals of UML notation Simple : requires only a few concepts and symbols Expressive : applicable to a wide spectrum of systems and life cycle methods Useful : focuses only upon those necessary elements to software engineering Consiste

26、nt : the same concept and symbol should be applied in the same fashion throughout,10/4/2018,39,Introduction to UML,Goals of UML notation: Printable Extensible : users and tool builders should have some freedom to extend the notation UML has different parts Views - shows different aspects of the syst

27、em that are modeled, links the modeling language to the method/process chosen for development Diagrams - graphs that describe the contents in a view Model elements - concepts used in a diagram,10/4/2018,40,Introduction to UML,Component View,Use Case View,Logical View,Concurrency View,Deployment View

28、,10/4/2018,41,Introduction to UML,Use-case view : A view showing the functionality of the system as perceived by the external actors Logical view: A view showing how the functionality is designed inside the system, in terms of the static structure and dynamic behavior Component view: A view showing

29、the organization of the code components,10/4/2018,42,Introduction to UML,Concurrency view: A view showing the concurrency of the system Deployment view: A view showing the deployment of the system in terms of the physical architecture,10/4/2018,43,Introduction to UML,Major UML Diagrams Use case view

30、 Use Case Diagram Logical View Class Diagram (static) Object Diagram (static) State Diagram Sequence Diagram Collaboration Diagram Activity Diagram,10/4/2018,44,Introduction to UML,Major UML diagramsComponent view Component diagram Deployment view Deployment diagram,10/4/2018,45,Introduction to UML,

31、Model elements Class Object State Use case Interface Association Link Package .,10/4/2018,46,Introduction to UML,Use Case diagram: External interaction with actors Class/Object Diagram : captures static structural aspects, objects and relationships State Diagram: Dynamic state behavior Sequence diag

32、ram: models object interaction over time Collaboration diagram: models component interaction and structural dependencies,10/4/2018,47,Introduction to UML,Activity diagram : models object activities Deployment diagram : models physical architecture Component diagram : models software architecture,10/

33、4/2018,48,Case study - Point of Sale,POS terminal should support the following record sales handle payments many architectural layers presentation application logic (problem domain, service support) persistence Emphasis - problem domain application objects,10/4/2018,49,Case study - Strategy,Iterativ

34、e, more than one development cycle Use Object oriented analysis and design No emphasis on implementation,10/4/2018,50,Understanding requirements,Objectives create requirements phase artifacts, namely function specifications identify and categorize system functions,10/4/2018,51,Understanding requirem

35、ents,Requirements are a description of needs or desires for a product Recommended artifacts overview statement customers (stakeholders) goals system functions,10/4/2018,52,Understanding requirements,Overview Statement: The purpose of this project is to create a point of sale terminal system to be us

36、ed in retail sales,Customers: ObjectStore, Inc, a multinational retailer,Goals: Quick checkout for customers fast and accurate sales analysis automatic inventory control,10/4/2018,53,Understanding requirements,System functions are what a system is supposed to do examples : authorize credit payments

37、To verify that some X is indeed a system function, it should make sense in the following sentence the system should do ,10/4/2018,54,How to categorize system functions?,Understanding requirements,10/4/2018,55,Understanding requirements,10/4/2018,56,Intentionally left blank,10/4/2018,57,Analysis,Obje

38、ctives Identification of Use cases Draw use case diagrams Ranking Use cases Contrast essential and real use cases,10/4/2018,58,OO Analysis,SRS - chapter 11,10/4/2018,59,More Object Oriented Analysis,Two ways of looking at software product just the data perspective just the actions performed on the d

39、ata The above method is Structured systems analysis - inherently not realistic! Object oriented analysis - look at data and actions at the same time,10/4/2018,60,OO Analysis - Contd.,Formal specification technique Consists of three steps Use case modeling (action oriented) Class modeling (data orien

40、ted) Dynamic modeling (action oriented),10/4/2018,61,Use case modeling,Describes the functionality of the product to be considered represented in a use case diagram,10/4/2018,62,Use cases - Introduction,Excellent technique for improving the understanding of requirements narrative in nature Use cases

41、 are dependent on having some understanding of the requirements (expressed in functional specifications document),10/4/2018,63,Use Cases - Example,Use case - narration of the sequence of events of an actor using a system UML icon for use case,10/4/2018,64,Use Cases - Introduction,Actor - an entity e

42、xternal to the system who in some way participate in the use case An actor typically stimulates the system with input events or receives outputs from the system UML notation,10/4/2018,65,Identification of Use Cases,Method 1 - Actor based Identify the actors related to the system Identify the process

43、es these actors initiate or participate in Method II - Event based Identify the external events that a system must respond to Relate the events to actors and use cases,10/4/2018,66,Point of Sale - Actors,Actors Cashier Customer Supervisor,10/4/2018,67,Point of Sale - Use Cases,Cashier Log In Cash ou

44、t Customer Buy items Return items,10/4/2018,68,Common mistake,Common error - representing individual steps as use cases Example: printing a receipt (Why?),10/4/2018,69,Use Case Diagram - Example,Use Case Diagram: illustrates a set of use cases for a system,10/4/2018,70,More on Use Cases,Try to descr

45、ibe use cases independent of implementation Be as narrative as possible State success scenarios (how do you measure the success of an use case) A use case can have many scenarios (threads of execution) Agree on a “format style” for use case description Name a use case starting with a verb in order t

46、o emphasize that it is a process (Buy Items, Enter an order, Reduce inventory),10/4/2018,71,More on Use Cases,Document exception handling or branching when an “Buy Item” fails, what is expected of the system when a “credit card” approval fails, what is expected of the system,10/4/2018,72,A sample of

47、 a Use Case,Use case: Buy Items Actors: Customer, Cashier Type: Primary, Essential Description: A customer arrives at a checkout with items to purchase. The cashier recordsthe purchase items and collects payment.,10/4/2018,73,Ranking Use Cases,10/4/2018,74,Ranking Use Cases,Overarching strategy pick

48、 the use cases that significantly influence the core architecture pick the use cases that are critical to the success of the business a useful rule of thumb - pick the use cases that are the highest risk!,10/4/2018,75,Ranking Use Cases,Use some ordering that is customary to your environment Example: High, Medium, Low Example: Must have, Essential, Nice to have Point of sale Examples Buy Items - High Refund Items - Medium (Why?) Shut Down POS terminal - Low,10/4/2018,76,Questions?,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学课件 > 大学教育

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1