软件工程笔记完整版样本.docx

上传人:b****6 文档编号:13384190 上传时间:2023-06-13 格式:DOCX 页数:29 大小:147.69KB
下载 相关 举报
软件工程笔记完整版样本.docx_第1页
第1页 / 共29页
软件工程笔记完整版样本.docx_第2页
第2页 / 共29页
软件工程笔记完整版样本.docx_第3页
第3页 / 共29页
软件工程笔记完整版样本.docx_第4页
第4页 / 共29页
软件工程笔记完整版样本.docx_第5页
第5页 / 共29页
软件工程笔记完整版样本.docx_第6页
第6页 / 共29页
软件工程笔记完整版样本.docx_第7页
第7页 / 共29页
软件工程笔记完整版样本.docx_第8页
第8页 / 共29页
软件工程笔记完整版样本.docx_第9页
第9页 / 共29页
软件工程笔记完整版样本.docx_第10页
第10页 / 共29页
软件工程笔记完整版样本.docx_第11页
第11页 / 共29页
软件工程笔记完整版样本.docx_第12页
第12页 / 共29页
软件工程笔记完整版样本.docx_第13页
第13页 / 共29页
软件工程笔记完整版样本.docx_第14页
第14页 / 共29页
软件工程笔记完整版样本.docx_第15页
第15页 / 共29页
软件工程笔记完整版样本.docx_第16页
第16页 / 共29页
软件工程笔记完整版样本.docx_第17页
第17页 / 共29页
软件工程笔记完整版样本.docx_第18页
第18页 / 共29页
软件工程笔记完整版样本.docx_第19页
第19页 / 共29页
软件工程笔记完整版样本.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

软件工程笔记完整版样本.docx

《软件工程笔记完整版样本.docx》由会员分享,可在线阅读,更多相关《软件工程笔记完整版样本.docx(29页珍藏版)》请在冰点文库上搜索。

软件工程笔记完整版样本.docx

软件工程笔记完整版样本

第一章软件工程槪述

1.软件危机(softwarecrisis):

是指在计算机软件开发和维护过程中所遇到一系列严重问题。

即“两低一髙”问题:

质量低、效率低、成本高。

软件危机也成为“软件箫条(depression)"或“软件困扰(affliction)”

2.软件危机重要体现

1)开发成本和进度预计不准

2)顾客对“已完毕”软件系统不满意

3)软件质量往往靠不住

4)软件经常是不可维护

5)软件普通没有恰当文档资料

6)软件成本逐年上升

7)软件开发生产率滞后于硕件和计算机应用普及趋势

3.产生软件危机因素

1)与软件自身特点关于

a.软件不同于硬件,是逻辑部件而不是物理部件

缺少可见性

难于测试

管理和控制开发过程困难

不会因使用时间过长而被"用坏”

难以维护

b.软件不同于普通程序,规模庞大,并且程序复杂性随着程序规模增长而呈指数上升

2)和软件开发与维护办法不对的关于

a.对软件开发和维护关于错误结识和作法

忽视软件需求分析重要性以为软件开发就是写程序

轻视软件维护

b.对软件开发过程与办法结识与应用

软件开发要经历一种漫长时期(编程占10-20%)

程序仅是完毕软件配备一种构成某些

软件开发办法要有助于软件维护

4.软件特点

(1)软件是无形(intangible)

(2)软件副本大批量生产轻而易举

(3)软件业是劳动密集型

(4)一种没有通过充分训练软件开发人员很容易编写出难以理解和修改软件

(5)软件自身很容易修改。

但由于它复杂性,又很难对的地修改。

(6)软件不像英她工业产品那样会因使用而磨损,随着重复修改,它设计哙逐渐退化

5.消除软件危机途径

1)对计算机软件对的结识

2)结识到软件开发不是个体劳动神秘技巧,而是一种组织良好、管理严密、各类人员协

同配合、共同完毕工程项目

3)推广使用成功软件开发技术和办法

