周志达软件工程复习资料.docx
- 文档编号:7288423
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:16
- 大小:301.30KB
周志达软件工程复习资料.docx
《周志达软件工程复习资料.docx》由会员分享,可在线阅读,更多相关《周志达软件工程复习资料.docx(16页珍藏版)》请在冰豆网上搜索。
周志达软件工程复习资料
绪论:
1软件的定义:
软件是能够完成预定功能和性能的可执行的计算机程序,包括使程序正常执行所需的数据,以及有关描述程序操作和使用的文档(R.S.Pressman)
2软件的特征:
软件与硬件的不同
软件开发不同于硬件设计
❑软件生产与硬件制造不同
❑软件维护不同于硬件维修
❑软件是逻辑的,而不是物理的
❑软件开发与人关系密切
❑软件开发成本大
❑软件生产是简单的拷贝
❑软件不会磨损和老化
❑软件受环境影响大
❑软件维护易产生新的问题
3出现软件危机的原因:
客观:
软件本身特点逻辑部件规模庞大、复杂度高
主观:
不正确的开发方法忽视需求分析
个人化方式:
软件开发=程序编写轻视软件维护
4北大西洋公约组织(NATO)联邦德国
第一章
1软件生存周期的主要活动
需求分析
明确需要解决的问题(从用户的视角)
建立需求模型:
功能、性能、约束、接口等
软件分析
从开发人员的视角对软件进行分析
建立分析模型:
软件的逻辑模型
软件设计
确定软件的总体结构和各部件的数据结构和操作
建立软件设计模型:
考虑实现技术和平台
编码
用程序设计语言将设计文档翻译成源程序
建立软件实现模型:
包含现有软件构件包
软件测试
发现程序中的错误、提高软件质量
单元测试、集成测试、确认测试、系统测试
运行维护
2什么是过程?
围绕软件开发所进行的一系列活动
3瀑布模型特点:
特点1阶段的顺序性和依赖性2推迟实现的观点3质量保证的观点
4快速原型模式特点:
特点1“逼真”的原型可以使用户迅速作出反馈2循环回溯和迭代:
非线性模型
3使用快速开发工具
5基本的软件模型:
增量模型(incrementalmodel)螺旋模型(spiralmodel)构件集成模型(componentintegrationmodel)
6敏捷开发应循的12条原则
⏹尽早、不断地提交有价值的软件
⏹允许改变需求,利用变化来为客户创造优势
⏹尽快、不断地提交可运行的软件
⏹在业务人员和开发人员必须天天都在一起工作
⏹以积极向上的员工为中心建立项目组,提供环境和支持,并信任他们的工作
⏹在团队内部重视面对面的交流
⏹依据可运行软件来评估项目的进展
⏹提倡可持续的开发
⏹时刻关注技术上的精益求精和好的设计,以增强敏捷能力
⏹简单是最根本的
⏹最好的构架、需求和设计出于自组织团队
⏹每隔一定时间,要反省如何才能更有效地工作,然后作相应调整
7可行性研究内容,步骤:
内容:
经济可行性技术可行性运行可行性法律可行性
1对当前系统进行调查和研究
1弄清当前系统2导出新系统逻辑模型
2导出新系统的解决方案
1设计不同的解决方案
3提出推荐的方案
1本项目的开发价值
2推荐这个方案的理由
4编写可行性认证报告
1系统概述2可行性分析3结论意见
8常见的风险子类与需要检查的内容:
风险识别1项目风险2技术风险3商业风险
风险预测1风险发生的可能性2风险发生后的后果
风险的驾驭和监控
第二章
1结构分解,结构化分析
1SA与SD的流程
1结构化分析(工具:
DFD、PSPEC)分析模型(分层DFD图)+SRS
2结构化设计(工具:
SC图)映射初始设计模型(初始SC图)
3初始设计模型(初始SC图)优化最终设计模型(最终SC图)
2结构化分析
1建立分析模型
2编写需求说明
3结构化设计
1软件设计=总体设计+详细设计
2SC图须分两步完成
2案例设计:
3面向数据流设计和面向数据设计
面向数据流:
数据流是考虑一切问题的出发点
面向数据:
以数据结构作为分析与设计的基础
4数据流图结构类型:
变换(transform)型结构事务(transaction)型结构
5SD方法的步骤:
1复审DFD图,必要时可再次进行修改或细化
2鉴别DFD图所表示的软件系统的结构特征,确定它所代表的软件结构是属于变换型还是事务型
3按照SD方法规定的一组规则,把DFD图为初始的SC图
变换映射 变换型DFD图 初始SC图
事务映射
事务型DFD图 初始SC图
4按照优化设计的指导原则改进初始的SC图,获得最终SC图
6变换映射:
1划分DFD图的边界
2建立初始SC图的框架
(1)顶层都只含一个用于控制的主模块
(2)第一层包括传入、传出和中心变换三个模块
3分解SC图的各个分支
(1)分解实质上是“映射”
7事务映射:
1在DFD图上确定边界
(1)事务中心
(2)接受部分(包括接受路径)
(3)发送部分(包括全部动作路径)
2画出SC图框架
(1)DFD图的三个部分分别映射为事务控制模块,接受模块和动作发送模块
3分解和细化接受分支和发送分支
第三章
1UML简介
1997年1月正式公布了UML1.0,1997年11月17日,OMG接纳UML1.1作为面向对象技术的标准建模语言。
2UML的图与视图
1图
(1)静态图
用例图、类图、对象图、构件图和部署图
(2)动态图
状态图、时序图、协作图和活动图
2视图
(1)用例视图
从用户的角度看到的系统应有的外部功能
(2逻辑视图
描述系统的静态结构和对象间的动态协作关系
(3)进程视图
展示系统的动态行为及其并发性
(4)构建视图
展示系统实现的结构和行为特征
(5部署视图
显示系统的实现环境和构件被部署到物理结构中的映射
3UML特点:
统一标准面向对象表达能力强大可视化
第四章
1软件需求的特性:
功能性可用性可靠性性能可支持性设计约束
2常规需求获取方法:
⏹联合分析小组
⏹用户代表、领域专家和系统分析员
⏹客户访谈
⏹充分准备,寻找共同语言
⏹循循序渐进、逐步逼近
⏹问题分析与确认
⏹多个来回
3需求建模方法
结构化需求模型
面向对象需求模型
4面向对象需求模型建模步骤
⏹画用例图
⏹写用例规约
⏹描述补充规约
⏹编写术语表
5面向对象需求模型组成:
用例模型,补充规约,术语表
6实际用例:
见附表
第五章
1面向对象分析主要任务
⏹OOA的主要任务
⏹理解用户需求
⏹全面地理解和分析用户需求
⏹明确所开发的软件系统的职责
⏹形成文件并规范地加以表述
⏹进行分析,提取类和对象,并结合分析进行建模
2结构模型
3识别和确定分析类,分析类的类型
1三种分析类
边界类<
⏹用户界面
⏹系统接口
⏹硬件接口
控制类<
⏹封装用例所特有的控制行为
实体类<
⏹系统存储的信息及其相关行为
2查找分析类
为每对参与者/用例确定一个边界类
为每个用例设置一个控制类
确定相关的各个实体(包括属性与方法
第六章
1实现源称序的文档化的内容
有意义的变量名称
适当的注释
标准的书写格式
⏹——用分层缩进的写法显示嵌套结构的层次;
⏹——在注释段的周围加上边框;
⏹——在注释段与程序段、以及不同程序段之间插入空行;
⏹——每行只写一条语句;
⏹——书写表达式时,适当使用空格或圆括号等作隔离符;
2软件测试:
动态查找程序代码中的各类错误和问题的过程。
3测试种类:
4白盒测试:
以程序结构为依据的测试方法
逻辑覆盖法
路径测试法
5测试层次:
单元(模块)测试(unittesting)综合(集成)测试(integrationtesting)
确认测试(validationtesting)系统测试(systemtesting)
6集成测试的策略与步骤
⏹自顶向下测试
⏹先广后深实施步骤
⏹先深后广实施步骤
⏹由底向上测试
⏹混合方式测试(sandwichtesting)
⏹对上层模块采取自顶向下测试
⏹对关键模块或子系统采取由底向上测试
7第七章
软件维护种类:
⏹完善性维护(perfectivemaintenance)
⏹软件在使用期间不断改善和加强产品的功能与性能
⏹完善性维护约占50-60%
⏹适应性维护(adaptivemaintenance)
⏹使软件适应运行环境的改变而进行的一类维护
⏹大约占整个维护的25%
⏹纠错性维护(correctivemaintenance)
⏹在于纠正在开发期间未能发现的遗留错误
⏹约占总维护量的20%
⏹预防性维护(preventivemaintenance)
⏹选择那些还能使用数年、目前虽能运行但不久就须作重大修改或加强的软件,进行预先的维护
第八章
1软件管理主要体现在:
费用质量人员进度等四个方面
2软件的估算模型:
静态单变量资源模型Putnam资源模型COCOMO模型
3资源估算模型:
1
⏹资源=c1x(估计的软件特征)c2
⏹资源
⏹开发工作量(E)、开发时间(T)或开发人数(P)
⏹估计的软件特征
⏹源程序长度(L)或软件工作量(E)
⏹c1,c2
⏹依赖于开发环境和软件应用领域的常数
2
⏹L=cK1/3T4/3或K=L3/(c3T4)
⏹L(行):
源程序长度
⏹T(年):
开发时间
⏹K(人-年):
全生存期工作量
⏹c:
与开发环境有关的常数
3
COnstructiveCOstMOdel
⏹以静态单变量模型为基础
⏹将软件分类:
⏹组织
⏹半独立
⏹嵌入
⏹增加工作量调节因子
4软件成本估算(见附表)
5两条重要的定律:
1员-时间权衡定律
E=常数/(T或td)4
2ooks定律
⏹向一个已经延晚的项目追加开发人员,可能使它完成得更晚
6人员的组织:
⏹层次型组织结构
⏹软件经理项目经理开发小组
⏹民主开发小组
⏹无我程序设计
⏹主程序员小组
⏹一元化领导
⏹主程序员分配工作
⏹主程序员决定重大问题
7安排进度计划的方法:
⏹计划评审技术
⏹建立PERT图
⏹找出关键路径
⏹标出最迟开始时间
⏹PERT图的使用
⏹Gannt图
第九章:
1cmm的含义:
软件过程能力成熟度模型的简称
2cmm模型
3执行ISO9000的五个步骤
⏹知识准备立法宣传执行监督改进
针对设计题:
设计测试用例:
⏹等价分类法(equivalencepartitioning)
⏹把输入数据的可能值划分为若干等价类
⏹有效等价类和无效等价类
⏹每一无效等价类至少需要一个测试用例
⏹例子
某工厂公开招工,规定报名者年龄应在16周岁至35周岁之间(到2008年3月止)即出生年月不在上述范围内,将拒绝接受,并显示“年龄不合格”等出错信息。
针对软件结构框图:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 周志达 软件工程 复习资料