一、概述——软件工程

今天发现了一个很好地复习软工的思维导图。

本来想直接收藏拿来用,但鉴于上次计算机网络第二章复习效果不佳。所以想要自己在挨个写一遍。

先来个大框架,今天先复习第一个内容。

一、概述

 这是在网上看到的思维导图,感觉非常详细,就拿来用了具体请移步软件工程思维导图

下面结合上课PPT来进行复习。

一、Introduction to Software Engineering

Part 0. Overview

Chap 0. History of computer technology

1>(计算技术的历史)

1.石头、绳结、算筹

2.Automatic mechanical calculation tool using gears(使用齿轮自动计数)

3.Electromechanical computer(机电计算器)

4.Electronic Computer(电子计算器)(冯·诺依曼计算机问世

计算机科学界把采用0、1符号编码方法和存储程序方法设计的计算机称为冯·诺依曼计算机。

2>软件的历史

3>History of computer technology

The First generation computer(1946-1958)
Hardware:电子管元件、卡片式输入输出、静 电存储管
速度:几千到几万次每秒
软件: 机器语言( 1938 )汇编语言( 1952 ),FORTRAN 语言( 1954 )
应用:科学计算
代表:ENIAC(1946),第一台商业化的计算机
IBM701
 
The Second generation computer (1959- 1964)
Hardware:晶体管元件、磁芯/磁鼓、磁带/磁盘
运算速度:几十万次每秒
软件: 高级程序设计语言:basic,cobol,Algol等
应用: 科学计算、数据处理和事务处理领域
代表: IBM公司生产的IBM7094,CDC(Control Data
Corporation,控制数据公司)生产的CDC1640
The third generation computer(1965-1970)
  硬件:中小规模集成电路元件、半导体存储、
多样的外设
运算速度:千万次每秒
典型代表:
IBM公司研制成功的360系列计算机
为了满足中小企业与政府机构日益增多的计算机
应用,第三代计算机出现了小型计算机
Software Development(1965 1970)
开始进行操作系统的研究
数据库管理系统DBMS 出现
编程趋向结构化 
“软件危机”出现
提出“软件工程” 
The fourth generation computer(1971-Now)
Hardware
大规模 / 超大规模集成电路计算机
根据 摩尔定律:硬件成本每隔18个月就降低一
,例如:存储器每年降低40%、主机硬件的
性价比每十年提高一个数量级
互联网出现
机器语言 Machine Language ->
汇编语言 Assembly language ->
编程语言 Programming language

Chap 1. The Nature of Software

1. What is Software?(软件=程序+文档+数据) 

programs
documents  
data structure 

2. The nature of software(软件的属性)

Developed/engineered(开发、工程化)
Deteriorates(会过时)
Custom built(订制)
Complex(复杂)

3. The category of software applications(软件应用的范畴)

System software
Application software
Engineering/Scientific software
Embedded software
Product - line software
Web/Mobile applications
AI software (robotics, neural nets, game playing……)

4. The development of our native software

Chap 2. Concepts of SE

1. Software Crisis(质量、预算、更新、拖期、创新)

How do we ensure the quality of the software that we produce?

How do we meet growing demand and still maintain budget control?

How do we upgrade an aging “software plant?

How do we avoid disastrous time delays?

How do we successfully institute new software technologies ?

2. The Concept of Software Engineering(软件工程概念)

3. Software Process

1)What is a software process?

A process defines who is doing what, when, and how to reach a certain goal?

2)Why we need software processes?

为了确保产品的质量、按时交付、以及满足客户需求需求

3)Software Process Framework

1.框架活动: 从项目管理视角划分过程:项目启动、计划、 监控、结束、客户服务

从项目工程(软件开发生命周期)视角划分过程:概念、需求、设计、实施(实现)、系统集成和测试、系统部署安装、技术支持和系统维护

2.伞活动在整个 软件过程中发生,它们被均匀地应用在整个过程中,分析还包含一系列的工作任务(例如需求收集,制定,协商规范和验证),一个过程框架有一组 被应用在整个 软件 过程活动中。

4. 软件生命周期

软件有一个孕育、诞生、成长、成熟、 衰亡的生存过程。这个过程即为计算机 软件的生命周期

Part 1. Software Processes

Chap 3. Software Process Structure

1. A Generic Process Model(通用的过程模型)

 

2. Identifying a Task Set

A list of the task to be accomplished
A list of the work products to be produced
A list of the quality assurance filters to be applied

3. Process Patterns(过程模式)

 (1)Process Pattern Types

Stage patterns —defines a problem associated
with a framework activity for the process.
Task patterns —defines a problem associated
with a software engineering action or work
task and relevant to successful software
engineering practice
Phase patterns —define the sequence of
framework activities that occur with the
process, even when the overall flow of
activities is iterative in nature.

(2)CMMI (Capability Maturity Model Integration)(能力成熟度模型)

1.Initial(0)(初始)
2.Managed(7)(管理)
   REQM, PPQA, SAM, PMC, PP, CM,MA
3.Defined(11)(明确)
  OT , OPD , OPF , IPM , RSKM, RD , TS,
4. Quantitatively Managed(2)(量化管理)
   QPM , OPP
5.Optimized(2)(优化)
   OID, CAR

Chap 4. Process Model

0. What is a Prescriptive Process Model?(经验模型)

详细可参考

(1条消息) 软件工程——瀑布模型、快速原型模型、增量模型、螺旋模型_快速原型模型和增量模型的区别_「已注销」的博客-CSDN博客

Communication
  Application Requirements determination,Software
Requirements specification
Planning
  Planning,estimation,scheduling
Modeling
   Architectural design,Detailed design
Construction:
    Implementation,Integration,Testing
Deployment
各种模型的大致流程及优缺点

1. The Waterfall Model & the V Model(瀑布模型)

瀑布模型进化版:V模型

V模型大体可以划分为以下几个不同的阶段步骤:客户需求分析、软件需求分析、概要设计详细设计软件编码单元测试集成测试系统测试、验收测试。

 

 

2. The Incremental Model(增量模型)又称产品改进模型

 

3. Evolutionary Models(进化模型)

Prototyping   原型

4.The Spiral    螺旋模型(对瀑布模型的迭代使用)

 

5. Other Process Models

Component based development

Formal methods
AOSD
AOSD

5. The Unified Process (UP)(统一过程模型)

(1条消息) 软件工程过程模型——统一过程模型_代码之狐的博客-CSDN博客

每个阶段都由一个或多个迭代组成。每个迭代都要针对不同的业务用例或系统用例进行细化和实现

Chap 5. (6)Agile Development(敏捷开发)

Chap 6. Human Aspects of Software Engineering

Part 2. Modeling

Part 3. Quality Assurance

Part 4. Software Project Management

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mu Haitian

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值