4)开发和使用更好软件开发工具

总之,为了消除软件危机,既要有技术办法(办法和工具),又要有必要组织管理办法。

6.对“工程“理解:

大事情,施工过程,工程学科。

施工过程:

分析T设计T实现T维护

7.软件槪念

典型建义:

软件二程序+文档+数据

软件是汁算机程序及其关于数据和文档完整集合。

汁算机程序是可以完毕功能可执行指令序列数据是程序能恰当解决信息,具备恰当数据构造

软件文档是开发、使用和维护程序所需要图文资料

8.软件工程概念

概括地说,软件工程是指引计算机软件开发和维护工程学科。

采用工程概念、原理、技术和办法来开发与维护软件,把通过时间考验而证明对的管理技术和当前可以得到最佳技术办法结合起来,以经济地开发岀高质量软件并有效地维护它,这就是软件工程。

目的:

项目成功(BFC.Bctter、Faster、Cheaper)

9.软件工程本质特性

(1)软件工程关注于大型程序构造

(2)软件工程中心课题是控制复杂性

(3)软件经常变化

(4)开发软件效率非常重要

(5)和谐地合伙是开发软件核心

(6)软件必要有效地支持它顾客

(7)在软件工程领域中普通由具备一种文化背景人替具备另一种文化背景人创造产品

10.软件工程基本原理

(1)用分阶段生命周期筹划进行严格管理

(2)坚持进行阶段评审

(3)实行严格产品控制

(4)采用当代程序设计技术

(5)成果应能淸晰地审査

(6)开发小组人员应当少而精

(7)承认不断改进软件工程实践必要性

11.软件工程办法学

普通把在软件生命周期全过程中使用一整套技术集合称为办法学(methodology),也称为

范型(paradigm)o

1)老式办法学(构造化办法学):

SA.SD.SRST

2)而向对彖办法学:

OOAQODOOP.OOT

S:

构造化,stnictured

OO:

而向对象,ObjectOriented

A:

分析,Analysis

D:

设讣,Design

P:

编程,Programming

T:

测试,Test

12.软件工程办法学三要素,这就是办法、工具和过程。

英中:

1)办法是完毕软件开发任务技术办法,回答“如何做”问题;

2)工具是为办法运用提供自动或半自动软件支撑环境:

3)过程规肚了完毕各项任务工作阶段、工作内容、产品、验收环节和完毕准则。

第二章软件过程

1.过程(process):

IS09000把过程左义为,把输入转化为输出一组彼此有关资源和活动。

2.软件过程(SoftwareProcess):

是为了获得高质量软件所需要完毕一系列任务框架

(Framework),它规泄了完毕各项任务工作环节。

3.软件生命周期

软件生命周期由软件泄义、软件开发、和运营维护三个时期构成,每个时期又可进一步划提成若干个阶段。

(三个时期八个阶段)

三个时期八个阶段:

三个时期:

软件圧义、软件开发、运营维护

八个阶段:

(1)问题定义⑵•可行性研究⑶•需求分析(4)•概要设计(5)•详细设计

(6).编码和单元测试(7)•综合测试(8)•软件维护

4.软件开发模型(在课本14—33页,理解一下)

1)瀑布模型(Waterfall)

2)迅速原型模型Prototype

3)增呈:

模型(IncrementalModels)

4)喷泉模型

5)螺旋模型

6)统一过程(rationalunifiedprocess,RUP)

7)敏捷过程

8)极限编程(extremeprogramming,XP)

9)能力成熟模型(capabilitymaturitymodcl.CMM)

第三章构造化分析(SA)

1.需求分析:

发现、求精、建模、规格阐明、复审过程。

发现:

获取需求,完备、对的、有效

求精:

细节

建模:

形式化描述

规格阐明:

详述

复审:

批准

2.需求分析准则

1)必要理解和表达问题信息域,依照这条准则应当建立数据模型。

2)必要泄义软件应完毕功能,这条准则规定建立功能模型。

