Part2 Modeling

Part2 Modeling

Chap7 Understanding Requirements

System Engineering

Elements of a computer-based system

Software
Hardware
People
Database
Documentation
Procedures

Systems A hierarchy of macro-element

在这里插入图片描述

Requirements Engineering

  • Inception(起始过程) ask a set of questions that establish …

    • basic understanding of the problem
    • the people who want a solution
    • the nature of the solution that is desired, and
    • the effectiveness of preliminary communication and collaboration between the customer and the developer
  • Elicitation(导出过程) elicit requirements from all stakeholders

    The goal is

    • to identify the problem
    • propose elements of the solution
    • negotiate different approaches, and
    • specify a preliminary set of solution requirements
  • Elaboration(精化过程) create an analysis model that identifies data, function and behavioral requirements

在这里插入图片描述

  • Negotiation(协商过程) agree on a deliverable system that is realistic for developers and customers

在这里插入图片描述

  • Specification(规格说明)— can be any one (or more) of the following:

    • A written document
    • A set of models
    • A formal mathematical
    • A collection of user scenarios (use-cases)
    • A prototype

    在这里插入图片描述
    在这里插入图片描述

  • Validation(验证过程)— a review mechanism that looks for

    • errors in content or interpretation
    • areas where clarification may be required
    • missing information
    • inconsistencies (a major problem when large products or systems are
      engineered)
    • conflicting or unrealistic (unachievable) requirements

    在这里插入图片描述

  • Requirements management(管理过程)

在这里插入图片描述

Chap 8-10 Requirements Modeling

在这里插入图片描述

Requirements Modeling

  • Scenario-based

    system from the user’s point of view

  • Data
    shows how data are transformed inside the system

  • Class-oriented
    defines objects, attributes, and relationships

  • Flow-oriented
    shows how data are transformed inside the system

  • Behavioral
    show the impact of events on the system states

需求模型必须实现的三个目标:

  • 描述客户需要什么
  • 为软件设计奠定基础
  • 定义在软件完成后可以被确认的一组需求

在这里插入图片描述

Chap8 Scenario-Based Methods

用例图 用户故事

Chap9 Class-Based Methods

  1. Requirements Modeling Strategies
  2. Structured Analysis

structured analysis considers data and the processes that transform the data as separate entities.

  • Data objects are modeled in a way that defines their attributes and relationships.
  • Processes that manipulate data objects are modeled in a manner that shows how they transform data as data objects flow through the system.

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

② A second approach to analysis modeled, called object-oriented analysis, focuses on

  • the definition of classes and
  • the manner in which they collaborate with one another to effect customer requirements
  1. Object-oriented Analysis

The definition of classes

在这里插入图片描述

CRC card Class-responsibility-collaborator (CRC) model

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Analysis Packages

Various elements of the analysis model (e.g., usecases, analysis classes) are categorized in a manner that packages them as a grouping.

The plus sign preceding the analysis class name in each package indicates that the classes have public visibility and are therefore accessible from other packages.

Other symbols can precede an element within a package. A minus sign indicates that an element is hidden from all other packages and a symbol indicates that an element is accessible only to packages contained within a given package.

在这里插入图片描述

Chap10 Behavioral Modeling

State Diagram

  • state — a set of observable circum-stances that characterizes the behavior of a system at a given time
  • state transition — the movement from one state to another
  • event — an occurrence that causes the system to exhibit some predictable form of behavior
  • action — process that occurs as a consequence of making a transition

在这里插入图片描述

Sequence Diagram

在这里插入图片描述

Chap 11 Design Concepts

Design

在这里插入图片描述

  • Data/Class design – transforms analysis classes into implementation classes and data structures
  • Architectural design – defines relationships among the major software structural elements
  • Interface design – defines how software elements, hardware elements, and end-users communicate
  • Component-level design – transforms structural elements into procedural descriptions of software components

Design and quality

在这里插入图片描述

Design Principles

在这里插入图片描述

Fundamental Concepts

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Chap 12-14 Design Methods

Chap12 Behavioral Modeling

1 What is Architecture

software components, the externally visible properties of those components, and the relationships among them 软件组件 外部可见属性 关系

2 Architectural Styles

Software style is a method to form a structure and structure relationship with integrity, universality and generality

software style is a specific basic structure

在这里插入图片描述

  • Data flow architectures 数据流体系架构

    • batch processing, pipes and filters

    在这里插入图片描述

  • Call and return architectures

    • main program /subprogram, object-oriented system, layer system

在这里插入图片描述
在这里插入图片描述

  • Independent component architectures 独立组件架构

    • event system

    在这里插入图片描述

  • Virtual machine architectures 虚拟机架构

    • interpreter, rule-based system

    在这里插入图片描述

  • Repository architectures 仓库风格的体系结构

    • database system, blackboard system, etc

    在这里插入图片描述

3 Architectural Patterns

在这里插入图片描述

4 Architectural Design

在这里插入图片描述

5 Architecture Reviews 架构评审

  • Assess(评估) the ability of the software architecture to meet the systems quality requirements and identify potential risks.
  • Have the potential to reduce project costs by detecting design problems early.
  • Often make use of experience-based reviews,prototype evaluation, scenario reviews, and checklists 基于经验的审查、原型评估、场景审查和检查清单

6 Agility and Architecture 敏捷架构

在这里插入图片描述

Chap13 Component Level Design

1 The Concepts of Component & Component Level Design

在这里插入图片描述

Component-level design defines the data structures, algorithms, interface characteristics, and communication mechanisms allocated to each component

2 Basic Design Principles

  • The Open-Closed Principle (OCP). 开闭原则

    A module [component] should be open for extension but closed for modification. 对扩展开放,对修改关闭

  • The Liskov Substitution Principle (LSP) 里氏替换原则

    Subclasses should be substitutable for their base classes 子类可以替代父类

  • Dependency Inversion Principle (DIP). 依赖倒置原则

    Depend on abstractions. Do not depend on concretions.”

  • The Interface Segregation Principle (ISP). 接口分离原则

    许多特定于客户端的接口比一个通用接口要好

  • Etc.

聊聊软件开发的REP、CCP、CRP原则-腾讯云开发者社区-腾讯云

3 Cohesion & Coupling

Cohesion
在这里插入图片描述
在这里插入图片描述

Coupling 耦合

在这里插入图片描述
在这里插入图片描述

4 Component Level Design

在这里插入图片描述
在这里插入图片描述

Chap14 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

  • Interface Analysis
    • User Analysis
    • Task Analysis and Modeling
    • Analysis of Display Content
    • the environment

  • Interface Design Steps & Design Issues

    在这里插入图片描述

    Response time
    Help facilities
    Error handling
    Menu and command labeling
    Application accessibility
    Internationalization

  • Design Evaluation Cycle 设计评估周期

在这里插入图片描述

  • 33
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值