Presentation is loading. Please wait.

Presentation is loading. Please wait.

11 Partnership for Performance How to hear this lecture Click on the icon: to hear the narration for each slide.

Similar presentations


Presentation on theme: "11 Partnership for Performance How to hear this lecture Click on the icon: to hear the narration for each slide."— Presentation transcript:

1

2 11 Partnership for Performance How to hear this lecture Click on the icon: to hear the narration for each slide.

3 2 Partnership for Performance fisher.osu.edu Fisher logo Analysis Dr. Rajiv Ramnath Director Collaborative for Enterprise Transformation and Innovation (CETI) Department of Computer Science and Engineering, College of Engineering The Ohio State University Ramnath.6@osu.eduhttp://www.ceti.cse.ohio-state.edu Partnership for Performance

4 College of Engineering The Ohio State University UML – A Notation for Capturing Software Engineering Work Products

5 44 Partnership for Performance Uses of UML As Sketch As Blueprint As Programming Language Concepts (e.g. in a domain model) Specification (of software components) Implementation (tied to a language) Ref: Applying UML and Patterns, Craig Larman, Safari

6 55 Partnership for Performance Use Case Ref: UML Distilled, Martin Fowler: Safari

7 66 Partnership for Performance Use Case Diagram Showing > Ref: http://www.agilemodeling.com/images/models/useCaseDiagram.jpg

8 7 Partnership for Performance Use Case Diagram Showing Uses Intake Processor Client System >

9 88 Partnership for Performance Class Diagram Ref: UML Distilled, Martin Fowler: Safari

10 99 Partnership for Performance Association Ref: UML Distilled, Martin Fowler: Safari

11 10 Partnership for Performance Object Diagram Ref: UML Distilled, Martin Fowler: Safari

12 11 Partnership for Performance Sequence Diagram Ref: UML Distilled, Martin Fowler: Safari

13 12 Partnership for Performance Collaboration (Communication) Diagram Ref: UML Distilled, Martin Fowler: Safari

14 13 Partnership for Performance State Diagram Ref: UML Distilled, Martin Fowler: Safari

15 14 Partnership for Performance Activity Diagram Ref: UML Distilled, Martin Fowler: Safari

16 15 Partnership for Performance Advanced UML – 1 Ref: UML Distilled, Martin Fowler: Safari Aggregation Composition (cannot exist outside of) Static Operations

17 16 Partnership for Performance Advanced UML - 2 Interfaces Ref: UML Distilled, Martin Fowler: Safari

18 17 Partnership for Performance Advanced UML - 3 Ref: UML Distilled, Martin Fowler: Safari Interaction Overview Diagram

19 18 Partnership for Performance Advanced UML – 4 Ref: http://www.agilemodeling.com/style/activityDiagram.htm Swimlanes

20 19 Partnership for Performance Package Diagram (Package == Namespace) Ref: UML Distilled, Martin Fowler: Safari

21 20 Partnership for Performance Deployment Diagram Ref: UML Distilled, Martin Fowler: Safari

22 College of Engineering The Ohio State University Analysis

23 22 Partnership for Performance What is Analysis? Analysis = Understanding: In general: separating the target of the analysis into its component parts –Understanding static structure –Understanding dynamic behavior –Capturing this in documents or tacitly Domain Analysis: Understanding the domain Static structure aka Domain Model Problem Analysis: Understanding the problem Solution Analysis: Defining the solution Interactions at the system boundary, no deeper

24 23 Partnership for Performance Process and Techniques Focus on target of analysis (not a solution to an immediately perceived problem) Do not introduce design Be iterative and incremental Techniques: Reuse existing models (CBM?, Porter? Value Chain?) Create a categorized list of things in the domain Create narratives and extract nouns (objects) and verbs (responsibilities) Build class and object models for static structure Use sequence, collaboration, state and activity diagrams for dynamic behavior Use CRC Cards to socialize the process of analysis

