收藏 分销(赏)

软件工程概念.doc

上传人:丰**** 文档编号:9529434 上传时间:2025-03-29 格式:DOC 页数:9 大小:46.04KB 下载积分:6 金币
下载 相关 举报
软件工程概念.doc_第1页
第1页 / 共9页
软件工程概念.doc_第2页
第2页 / 共9页


点击查看更多>>
资源描述
软件工程概念 第一章: 软件定义 1.软件( Software): 计算机系统中与硬件相互依存另一部分, 它是包含程序(Program) , 数据(Data)及其相关文档( Document)完整集合。 2.软件特征: 逻辑复杂, 开发复杂, 成本高, 风险大, 维护困难。 3.按软件功效分类: 系统软件, 支撑软件, 应用软件。 系统软件: 操作系统, 数据库管理系统, 设备驱动程序, 通信处理程序等。 支撑软件: 文本编辑程序, 文件格式化程序, 程序库系统等 应用软件: 商业数据处理软件, 工程与科学计算软件, 计算机辅助设计/制造软件, 系统仿真软件, 智能嵌入软件, 医疗、 制药软件, 事务管理、 办公自动化软件。 按软件规模分类: 微型, 小型, 中型, 大型, 甚大型, 极大型。 按软件工作方法分: 实时处理软件, 分时软件, 交互式软件, 批处理软件 4.软件危机: 是指在计算机软件开发和维护过程中所碰到一系列严重问题 5.软件危机关键是两个问题: 1.怎样开发软件, 以满足对软件日益增加需求?2.怎样维护数量不停膨胀已经有软件? 5.软件危机表现: 1.成本高, 开发成本估量不正确2.软件质量不高、 可靠性差3.进度难以控制4.维护非常困难5.用户不满意6. 因为软件质量问题造成失败软件项目非常多。 6.产生软件危机原因: 1.与软件本身特点相关 2.与软件开发与维护方法不正确相关. 软件工程学目: 以较低成本研制含有较高质量软件 软件工程技术两个显著特点: 1.强调规范化2. 强调文档化 软件工程基础原理(7条): 1.用分阶段生命周期计划严格管理2.坚持进行阶段评审3.实严格产品控制4.采取现代程序设计技术5.结果应能清楚地审查6.开发小组人员应该少而精7.认可不停改善软件工程实践必需性 8.软件工程方法学包含3个要素: 方法、 工具和过程 9.软件生命周期: 软件定义(问题定义, 可行性研究, 需求分析), 软件开发( 总体设计, 具体设计, 编码和单元测试, 集成测试), 运行维护 ( 持久满足用户需求) 10.软件过程模型: 瀑布模型, 快速原型模型, 增量模型 , 螺旋模型, 喷泉模型。 11.软件过程模型RUP: 初始阶段, 细化阶段, 结构阶段, 移交阶段 第二章: 可行性研究任务 1.可行性研究五个方案: 技术可行性, 经济可行性, 操作可行性, 法律可行性, 社会效益 2.可行性研究过程: 1.复查系统规模与目标、 2.研究现在系统、 3. 导出新系统高层逻辑模型、 4. 深入定义问题、 5. 导出和评价供选择解法、 6. 推荐行动方针、 7. 草拟开发计划、 8.书写文档提交审查 3.系统步骤图: 用来描述物理系统工具。 4.系统步骤图表示: 是数据在系统各部件之间流动情况, 而不是对数据进行加工处理控制过程。即: 系统步骤图≠程序步骤图。 5.系统步骤图基础思想: 用图形符号以黑盒子形式描绘组成系统每个部件 6.系统步骤图元素: 处理, 输入输出, 连接, 换页连接, 数据流。 7.数据流图: 用来描述逻辑系统工具。 数据流图(DFD)是一个图形化技术, 它描绘信息流和数据从输入移动到输出过程中所经受变换, 即数据流图描绘数据在软件中流动和被处理逻辑过程。 8.数据流图四种基础符号: 数据加工/处理/变换, 数据源点或终点 (外部实体), 数据存放, 数据流。 9.数据字典组成: 数据流, 数据流分量(数据元素), 数据存放, 处理。 10.数据元素: 次序, 选择, 反复, 可选。 第三章: 需求分析 1.需求分析: 软件定义时期最终一个阶段, 2.需求分析基础任务: 不是确定系统怎样完成它工作, 而是确定系统必需完成哪些工作, 也就是对目标系统提出完整、 正确、 清楚、 具体要求。 3.软件需求组成: 业务需求, 用户需求, 系统需求。 4.需求分析方法: 面向数据流结构化分析方法 (SA), 面向对象分析方法 (OOA) 等 5.逻辑模型: 数据流图(DFD), 数据字典(DD), 实体-关系图(ERD), 状态转换图(STD) 6.物理模型: 系统步骤图, 7.需求分析基础思想:“自顶向下, 逐步求精”, 抽象和分解 8.需求分析;功效模型—数据流图, 数据模型—实体-关系图, 行为模型—状态转换图 9.实体-关系图(ERD): 描述数据对象及数据对象之间关系 10.数据流图(DFD): 描述数据在系统中怎样被传送或变换, 以及描述怎样对数据流进行变换功效(子功效) 11.状态转换图(STD): 描述系统对外部事件怎样响应, 怎样动作 模型关键是数据字典 12.实体-联络图(ER)组成: :数据对象(实体)、 数据对象属性及数据对象相互间相互连接关系。 联络: 一对一联络, 一对多联络, 多对多联络。 通常见矩形框代表实体; 用连接相关实体菱形框表示关系; 用椭圆形或圆角矩形表示实体(或关系)属性; 并用直线把实体(或关系)与其属性连接起来。 13.数据规范化目是: 1.消除数据冗余, 即消除表格中数据反复; 2.消除多义性, 使关系中属性含义清楚、 单一; 3.使关系“概念”单一化, 让每个数据项只是一个简单数或字符串, 而不是一个组项或反复组; 4.方便操作。使数据插入、 删除与修改操作可行并方便; 5.使关系模式更灵活, 易于实现靠近自然语言查询方法。 14.状态转换图(简称为状态图): 经过描绘系统状态及引发系统状态转换事件, 来表示系统行为。另外, 状态图还指明了作为特定事件结果, 系统将做哪些动作(比如, 处理数据)。 15.状态: 初态: 一个, 终态: 0或多个, 中间状态 16. 验证软件需求: 一致性, 完整性, 现实性, 有效性。 第五章: 总体设计 1.总体设计(概要设计): 将软件需求转化为数据结构和软件系统结构 2.数据库设计包含三个步骤: 模式设计, 子模式设计, 存放模式设计。 3.软件设计原理: 模块化, 抽象, 逐步求精, 信息隐藏与信息局部化, 模块独立 4.模块: 是由边界元素限定相邻程序元素(比如, 数听说明, 可实施语句)序列, 而且有一个总体标识符代表它。C、 C++和Java语言中 {...} 对过程、 函数、 子程序和宏等面向对象方法学中对象是模块, 对象内方法也是模块 模块化是好软件设计一个基础准则 5.模块独立含义: 模块完成独立功效, 符合信息隐藏和信息局部化标准, 模块间关连和依靠程度尽可能小。 6.独立性度量: 耦合、 内聚。 7.耦合是对一个软件结构内不一样模块之间互连程度度量。 8.耦合强弱取决于模块间接口复杂程度, 进入或访问一个模块点以及经过接口数据 9.模块间耦合程度强烈影响系统可了解性、 可测试性、 可靠性和可维护性。 耦合性越高, 模块独立性越弱 10.耦合强度依靠原因: 一模块对另一模块引用 一模块向另一模块传输数据量 一模块施加到另一模块控制数量 模块间接口复杂程度 11.耦合性由强到弱排列为: 内容耦合, 公共耦合, 特征耦合, 控制耦合, 数据耦合。 12.标准: 尽可能使用数据耦合, 少用控制耦合, 限制公共耦合范围, 完全不用内容耦合。 13.内聚 (Cohesion): 标志一个模块内各元素相互结合紧密程度。 14.内聚有七种, 由弱到强分别为: 偶然内聚->逻辑内聚->时间内聚->过程内聚->通信内聚->次序内聚->功效内聚。 15.深度 = 分层层数。过大表示分工过细。 16.宽度 = 同一层上模块数最大值。过大表示系统复杂度大。 17.扇出 = 一个模块直接调用/控制模块数。 18.扇入 = 直接调用该模块模块数。 19控制域: 这个模块本身以及全部直接或间接隶属于它模块集合。 20.作用域: 受该模块中一个判定所影响全部模块集合。 面向数据流设计方法: 变换流, 事务流。 第六章: 具体设计 1.具体设计: 描述系统每个程序, 包含每个模块和子程序名称、 标识符、 层次结构系 2.对程序功效、 性能、 输入、 输出、 算法、 步骤、 接口等进行描述 3.程序控制结构: 次序、 选择, 循环, (多分支, DO While ,DO Until)五种基础控制结构。 4.程序步骤图又称为程序框图: 是对一个模块内部实施过程用图形来描述。 5.盒图:只能从上边进入, 从下边走出, 没有其她入口和出口, 6.盒图基础符号:次序,选择型(If-then-else),多分支选择型(CASE型),DO-WHILE循环(先测试循环), DO-UNTIL循环(后测试循环). 调用子程序. 7.PAD图:PAD图中竖线总条数就是程序中层次数 8.PAD图基础符号:次序,选择,循环,Case分支,语句标号,定义. 9.判定表:左上部列出全部条件,左下部是全部可能操作,右上部是多种条件组合矩阵,右下部是每种条件组合对应动作 第七章: 软件实现 1.实现: 编码和测试 2编码: 把软件设计结果翻译成用某种程序设计语言书写程序 3.程序设计语言: 机器语言, 汇编语言, 高级语言 4.程序内部文档包含: 合适标识符, 合适注释, 程序视觉组织 。 5.符号名即标识符;包含模块名、 变量名、 常量名、 标号名、 子程序名、 数据区名以及缓冲区名等。 6.程序注释:程序员与以后程序读者之间通信关键手段 7.注释分为序言性注释和功效性注释. 8.软件测试是确保软件质量关键步骤, 是对软件规格说明、 设计和编码最终复审, 其工件量约占总工作量40%以上(对于人命关天情况, 测试相当于其它部分总成本3-5倍)。 8.软件测试方法:静态测试方法,,动态测试方法 9.静态测试方法:人工测试方法,计算机辅助静态分析方法 10.动态测试方法:白盒测试方法,黑盒测试方法. 11.黑盒测试法又称功效测试:把程序看作一个黑盒子, 完全不考虑程序内部结构和处理过程 12.白盒测试法又称为结构测试: 把程序看成装在一个透明白盒子, 测试者完全知道程序结构和处理算法 13.软件测试步骤: 1.模块测试又称(单元测试), 2.子系统测试, 3.系统测试称为集成测试, 4.验收测试也称为确定测试, 5.平行运行 14.单元测试关键使用白盒测试技术。 15.单元测试关键: 模块接口, 局部数据结构 , 关键实施通路, 犯错处理通路, 边界条件。 16.集成测试方法: 非渐增式测试方法, 渐增式测试方法 17.渐增式测试策略: 可使用深度优先策略, 或宽度优先策略 18.回归测试: 是指重新实施已经做过测试某个子集, 以确保修改改变没有带来非预期副作用。 19.白盒测试技术: 逻辑覆盖 20.逻辑覆盖是以程序内部逻辑结构为基础设计测试用例技术。 21.逻辑覆盖: 语句覆盖, 判定覆盖 , 条件覆盖, 判定-条件覆盖, 条件组合覆盖, 21.路径覆盖, 点覆盖= 语句覆盖, 边覆盖=判定覆盖, 路径覆盖 与条件组合覆盖。 22.语句覆盖: 每条语句最少实施一次 23.判定覆盖 : 每一判定每个分支最少实施一次 24.条件覆盖: 每一判定中每个条件, 分别按“真”、 “假”最少各实施一次 25.判定-条件覆盖: 同时满足判定覆盖和条件覆盖要求 26.条件组合覆盖: 求出判定中全部条件多种可能组合值, 每一可能条件组合最少实施一次。 27.路径覆盖: 每条可能路径都最少实施一次, 若图中有环, 则每个环最少经过一次 28.黑盒测试着重测试软件功效。 29.黑盒测试技术: 等价类划分, 边界值分析法, 错误推测法 30.等价类: 有效等价类和无效等价类 31.边界值分析法, 应该选择刚好等于、 稍小于和稍大于等价类边界值数据作为测试数据 32.调试路径—调试策略: 蛮干法, 回溯法, 原因排除法-- 33.原因排除法-包含: 对分查找法、 归纳法、 演绎法 34.软件可靠性: 可靠性, 可用性, 正确性 35.可靠性和可用性区分是: 可靠性是在0到t时间间隔内, 系统没有失效概率。而可用性是在t时刻, 系统正常运行概率。 第九章: 软件维护 1.软件维护定义: 在软件已经交付使用以后, 为了更正错误或满足新需要而修改软件过程。 2.软件维护原因: 在运行中发觉软件错误和设计缺点, 这些错误和缺点在测试阶段未能发觉。 3.软件维护类型: 更正性维护, 适应性维护, 完善性维护, 预防性维护 4.软件维护内容: 程序维护, 数据维护, 硬件维护 5.软件维护特点: 结构化维护与非结构化, 维护代价分(有形代价和无形代价), 维护问题。 6.软件维护过程: 建立维护组织, 维护汇报, 维护事件流, 保留维护统计, 评价维护活动, 7.软件可维护性: 1.决定软件可维护性原因(可了解性, 可测试性, 可修改性, 可移植性, 可重用性)2.文档 —— 影响可维护性决定原因, 比代码更关键。3.复审 2、 某银行计算机储蓄系统工作步骤大致以下: 储户填写存款单或取款单由业务员键入系统, 假如是存款则系统统计存款人姓名、 住址(或电话号码)、 身份证号码、 存款类型、 存款日期、 到期日期、 利率及密码(可选)等信息, 并印出存款单给储户; 假如是取款而且存款时留有密码, 则系统首先查对储户密码, 若密码正确或存款时未留密码, 则系统计算利息并印出利息清单给储户。请用数据流图描绘本系统功效。并画出系统E-R图。 DFD图: ER图: 3、 试用N-S图和PAD表示下面程序步骤图, 并计算它们McCabe复杂性度量.(基础路径测试法 环复杂度)。(10%) 解答:
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服