1 / 30

Software Design Methodologies: UML in Action

Software Design Methodologies: UML in Action. Dr. Mohamed Fayad, J.D. Edwards Professor Department of Computer Science & Engineering University of Nebraska, Lincoln Ferguson Hall, P.O. Box 880115 Lincoln, NE 68588-0115 http://www.cse.unl.edu/~fayad. Lesson 2: Modeling. 2.

Download Presentation

Software Design Methodologies: UML in Action

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department of Computer Science & Engineering University of Nebraska, Lincoln Ferguson Hall, P.O. Box 880115 Lincoln, NE 68588-0115 http://www.cse.unl.edu/~fayad ISISTAN Research Institute – Tandil, Argentina

  2. Lesson 2: Modeling 2 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

  3. Lesson Objectives • Understand modeling • Discuss Model essentials • Explore Different Models • Understand the differences between a method and a process • Understand the differences between multiple models and multiple views 3 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

  4. Define: Standards Methodologies Method & Process Model & View Tools Environments Definitions 4 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

  5. Standards imply regulations, guidelines, rules, laws, and so on. Standards can dictate named methodologies, such as IEEE standards or DOD standards (Ex: DOD-STD-2167A). A standard alone is not sufficient on getting a task completed. Why? Standards 5 [Fayad-Laitinen 1998] ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

  6. Because standards focus on the attributes of the results instead of how the results will be achieved A standard also includes a type, model, or example commonly or generally accepted or adhered to, such a criterion set for usage or practices (moral standards) Standards applies to some measure, principle, model, and so on, with which things of the same class are compared to determine their quantity, value, quality, and so forth (standards of purity in drugs) Standards 6 [Fayad-Laitinen 1998] ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

  7. A methodology is “a science of method or orderly arrangement” Webster. A methodology is used to refer to the very highest level of the way we do things. A methodology also refers to “a system of methods, as in particular science” The methodology we will consider here cover only the development of software applications. Methodology 7 [Fayad-Laitinen 1998] ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

  8. A method implies a regular, orderly, logical procedure for doing something, such as a method of finding software requirements. Exs: Waterfall model, spiral model [Boehm84], and fountain model [Henderson-Selers90]. Jacobson defines a method as a planned procedure by which a specific goal is approached step by step [Jacobson92]. Examples of software design method are a set of work procedures, a set of notations, or a set of heuristics. Methods or Techniques 8 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

  9. Software engineering methods can be divided into three major categories: 1. Process-Oriented Methods [Yourdon89] 2. Data-Oriented Methods [Martin90] 3. Object-Oriented Methods [Fayad93, Rumnaugh91, etc..] Methods or Techniques 9 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

  10. POM vs. OOM 10 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

  11. Method Provides Foundation for Software Engineering 11 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

  12. The Myth of the Single Software Development Method 12 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

  13. How Many OO Methods Exist? UML 13 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

  14. Engineering Process Hierarchy Engineering Scientific Area Standards Methodologies (Macrodevelopment Processes) Techniques (Methods) (Minidevelopment Processes) Processes (Microdevelopment Processes Computer Electronics Hardware Software SASD OOT UML OMT 14 Identify Classes Identify Attributes ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

  15. Processes are Important for a new OO Teams • New methods and tools introduce confusion • Processes define exactly who, what, when, and how • “big-picture” 15 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

  16. Method vs. Process Processes take OO methods out of the classroom and put them to work • Theoretical • Ideas • Predictions • Practical • Concrete Actions • Metrics 16 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

  17. Defined Processes are Baseline for Improvements Can’t improve anything that you can’t repeat 17 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

  18. Software Process Hierarchy 18 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

  19. General Processes Must be Tailored to Your Projects 19 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

  20. Identifying Appropriate Process Details Cost effective range • depends upon environment • specifies “who”, “what”, “when” • reference “how” • Too Much • not cost effective • typically too much “why” • Not Enough • useless • typically only “what” 20 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

  21. Building a model is a well-established human process. A model is a description of something. Models allow us to answer questions about a real thing before we build it. Models capture only those features deemed essential by model builders for their goals. A single thing might be represented by multiple model. Models can be validated. Modeling – Definition 21 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

  22. Simple Complete (most likely to be correct) Stable to technological changes Testable Easy to understand Visual or graphical Model Essentials 22 [Fayad98] ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

  23. Tangible Physical Examples Mall Aircraft Modeling Classifications [1] • Intangible • Logical • Examples • Flowcharts • STDs • DFDs 23 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

  24. Static Object models Domain models DFDs Modeling Classifications [2] • Dynamic • Behavior models • Flowcharts • Petri-Net • Three properties: • Control, Behavior, Time 24 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

  25. Object Model (class diagram) Control Model (STDs) Transformation Model (DFDs) Modeling Classifications [3] 25 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

  26. Static Type diagrams, CRC cards, class diagrams Dynamic or Behavior Activity diagrams, collaboration diagram, sequence diagram, and state diagram Implementation Component diagram & deployment diagram Modeling Classifications [4]: UML 26 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

  27. UML has 9 different models. This called “multiple models” and represents: Abstraction, what and how, etc. It is not “multiple views” Multiple view represents: Presentations Levels, layers, slices, details Scalability, accessibility, authorization, information hiding, dimensions Multiple Models vs. Multiple Views 27 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

  28. Tools: Select Tools to Meet Specific Needs 28 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

  29. What are the differences between multiple models and multiple views? T/F UML stands for United Modeling Level. Software design is part of UML. Define: Static models, dynamic models, transformation models What are the differences between a method and a process? Discussion Questions 29 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

  30. Discuss the following guidelines Go Beyond the Problem Domain Speculate About Likely Changes Separate General Functionality from Specific Policy Object should have Cohesive Interfaces Objects Should Be Intelligent Agents Objects Should Export Services Avoid “Object Machismo” Questions for the Next Lecture 30 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad

More Related