25 College of Engineering The Ohio State University Analysis Using Structured Processes

26 25 Partnership for Performance Analysis Work-Products Analysis Guidelines Domain Analysis Part 1 of project Create a Domain Model using an object diagram Problem Analysis Start with Problem Statement (note overlap with Requirements) Use a problem object diagram to describe the static aspects of the problem Explain problem scenarios using sequence, collaboration, activity or state diagrams Solution Analysis Start with Use Cases (note overlap with Requirements) Explain scenarios using sequence, collaboration, state, or activity diagrams Describe interface objects using object and class diagrams

27 26 Partnership for Performance Notes on Analysis Guidelines Done jointly by the developers - team leader and analysts Keep minimal and not overly restrictive Work product guidelines Which work products Templates Naming conventions Diagramming conventions Process guidelines How should the team do the analysis –Create scenarios from use cases, possible sketch UI screens, look at the as-is system –CRC Cards

28 27 Partnership for Performance Notes on Solution Scenarios Elaboration of a Use Case (one path through a use case) –Tradeoff: New use case vs. adding a scenario to existing Use case + Assumptions + Outcomes How to create: –Identify all the different outcomes in the use case –Techniques –Use domain experts, look at similar examples »Web reservation systems (itn.com), ATM systems –Reviewing the Problem statement –Walking through case studies or storyboards »Successful and unsuccessful outcomes »Look at each subclass of the actors involved Reference: Developing Object-Oriented Software – An Experience-Based Approach, Chapter on Analysis

29 28 Partnership for Performance Notes on Sequence Diagrams Graphical representation of each scenario (could combine scenarios, or explore only major ones)). UML notation. Used to discover or validate class responsibilities Object messages or internal activities Components Object Time line Messages - synchronous or asynchronous –loops, returns, internal Advice Keep messages in English Feel free to annotate to properly describe the problem Reference: Developing Object-Oriented Software – An Experience-Based Approach, Chapter on Analysis

30 29 Partnership for Performance Notes on Object and Class Models Use the sequence diagrams to derive and validate this UML Notation Components Objects and Classes Relationships (aggregation (component), IS-A (inheritance), association (relationship)) Attributes Methods Question: Why is an “object” model used in analysis, not a class model? Reference: Developing Object-Oriented Software – An Experience-Based Approach, Chapter on Analysis

31 30 Partnership for Performance Notes on Domain Model Illustrates important business concepts Used in analysis Often serves as software business objects – an interface layer in design Along with problem object model Ref: Applying UML and Patterns, Craig Larman, Safari

32 31 Partnership for Performance Domain Model - Example Ref: Applying UML and Patterns, Craig Larman, Safari

33 32 Partnership for Performance Notes on CRC Cards - Template Ref: A Laboratory For Teaching Object-Oriented Thinking Kent Beck, Ward Cunningham – electronic reference

34 33 Partnership for Performance Notes on CRC Cards - Example Ref: Applying UML and Patterns, Craig Larman, Safari Ref: A Laboratory For Teaching Object-Oriented Thinking Kent Beck, Ward Cunningham – electronic reference

35 College of Engineering The Ohio State University Agile Analysis

36 35 Partnership for Performance Agile Analysis – Mostly About Values and Practices, Less About Techniques An integral part of requirements definition – not a separate phase Model with others Model in small increments Collective ownership Purpose determines model Create several models (in parallel) Use simple tools Prove it with code Single source of information Display publicly Active stakeholder involvement Ref: Visual Studio Team System: Better Software Development for Agile Teams, Will Stott; James W. Newkirk, Safari. Agile 101.pdf – ThoughtWorks Inc. – CSE 757 Course Site

37 36 Partnership for Performance Agile UML Modelling – Use Case Sketch

38 37 Partnership for Performance Thank you!


Download ppt "11 Partnership for Performance How to hear this lecture Click on the icon: to hear the narration for each slide."

Similar presentations


Ads by Google