3)必要表达作为外部事件成果软件行为,这条准则规定建立行为模型。

4)必要对描述信息、功能和行为模型进行分解,用层次方式展示细廿。

3.需求获取办法

1)访谈

正式:

事先准备好

非正式访谈:

开放,头脑风暴,情景分析

2)面向数据流自顶向下求精

3)简易应用规格阐明技术

4)迅速建立软件原型

4.分析建模

构造化分析实质上是一种创立模型活动。

通过需求分析而建立模型必要达到下述三个基本目的:

描述顾客需求。

为软件设计工作奠泄基本。

泄义一组需求,一旦开发岀软件产品之后,就可以用这组需求为原则来验收该产品。

5.模型(Model):

是为了理解事物而对事物作出一种抽象,是对事物书而上无歧义文字或图形描述.

5.1.模型是对问题简化。

5.2.要从各种角度结识事物。

6.分析模型:

数据模型(实体联系图).功能模型(数据流图)、行为模型(状态转换图)。

数据字典

状态转换图

7.需求分析成果:

软件需求规格阐明

8.实体■联系图(ER图,entity-relationshipdiagram)(P41,规定会画)

(1)数据模型重要成分:

数据对象,数据对象属性,数据对象彼此间互相连接关系数拯对象:

对软件必要理解复合信息抽象。

属性:

泄义了数据对象性质。

联系:

数据对象彼此之间互相连接方式称为联系,也称为关系。

类型:

一对一联系、一对多联系、多对多联系。

联系也可以有属性。

(2)实体-联系图符号表达:

实体

属性

联系

9.数据流图(DFD,DataFlowDiagram):

描绘信息流和数据从输入移动到输岀过程中所经受变换

(课本P43—47,要会画)

10.数据字典(DD:

DataDictionary):

是关于数据信息集合,是对数据流图中包括所有元素左义集合

(课本P49—51,要会画)

11•状态转换图(SD,StateDiagram):

通过描绘系统状态及引起系统状态转换事件,来表达系统行为。

用于建立行为模型。

状态:

是任何可以被观测到系统行为模式。

状态规怎了系统对事件响应方式

事件:

是在某个特定期刻发生事情,是引起系统做动作或(和)转换状态控制信息。

(课本P47—49)

第四章构造化设计

(五大需求)

数据

接口

过程

三型两化

(四大设计)

内存DS

外存

file

人一机接口

Process

Procedure(环节)

行为模型

三型功能模型

数据模型系统化

两化

层次化

如何设计:

必要根拯原理、原则、规则、准则

模块:

是由边界元素限左相邻程序元素序列,并且有一种整体标记符来代表它。

模块化:

就是把程序划提成可独立命攵且独立访问模块,每个模块完毕一种子功能,把这些

模块集成起来构成一种整体,可以完毕指定功能满足顾客需求。

(1)一组相邻元素

(2)一种边界

(3)一种冬字(标记符ID)

Why模块化?

1)减少复杂度

2)有助于团队分工协作

Howto模块化?

Meyer模块化5原则

1)模块可分解性(减少复杂性)

2)模块可组装性(可重用,reuse)

3)模块可理解性(易于维护)

4)模块持续性(副作用小)

5)模块保护性(屏蔽异常)

抽象(abstract):

抽出事物本质特性,而暂时不考虑它们细肖

抓重要,略次要

有效减少模块数量

逐渐求精:

为了集中精力解决重要问题而尽量推迟对问题细肖考虑。

大°小

粗细

Miller法则:

一种人在任何时候都只能把精力集中在7±2个知识块上。

全局变量

信息隐藏

局部变量

r块内:

高内聚,一种模块只做一件事

模块独立1

r参数少

块间:

低耦合,KIS(keepitsimple)[

类型简朴

构造化设汁原理:

1)模块化

2)抽象

3)信息隐藏

4)逐渐求精

启发原则:

1)改进软件构造提高模块独立性

2)模块规模应当适中(L0C〈30)LOC:

linesofcodenote>code

