软件工程导论文档格式.docx
《软件工程导论文档格式.docx》由会员分享,可在线阅读,更多相关《软件工程导论文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
8.软件工程的本质特性:
(1)软件工程关注于大型程序的构造。
(2)软件工程的中心课题是控制复杂性。
(3)软件经常变化。
(4)开发软件的效率非常重要。
(5)和谐地合作是开发软件的关键。
(6)软件必须有效地支持它的用户。
(7)在软件工程领域中通常由具有一种文化背景的人替具有另一种文化背景的人制造产品。
9.软件工程的基本原理:
(1)用分阶段的生命周期严格管理。
(2)坚持进行阶段评审。
(3)实行严格的产品控制。
(4)采用现代程序设计技术。
(5)结果应能清楚地审查。
(6)开发小组的人员应该少而精。
(7)承认不断改进软件工程实践的必要性。
10.软件的生命周期由软件定义、软件开发、运行维护3个时期组成。
(1)定义时期:
问题定义、可行性研究、需求分析。
(2)开发时期:
总体设计、详细设计、编码和单元测试、综合测试。
(3)维护时期:
软件维护。
第二章
蒋力政20091218
1)应该从哪些方面进行可行性研究?
1.技术可行性
2.经济可行性
3.操作可行性
2)可行性研究的过程:
1.复查系统规模和目标
2.研究目前正在使用的系统
3.导出新系统的高层逻辑模型
4.进一步第一问题
5.导出和评价供选择的解法
6.推荐行动方针
7.草拟开发计划
8.书写文档提交审查
3)系统流程图是概括地描绘物理系统的传统工具.它的基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件.系统流程图表达的是在数据在系统各部件之间流动的情况,而不是对数据进行加工处理和控制过程,因此尽管系统流程图的某些符号和程序流程图的符号形式相同,但是它却是物理数据流图而不是程序流程图.
4)数据流图是一种图形化技术,它描绘的是信息流和数据流从输入移动到输出过程中所经受的变换.在数据流图中没有具体的物理部件它只是描绘数据在软件中流动和被处理的逻辑过程.
(1)数据流图(DFD):
1、用来描述软件系统的高级逻辑。
2、描述系统的功能集合。
3、描述系统的边界。
4、描述系统的处理过程。
(2)分层的依据:
7±
2原则。
5)为数据流命名:
1.名字应代表整个数据流的内容,而不是仅仅反映它的某些部分.
2.不要使用空洞的,缺乏具体含义的名字.
3.如果在为某个数据流起名字时遇到了困难,则可能是因为对数据流图分解不恰当造成,应该试试重新分解,看是否能克服这个困难.
6)用途:
1.画数据流图的基本目的是利用它作为交流信息的工具。
2.数据流图的另一个主要用途是作为分析和设计的工具
7)数据字典的内容:
1.数据流
2.数据流分量
3.数据存储
4.处理
第3章
马宝军20091227
1.需求分析的结构化分析方法遵守的准则(4条)?
答:
(1)必须理解并描述问题的信息域,根据这条准则应该建立数据模型。
(2)必须定义软件应完成的功能,这条准则要求建立功能模型。
(3)必须描述作为外部事件结果的软件行为,这条准则要求建立行为模型。
(4)必须对描述信息,功能和行为的模型经行分解,用层次的方法展示细节。
2,,确定需求分析对系统的综合要求
1,功能需求2,性能需求3,可靠性和可用性的需求4,出错处理的要求5,接口需求
6,约束7,逆向需求8,将来可能提出的要求
3,状态转换图如把E-R图转换为类的对象图
4,分析建模模型的概念:
为了理解事物而对事物作出的一种抽象,是对事物的一种无歧义的书面描述,通常是由一组图形符号和组织这些符号的规则组成。
第五章
马宝军20091227
1,用图形表示结构化分析建模和结构化设计建模只之间的关系并解释它?
左图为结构化分析建模右图为结构化设计建模
SID:
形式模型ERD数据模型DFD功能模型DD数据字典
DFD~架构ER~数据SID~架构DD~数据总体设计接口和结构(架构)
2,模块和模块化的概念?
答:
模块是由边界元素限定的相邻程序元素的学列,而且有一个总体标识符代表它。
模块化是吧程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。
3,逐步求精的概念?
答,为了能集中精力解决主要问题而尽量推迟对问题细节的考虑。
4,用模块间耦合程度的强弱排序?
5,,用模块间内聚程度的高低排序?
6,结构化设计的启发规则(7条)?
答,1,改进软件结构提高模块独立性。
2.模块规模应该适中。
3深度,宽度,扇出和扇入都应适当。
4,模块的作用域应该在控制域之内。
5,力争降低模块接口的复杂程度。
6,设计单入单出的模块。
7,模块功能应该可以预测。
第六章详细设计
吴抒敖20091241
P142.7
设交易金额为W,每股售价为P,股数为N,基本手续费为S,手续费为M
1判定表
W<
1000
T
1000<
10000
W>
S=8.4%W
S=5%W+34
S=4%W+134
P<
14
14<
25
P>
NMod100=0
5%S
9%S
2%S
6%S
1%S
4%S
2判定树
P142.8
流程图:
流图:
环形复杂度V=6
独立路径:
1->
10->
11->
13
第七章实现
测试
1.测试的目标和定义
a)测试是为了发现程序中的错误而执行程序的过程。
b)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案
c)成功的测试是发现了至今尚未发现的错误的测试
2.测试的准则
a)所有的测试都应该呢追溯到用户的需求
b)应该远在测试之前就制定出测试计划
c)把Pareto原理(二八原理)应用到软件测试中。
d)应该从“小规模”测试开始,并逐步进行“大规模”测试
e)穷举测试是不可能的
f)为了达到最佳的测试效果,应该由独立的第三方从事测试工作
3.测试步骤:
a)模块测试
b)子系统测试
c)系统测试
d)验收测试
e)平行运行
4.逻辑覆盖
a)语句覆盖:
选择足够多得测试数据,使被测程序中每个语句至少执行一次
b)判定覆盖(逻辑表达式):
不仅每个语句必须至少执行一次,而且每个判定的每种可能结果都应该至少执行一次,也就是每个判定的每个分支都至少执行一次。
c)条件覆盖(关系表达式):
不仅每个语句必须至少执行一次,而且使判定表达式中的每个条件都取到各种可能的结果。
5.可靠性定义:
软件可靠性是程序在给定的时间间隔内,按照规格说明书的规定成功地运行的概率
第八章
王龙
1.软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程
2.有四种维护:
改正性维护,适应性维护,完善性维护,预防性维护
3.维护的无形代价?
维护的问题?
维护的无形代价:
(1)因为可用的资源必须工维护任务使用,以致耽误甚至丧失了开发的良机
(2)当看起来合理的有关改错或修改的要求不能及时满足时将引起用户不满
(3)由于维护时的改动,在软件中引入了潜伏的错误,从而降低了软件的质量
(4)当必须把软件工程师调去从事维护工作时,将在开发过程中造成混乱
维护的问题:
(1)理解别人写的程序通常非常困难,而且困难的程度随着软件配置成分的减少而巡视增加
(2)需要维护的软件往往没有合格的文档,或者文档的资料显著不足
(3)当要求对软件进行维护时,不能指望由开发人员非人们仔细说明软件
(4)绝大多数软件在设计时没有考虑将来的修改
4.决定软件可维护性的因素
(1)可理解性
(2)可测试性
(3)可修改性
(4)可移植性
(5)可重用性
第九章
候继文20091215
面向对象方法学的要点:
(1)认为客观世界是由各种对象组成的,任何事物都是对象,复杂的而对象可以由比较简单的对象以某种方式组合而成。
(2)把所有对象都划分成各种对象类(简称为类,class),每个对象类都定义了一组数据和一组方法。
(3)按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个对象类组成一个层次结构的系统(也成为类等级)。
(4)对象彼此之间仅能通过传递消息互相联系。
面向对象方法学的优点:
(1)与人类习惯的思维方法一致。
(2)稳定性好。
(3)可重用性好。
(4)较易开发大型软件产品。
(5)可维护性好。
对象的特点:
(1)以数据为中心。
(2)对象是主动的。
(3)实现了数据封装。
(4)本质上具有并行性。
(5)模块独立性好。
第十章
曹亚欣20091208
3个子模型与5个层次
对象建模包含系统的3个要素:
(1)静态结构(对象模型):
(对象模型通常由5个层次组成)
1.主题层
2.类与对象层
3.结构层
4.属性层
5.服务层
(2)交互次序(动态模型)
(3)数据交换(功能模型)
第十一章
王誉维20091238
面向对象设计的准则:
(1)模块化
(2)抽象
(3)信息隐藏
(4)弱耦合
(5)强耦合
(6)可重用
启发规则:
(1)设计结果应该清晰易懂
(2)一般——特殊结构的深度应适当
(3)设计简单的类
(4)使用简单的协议
(5)使用简单的服务
(6)把设计变动减至最小
第十三章
管理的定义:
所谓管理就是通过计划、组织和控制等一系列活动,合理地配置和使用各种资源,以达到既定目标的过程。
计算程序规模的估计值:
程序的最小规模(a)、最大规模(b)、和最可能规模(m),分别算出这3钟规模的平均值a~,b~和m~之后,再用下列式子计算程序规模的估计值:
L=a~+4m~+b~/6
工程网络:
工程网络是制定进度计划时另一种常用的图形工具,它能描绘任务分解情况以及每项作业的开始时间和结束时间,此外,它还显式地描绘各个作业彼此间的依赖关系。
工程网络是系统分析和系统设计的强有力工具。