《庄子导论》讲稿[5篇](三)

上传人:yi****21 文档编号:220242687 上传时间:2023-06-29 格式:DOC 页数:16 大小:26.50KB
返回 下载 相关 举报
《庄子导论》讲稿[5篇](三)_第1页
第1页 / 共16页
《庄子导论》讲稿[5篇](三)_第2页
第2页 / 共16页
《庄子导论》讲稿[5篇](三)_第3页
第3页 / 共16页
点击查看更多>>
资源描述
庄子导论讲稿5篇 软件工程导论讲稿 主讲教师:杨怀洲邮箱:hzyang 电话:13228056925 第1章软件工程学概述 1.1软件危机 1.1.1软件危机的介绍1.1.2产生软件危机的原因 图1.1引入同一变动付出的代价随时间变化的趋势 1.1.3消除软件危机的途径 1.2软件工程 1.2.1软件工程的介绍 1.软件工程关注于大型程序的构造2.软件工程的中心课题是控制复杂性3.软件经常变化 4.开发软件的效率非常重要5.和谐地合作是开发软件的关键6.软件必须有效地支持它的用户 7.在软件工程领域中通常由具有一种文化背景的人替具有另一种文化背景的人创造产品 1.2.2软件工程的基本原理 1.用分阶段的生命周期计划严格管理2.坚持进行阶段评审3.实行严格的产品控制4.采用现代程序设计技术5.结果应能清楚地审查 6.开发小组的人员应该少而精 7.承认不断改进软件工程实践的必要性 1.2.3软件工程方法学 1.传统方法学2.面向对象方法学 1.3软件生命周期 1.问题定义2.可行性研究3.需求分析4.总体设计5.详细设计 6.编码和单元测试7.综合测试8.软件维护 1.4软件过程 1.4.1瀑布模型 图1.2传统的瀑布模型 1.阶段间具有顺序性和依赖性2.推迟实现的观点3.质量保证的观点 图1.3实际的瀑布模型 1.4.2快速原型模型 图1.4快速原型模型1.4.3增量模型 图1.5增量模型 图1.6风险更大的增量模型 1.4.4螺旋模型 图1.7简化的螺旋模型 图1.8完整的螺旋模型 1.4.5喷泉模型 图1.9喷泉模型1.4.6rational统一过程 1.最佳实践 2.rup软件开发生命周期 图1.10rup软件开发生命周期 1.4.7敏捷过程与极限编程 1.敏捷过程2.极限编程 图1.11xp项目的整体开发过程 图1.12xp迭代开发过程 1.4.8微软过程 1.微软过程准则2.微软软件生命周期 图1.13微软软件生命周期阶段划分和主要里程碑 3.微软过程模型 图1.14微软过程的生命周期模型 第2章可行性研究 2.1可行性研究的任务2.2可行性研究过程 1.复查系统规模和目标2.研究目前正在使用的系统3.导出新系统的高层逻辑模型4.进一步定义问题 5.导出和评价供选择的解法6.推荐行动方针7.草拟开发计划8.书写文档提交审查 2.3系统流程图 2.3.1符号2.3.2例子 图2.1基本符号 图2.2系统符号 图2.3库存清单系统的系统流程图2.3.3分层 2.4数据流图 2.4.1符号 图2.4数据流图的符号2.4.2例子 图2.5定货系统的基本系统模型 图2.6定货系统的功能级数据流图 图2.7把处理事务的功能进一步分解后的数据流图2.4.3命名 1.为数据流(或数据存储)命名2.为处理命名 2.4.4用途 图2.8这种划分自动化边界的方法暗示以 图2.9另一种划分自动化边界的方法建议2.5数据字典 2.5.1数据字典的内容 2.5.2定义数据的方法2.5.3数据字典的用途 2.5.4数据字典的实现 2.6成本/效益分析 2.6.1成本估计 1.代码行技术2.任务分解技术 3.自动估计成本技术 2.6.2成本/效益分析的方法 1.货币的时间价值 2.投资回收期3.纯收入4.投资回收率 第3章需求分析 3.1需求分析的任务 3.1.1确定对系统的综合要求 1.功能需求2.性能需求 3.可靠性和可用性需求4.出错处理需求5.接口需求6.约束7.逆向需求 8.将来可能提出的要求 3.1.2分析系统的数据要求3.1.3导出系统的逻辑模型3.1.4修正系统开发计划 3.2与用户沟通获取需求的方法 3.2.1访谈 3.2.2面向数据流自顶向下求精 图3.1面向数据流自顶向下求精过程3.2.3简易的应用规格说明技术3.2.4快速建立软件原型 3.3分析建模与规格说明 3.3.1分析建模3.3.2软件需求规格说明 3.4实体联系图 3.4.1数据对象3.4.2属性3.4.3联系 图3.2某校教学管理er图3.4.4实体联系图的符号 3.5数据规范化 3.6状态转换图 3.6.1状态 3.6.2事件 3.6.3符号 图3.3状态图中使用的主要符号 3.6.4例子 图3.4电话系统的状态图3.7其他图形工具 3.7.1层次方框图 图3.5层次方框图的一个例子 3.7.2warnier图 图3.6warnier图的一个例子 3.7.3ipo图 图3.7ipo图的一个例子 图3.8改进的ipo图的形式 3.8验证软件需求 3.8.1从哪些方面验证软件需求的正确性3.8.2验证软件需求的方法 1.验证需求的一致性2.验证需求的现实性 3.验证需求的完整性和有效性 3.8.3用于需求分析的软件工具第4章形式化说明技术 4.1概述 4.1.1非形式化方法的缺点4.1.2形式化方法的优点4.1.3应用形式化方法的准则 4.2有穷状态机 4.2.1概念 图4.1保险箱的状态转换图 4.2.2例子 图4.2电梯按钮的状态转换图 图4.3楼层按钮的状态转换图 图4.4电梯的状态转换图 4.2.3评价 4.3petri网 4.3.1概念 图4.5petri网的组成 图4.6带标记的petri网 4.3.2例子 1.电梯按钮 2.楼层按钮 图4.7图4.6的petri网在转换t1被激发后的情况 图4.8图4.7的petri网在转换t2被激发后的情况 图4.9含禁止线的petri网 图4.10petri网表示的电梯按钮 4.4z语言4.4.1简介 1.给定的集合2.状态定义 3.初始状态4.操作 图4.11petri网表示楼层按钮 图4.12z格s的格式 图4.13z格button_state 图4.14操作push_button的z规格说明 图4.15操作floor_arrival的z规格说明 4.4.2评价 第5章总体设计 5.1设计过程 1.设想供选择的方案2.选取合理的方案3.推荐最佳方案4.功能分解5.设计软件结构6.设计数据库7.制定测试计划8.书写文档9.审查和复审 5.2设计原理 5.2.1模块化 图5.1模块化和软件成本 5.2.2抽象5.2.3逐步求精5.2.4信息隐藏和局部化5.2.5模块独立 1.耦合2.内聚 5.3启发规则 1.改进软件结构提高模块独立性2.模块规模应该适中 3.深度、宽度、扇出和扇入都应适当4.模块的作用域应该在控制域之内 图5.2模块的作用域和控制域 5.力争降低模块接口的复杂程度6.设计单入口单出口的模块7.模块功能应该可以预测 5.4描绘软件结构的图形工具 5.4.1层次图和hipo图 图5.3正文加工系统的层次图 图5.4带编号的层次图(h图)5.4.2结构图 图5.5结构图的例子产生最佳解的一般结构 图5.6判定为真时调用a,为假时调用b 图5.7模块m循环调用模块a、b、c5.5面向数据流的设计方法 5.5.1概念 1.变换流2.事务流 3.设计过程 图5.8变换流 图5.9事务流 图5.10面向数据流方法的设计过程 5.5.2变换分析 1.例子2.设计步骤 图5.11数字仪表板系统的数据流图 图5.12具有边界的数据流图 图5.13第一级分解的方法 图5.14数字仪表板系统的第一级分解 图5.15第二级分解的方法 图5.16未经精化的输入结构 图5.17未经精化的变换结构 图5.18未经精化的输出结构 图5.19精化后的数字仪表板系统的软件结构 5.5.3事务分析 图5.20事务分析的映射方法 5.5.4设计优化 第6章详细设计 6.1结构程序设计 图6.13种基本的控制结构 图6.2其他常用的控制结构 6.2人机界面设计 6.2.1设计问题 1.系统响应时间2.用户帮助设施3.出错信息处理4.命令交互6.2.2设计过程6.2.3人机界面设计指南 1.一般交互指南2.信息显示指南3.数据输入指南 6.3过程设计的工具 6.3.1程序流程图6.3.2盒图 图6.3程序流程图中使用的符号 图6.4盒图的基本符号 6.3.3pad图 图6.5pad图的基本符号 图6.6使用pad图提供的定义功能来逐步求精的例子6.3.4判定表 6.3.5判定树6.3.6过程设计语言 图6.7用判定树表示计算行李费的算法6.4面向数据结构的设计方法 6.4.1jackson图 1.顺序结构2.选择结构 图6.8a由b、c、d3个元素顺序组成 图6.9根据条件a是b或c或d中的某一个 3.重复结构 图6.10a由b出现n次(n0)组成 6.4.2改进的jackson图 图6.11改进的jackson图6.4.3jackson方法 图6.12表示输入输出数据结构的jackson图 图6.13描绘统计空格程序结构的jackson图 图6.14把操作和条件分配到程序结构图的适当位置 6.5程序复杂程度的定量度量 6.5.1mccabe方法 1.流图 图6.15把程序流程图映射成流图 图6.16由pdl翻译成的流图 图6.17由包含复合条件的pdl映射成的流图 2.计算环形复杂度的方法3.环形复杂度的用途 6.5.2halstead方法 6.6小结 第7章实现 7.1编码 7.1.1选择程序设计语言7.1.2编码风格 1.程序内部的文档2.数据说明3.语句构造4.输入输出5.效率 7.2软件测试基础 7.2.1软件测试的目标7.2.2软件测试准则7.2.3测试方法7.2.4测试步骤 1.模块测试2.子系统测试3.系统测试4.验收测试5.平行运行7.2.5测试阶段的信息流 图7.1测试阶段的信息流 7.3单元测试 7.3.1测试重点 1.模块接口2.局部数据结构3.重要的执行通路4.出错处理通路5.边界条件 7.3.2代码审查7.3.3计算机测试 图7.2正文加工系统的层次图7.4集成测试 7.4.1自顶向下集成 图7.3自顶向下结合 7.4.2自底向上集成 图7.4自底向上结合7.4.3不同集成测试策略的比较7.4.4回归测试 7.5确认测试 7.5.1确认测试的范围7.5.2软件配置复查7.5.3alpha和beta测试 7.6白盒测试技术 7.6.1逻辑覆盖 1.语句覆盖 图7.5被测试模块的流程图 2.判定覆盖3.条件覆盖 4.判定/条件覆盖5.条件组合覆盖6.点覆盖7.边覆盖8.路径覆盖7.6.2控制结构测试 1.基本路径测试 图7.6求平均值过程的流图 2.条件测试3.循环测试 图7.73种循环7.7黑盒测试技术 7.7.1等价划分 7.7.2边界值分析7.7.3错误推测 7.8调试7.8.1调试过程 图7.8调试过程 7.8.2调试途径 1.蛮干法2.回溯法3.原因排除法 7.9软件可靠性 7.9.1基本概念 1.软件可靠性的定义2.软件的可用性 7.9.2估算平均无故障时间的方法 1.符号2.基本假定 3.估算平均无故障时间4.估计错误总数的方法 第8章维护 8.1软件维护的定义8.2软件维护的特点 8.2.1结构化维护与非结构化维护差别巨大 1.非结构化维护2.结构化维护 8.2.2维护的代价高昂8.2.3维护的问题很多 8.3软件维护过程 1.维护组织2.维护报告3.维护的事件流 图8.1维护阶段的事件流 4.保存维护记录5.评价维护活动 8.4软件的可维护性 8.4.1决定软件可维护性的因素 1.可理解性 2.可测试性 3.可修改性 4.可移植性 5.可重用性 8.4.2文档 1.用户文档2.系统文档 8.4.3可维护性复审 8.5预防性维护8.6软件再工程过程 图8.2软件再工程过程模型 1.库存目录分析2.文档重构3.逆向工程4.代码重构5.数据重构6.正向工程第9章面向对象方法学引论 9.1面向对象方法学概述 9.1.1面向对象方法学的要点9.1.2面向对象方法学的优点 1.与人类习惯的思维方法一致2.稳定性好3.可重用性好 4.较易开发大型软件产品5.可维护性好 9.2面向对象的概念 9.2.1对象 1.对象的形象表示 图9.1对象的形象表示 2.对象的定义 图9.2用自动机模拟对象 3.对象的特点9.2.2其他概念 1.类(class)2.实例(instance)3.消息(message)4.方法(method)5.属性(attribute)6.封装(encapsulation)7.继承(inheritance) 图9.3实现继承机制的原理 8.多态性(polymorphism)9.重载(overloading)9.3面向对象建模9.4对象模型 9.4.1类图的基本符号 1.定义类 图9.4表示类的图形符号 2.定义属性3.定义服务 9.4.2表示关系的符号 1.关联 图9.5普通关联示例 第 16 页 共 16 页免责声明:图文来源于网络搜集,版权归原作者所以若侵犯了您的合法权益,请作者与本上传人联系,我们将及时更正删除。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!