3)深度、宽度、扇出和扇入都应当适中(7±2原则)

4)模块作用域应当在控制域之内

5>力求减少模块接口复杂度(接口KIS)

6)设计单出口单入口模块

7)模块功能应当可以预测

设计成果描述工具:

建模工具

~软件工具

工具I建模工具

开发工具

IPO图(InputProcessOutput):

描述模块(总体)

架构表达:

C/S.B/S,层次

层次图+IPO图=HIPO图

构造图:

(P76)

Yourdon提岀构造图是进行软件构造设计另一种有力工具

「而向设计流设计办法

三种设计办法I而向数据构造设讣办法

而向对象设计办法

设计优化:

无~►有~认~优—k精

人一机界而设计问题

MICUIGUIAUIMMI

1.系统响应时间(长度、易变性)

严成式(内含,开始就设汁在软件中)

2.顾客协助办法I

嵌入式/附加式(联机文档)

1)完备性

2)选取性(menu,Fl,help)

3)如何显示协助信息

4)返回/退出(ESC―escape,按钮)

「平面

5)如何组织协助信息I层次构造(导航)

Web页(超链接)

3.出错信息解决

1)可理解性

2)建设性

3)警示性

4)视听性

5)和谐性

4.命令交互

UI设计重要性:

1)顾客评价产品根据

2)占总设UM50%以上

3)涉及到美学、人一机工程学、心理学

4)UI工程师成为一种岗位

UI设计原则:

以人为本、人性化、美、以便

f和谐

Y

美I一致

人一机界而设计过程:

顾客界面设计是一种迭代过程

建模(UML状态图)

界面设计指南(看看微软界而设计)

1)普通交互

2)信息显示

3)数搦输入

构造化办法学

SASDSPST

Ir1965

GOTO语句I1968(课本P89)

1972

如果一种程序代码块仅仅通过顺序、选取和循环这三种控制构造进行连接,并且每一种代码块只有一种入口和一种出口,则称这个程序是构造化。

1)顺序

2)选取(单路、双路、多路、多重)

3)循环(for.当型循环、直到型循环.枚举)

过程设计工具

、、

程序流程图

N-S盒图图l

PAD图IAUML活动图

鉴泄树丿

鉴定表表

伪码语言~语言

(要会画这些图,会依照伪码语言转化为上述各种图,还要掌握几种图之间转换)

数据三类逻辑构造

1)顺序2)选取

3)重复

第五章构造化实现

测试

泄义:

为了发现错误而执行程序过程

{错误~编写时产生

故障~k运营时发生

测试具备破坏性,而其他环肖都是建设性。

但是其破坏时为了更好建设,保证质量有效

途径

测试目的(GMycr)

1)左义:

测试是为了发现程序中错误而执行程序过程

2)好测试:

好测试方案是极也许发现迄今为I匕尚未发现错误测试方案

3)成功测试:

成功测试是发现了至今为止尚未发现错误测试

{目

测试方案I一组输入

一组输出(预期成果)

测试准则

1)追溯到需求:

所有测试都应当能追溯到顾客需求

2)及早筹划:

应当在测试之前相称长时间,就指定出测试筹划

3)2、8左律:

把Pareto原理应用于软件测试。

Pareto原理告诉咱们,测试发现错误

中80%很也许是由程序中20%模块导致

4)从小到大:

测试应当从“小模块”开始,并逐渐进行“大模块”测试

5)不可穷尽:

穷举测试是不也许

6)第三方(丙方)测试:

为了达到最佳测试效果,应当由独立第三方来从事测试工

所谓最佳效果,就是指最大也许性发现错误测试,这也是测试基本目的

J黑盒测试:

接口处、功能测试

测试办法I

白盒测试:

构造测试

流图P110(要会依照程序流程图转化)

体现了程序判断节点

白盒测试技术:

1)逻辑覆盖

2)途径覆盖

程序复杂度度量(PH5,要会依照流图,计算出程序复杂度)

