Chapter 3: Modeling


Chapter 3 Modeling

Abstraction & Modeling

Abstraction

  • Abstractions allow us to ignore unessential details
  • 2 definitions for abstraction
    • Abstraction as activity: Abstraction is a throughout process where ideas are distanced from objects
    • Abstraction as entity: Abstraction is the resulting idea of a throughout process where an idea has been distanced from an object

🍰 Ideas can be expressed by models

Models

  • Object model
  • Functional model
  • Dynamic model
  • System model

Other Models

  • Task Model
  • Issue Modeling
Decomposition

two types

  • Functional decomposition
    • The system is decomposed into modules
    • Each module is a major function in the application domain
    • Modules can be decomposed into smaller modules
  • Object-oriented decomposition
    • The system is decomposed into classes
    • Each class is a major entity in the application domain
    • Classes can be decomposed into smaller classes

🚶 Three ways to deal with complexity

  • Abstraction
  • Decomposition
  • Hierarchy

🚶 Steps

  1. Start with a description of the functionality of a system
  2. Then proceed to a description of its structure

🚶 Order

  • Software lifecycle
UML Models
  • Structure models (static view of the system)

    • class diagram
  • Behavior models (operational view of the system)

    • use case diagram
    • activity diagram
    • communication diagram
  • State change models (dynamic view of the system)

    • state machine system

Use case view

Primary actors: system is designed to serve

Secondary actors: support roles

🍬 TASK

  1. Identify actors
  2. Identify initial use cases
  3. Draw use case diagram
  4. Identify packages
  5. Develop initial use cases
  6. Refine the Typical and Alternative Scenarios
  7. Restructure use cases
    • «include» relationship
      • Factors out common behavior in use cases
      • included steps
    • «extend» relationship
      • Factors out optional behaviors in use cases
      • extended scenario
    • generalization

Activity view

activity diagram

Structure view

class diagram

Interaction view

sequence diagram

Communication diagram

State Machine view

state machine diagram

Implementation view

Component diagram

deployment diagram


文章作者: mohan li
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 mohan li !
评论