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