r流图中区域数=环形复杂度

3种办法I流图中环形复杂度=流图中边数-图中节点数+2

流图中环形复杂度=图中鉴泄仔点数目+1

复杂:

指人体力和脑力受到挑战

独立途径(P115)

左义:

是指至少引入程序一种新解决语•句集合或一种新条件途径

r自顶向下

找法I从左向右

逐渐增长

黑盒测试技术(P120)

~等价类划分

Y

%界值分析

错误预测

 

自底向上

软件可靠性

{可靠性:

时间段,在规定期间段内,成功运营程序概率

可用性:

时间点,在一种时间点上,成功运营程序概率

-£MTTF:

MeanTimeToFailure,平均无端障时间

MTTR:

MeanTimeToRepair.平均维修时间

测试

 

第六章而向对象办法学导论

而向

观点、世界观、软件观

System?

1)若干部件集合

2)部件具备独立功能和边界

3)部件之间具备互相联系,这些联系构成构造

4)部件间互相作用,构成运动

对象(P151)

在研究或解决问题过程中关注人、事物、概念

00(ObjectOriented,(fil向对象)来源

学习、掌握、运用

而向对象办法学四个要点:

而向对象=对象+类+继承+通信

1)以为客观世界是由各种对象构成,任何事物都是对象,复杂对彖可以由比较简朴对象以某种方式组合而成

2)把所有对象都划提成各种对象类,每个对象类都立义了一组数据和一组办法。

3)按照子类与父类关系,把若干个对象类构成一种层次构造系统

4)对象彼此之间仅能通过传递消息互相通信

而向对象办法学长处

1)与人类习惯思维办法一致

2)稳泄性好

3)可重用性好

4)较易开发大型软件产品

5)可维护性好

而向对象某些槪念

1.对象:

是封装了数拯构造以及可以施加在这些数据构造上操作封装体,这个封装体有可以唯一标记它名字,并且向外界提供一组服务。

2.类:

就是对具备相似数据和相似操作一组相似对象左义

3.实例:

就是有某个特泄类所描述一种详细对象

4.消息:

就是规左某个对象执行在泄义它那个类中所左义某个操作规格阐明书

5.办法:

就是对象所能执行操作,也就是类中所立义服务

6.属性:

类中说眾义数据,它是对客观世界实体所具备性质抽象

7.封装:

就是把某个事物包起来,使外界不懂得该事物详细内容

&继承:

是指可以直接获取已有性质和特性,而不必重复左义她们

9.多态性:

是指子类对象可以像父类对象那样使用,同样消息既可以发送给父类也可以发送给子类对象。

10.重载:

函数重载是指在同一作用域内若干个参数特性不同函数可以使用相似函数名字

而向对象三种关系:

 

继承

构成

关联

 

对彖特点:

 

 

(1)

以数据为中心

(2)

实现了封装

(3)

本质上具备并行性

(4)

模块独立性好

 

三种模型建模工具:

对象模型:

类图

功能模型:

用例图(用况图)

动态模型:

状态图,时序图

 

(面向对象模型)

而向对象建模环肖:

系统观点

啥们

UML9种图

对象模型:

最基本、最核心、最重要

状态图:

描述了单一对象,在英生命周期内变化规律

事件CVC瞬间

状态时间段

时序图:

各种对象交互•时序图每个对象有各自相应一种状态图

3型5层(课本pl66)

r对象模型

3型I功能模型

动态模型

r自顶向下

5层I逐渐求精

啥们之序

而向对象(OOA)任务与过程

分析:

弄淸晰、弄明白软件需求,并依照需求建模

研究需求

辨认对象

I

建立模型

而向对象分析方略:

三型五层:

自顶向下、逐渐求精

五层:

主题层、类与对象层、构造层、属性层、服务层

需求陈述P167

顾客提供、体现多样

内容:

范畴、需求、假设

问题:

歧义、矛盾

对策:

甲乙共商,原型化需求

例子ATM(课本P167)

