2. Software Engineering - Modeling

1.Undestanding Requirements

System Engineering

! ! ! Requirements Engieering (requirements modeling)

1.Inception (start) : (confirm stakeholders)

2.Elicitation(引出)by both software engineers and customers

The goal is to identify the problem、propose elements of the solution
、negotiate different approaches, and specify a preliminary set of solution requirements

3.Elaboration(细化)Building the Analysis Model

4.Negotiation (negotiation)

5. Specification _

6. Validation _

Use Case Diagram/Activity Diagram/Class Diagram/State Diagram: Use Case Diagram

2.Requirements Modeling

There are three goals that a requirements model must fulfill:
§ 1 ) Describe what the customer needs
§ 2 ) Lay the groundwork for software design
§ 3 ) Define a set of requirements that can be validated after the software is complete

software requirement includes:

1. . Scenario-Based Methods (modeling of the scene) (use-case)

2. Class-Based Modeling:  Discover instances of object classes (entity classes, boundary classes, control classes) (Class)

1. Find all nouns

2. Filter out possible classes

3. Modify the noun to get the class

4. Determine the object class

5. Refine the object class

3.Behavioral Modeling    (State Diagram+Sequence Diagram)

1.make a list of the different states of a system (How does the system behave?)
list the different states of a system
2.indicate how the system makes a transition from one state to another (How
does the system change state?)
 indicate event
 indicate action
Indicate how transitions between states occur
3.draw a state diagram or a sequence diagram

4.Flow Models

3.Design Concepts

1. Design

2. Design and quality

3. Design Principles

4. Fundamental Concepts

1>AbstractionAbstract
2>Refinement refinement
3>Architecture
4>Patterns mode B/S (WEB browser is enough), C/S (need to download the client)
5>Modularity
6>Hiding hidden
7>Functional independence function independent (module independent)
Indicators of module independence: cohesion (the tightness of the elements inside the module, the higher the better)
It means that each part of a module is coordinated to complete a specific function
work, closely related, inseparable (single function)
If the function to be completed contains words such as "and" and "or", it must
Not functionally cohesive enough.
Coupling (degree of association between modules)
8>Aspects
9>Refactoring
10>OO design concepts
11>Design Classes

4.Design Mothods

1.Behavioral Modeling

1. What is Architecture

2. Architectural Styles

Data flow architecturesData flow architectures

 

Call and return architectures call and return architecture

 

Independent component architectures Independent component architectures

 

Virtual machine architecturesVirtual machine architecture
Repository architectures Repository Architecture

 

3. Architectural Patterns

Concurrency

 Persistence

Distribution

4. Architectural Design

4. Architectural Design

5. Architecture Reviews

6. Agility and Architecture

2.Component Level Design

1.What is a Component

Basic Design Principles
⭐The Open-Closed Principle (OCP): Modules [components] should be open for extensions, but closed for modification
⭐The Liskov Substitution Principle (LSP): Subclasses should be able to replace their base classes
Dependency Inversion Principle ( DIP)
⭐The Interface Segregation (ISP): Many customer-specific interfaces are better than one generic interface

2.Cohesion: (cohesion)

Conventional view:   the “single-mindedness” of a module
YES view:
implies that a component or class encapsulates only attributes and operations that are closely related to one another and to the class or component itself

 Coupling: (coupling)

YES view:
  a qualitative measure of the degree to which classes are connected to one another

3.User Interface Design

1. Golden Rules for UI Design

Place the user in control
Reduce the user’s memory load
Make the interface consistent

2. User Interface Design Models

3. User Interface Design Process

1.Interface Analysis
2.User Analysis
3.Task Analysis and Modeling
4.Analysis of Display Content
  the environment
  Interface Design Steps & Design Issues
  Design Evaluation Cycle

Guess you like

Origin blog.csdn.net/lyhizjj/article/details/130654477