建立对象模型

”类:

名词

fakindof

<-

关系:

Lpartof

with

词法分析属性:

量词(重量、身髙.年龄人形容词

办法:

动词

候选f筛选f拟泄—优化

UC矩阵kusercustomer

建立动态模型

顺序图状态图

(多对象)(单一对象)

需求陈述

编写脚本

画顺序图

案例研究:

电梯系统(课本P186——P190)

OOA00DkOOP

(3型4图)(3型4图)

11

for需求for机器/实现

3型4图:

对象模型f类图

功能模型f用例图

OOD(面向对象设计)准则:

P192

1.模块化

2.抽象

3.信息隐藏

4.弱耦合

5.强内聚

6.可重用

启发规则:

1.设il•成果应当淸晰易懂

2.普通/特殊构造深度应恰肖

3.设计简朴类

4.使用简朴合同

5.使用简朴服务

6.把设汁变动减至最小

第9章(教师没讲)

第10章UMUP232)(自己看,一定要会画9种图)

第11章筹划

管理:

就是通过筹划、组织和控制等一系列活动,合理配备和使用各种资源,以达到既怎目的

过程。

软件项目管理:

就是通过筹划、组织、控制等一系列活动,合理配备和使用各种资源,以便在预立成本和期限内开发符合客户需要软件过程

(类)工程:

大、复杂、由众多人一起完毕

(对象)项目:

一种详细工程是项目

r

[财

预计工作疑物

(代码行)时

软件配备:

程序、文献、数据

对软件配备进行管理因素:

需求变更是不可避免

风险(risk):

#致失败因素

辨认

评估

避免

估算代码行:

J代码行LOCKLOC

估算量I

功能点FP(functionpoints)

FP技术:

(详细计算办法P253)

进度

(人员)

程序2工作疑—

(KLOCFP)(人月)

人月神话Brooks

1.劳动密集型

2・智力VS体力

工作量(课本P254)

E=f(KLOC)

E=f(FP)

尸争态单变屋模型三种办法I动态多变量模型

构造性成本模型

进度筹划:

分解,分而治之:

大事化小,小事化了

P254-P264要精读

指引软件项目进度安排基本原则:

1.划分

2.互相依赖性

3.时间分派

4.工作量确认

5.泄义责任

6.上义成果

7.宦义里程碑

工程网络图(P26——P262):

要掌握内容:

最早时刻、最迟时刻、最短途径、核心途径、核心事件

第13章控制

软件风险特点:

1.不拟定性

2.损失

软件风险分类:

1.按风险影响范畴分类:

(1)项目风险

(2)技术风险

<3)商业风险

2.按风险可预测性分类:

(1)已知风险

(2)可预测风险

<3)不可预测风险

风险因素:

性能风险、成本风险、支持风险、进度风险

(P280表13.1)

质量:

满足顾客需求限度

软件质量:

软件与明确规定地和隐含地定义需求相一致限度

质量保证很重要:

1.召回

2.市场占有

3.生命力

质量保证:

Test

文档

管理

审查、复査

规则、原则、准则

质量因素:

—哪些方而

—如何度量

3方而13因素(3方13条)(P283,图13.1)

软件质量因素定义(P284表13.3)

可XX性:

XX难易限度。

软件质量保证办法:

P(284)

1)技术复审

2)走査

3)审查

4)测试

软件配备管理

变更

版本(version)

这些管理基于软件本质特性:

演化性、构造性

软件配备发生变化因素:

1)新商业或市场调件导致产品需求或业务规则变化

2)新客户需求,规定变化信息系统产生数拯、产品提供功能或系统提供服务

3)公司改组或业务缩减,引起项目优先或软件工程队伍构造变化

4)预算或进度限制,导致对目的系统重龙义

5)发现了在软件开发过程前期阶段所出错误,必要及时改正

基线(baseline)P187

软件配备管理过程

1)标记软件配备中对象

2)版本控制

3)变化控制

4)配备审计

5)状态报告

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2