南邮软件工程-Unit_01_软件与软件工程_第1页
南邮软件工程-Unit_01_软件与软件工程_第2页
南邮软件工程-Unit_01_软件与软件工程_第3页
南邮软件工程-Unit_01_软件与软件工程_第4页
南邮软件工程-Unit_01_软件与软件工程_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、UNIT 1n软件与软件工程软件与软件工程n教材教材n英文精编版英文精编版 第第7版(第版(第1章)章)n本科教学版本科教学版 第第7版(第版(第1章)章)n原书原书 第第7版(第版(第1章)章)2软件是意外效应法则的最好体现n没有人曾预料到软件科学会成为商业、科学和工程所必需的技术没有人曾预料到软件科学会成为商业、科学和工程所必需的技术n软件促进了新科技创新(基因工程、纳米技术)、现代科技发展软件促进了新科技创新(基因工程、纳米技术)、现代科技发展(通信)、传统技术的根本转变(印刷业)(通信)、传统技术的根本转变(印刷业)n软件技术已经成为个人电脑革命的推动力量软件技术已经成为个人电脑革命的

2、推动力量n消费者可以很容易地在附近的商店购买到包装好的软件产品消费者可以很容易地在附近的商店购买到包装好的软件产品n软件由产品逐渐演化为服务,软件公司随需应变,通过软件由产品逐渐演化为服务,软件公司随需应变,通过Web浏览浏览器发布即时更新功能器发布即时更新功能n软件公司比几乎任何传统工业时代的公司更大、更有影响力软件公司比几乎任何传统工业时代的公司更大、更有影响力n在大量应用软件的驱动下,互联网将迅速发展,对人们生活的诸在大量应用软件的驱动下,互联网将迅速发展,对人们生活的诸多方面多方面从图书馆搜索、消费购物、政治演说到年轻人(或者不从图书馆搜索、消费购物、政治演说到年轻人(或者不那么年轻的

3、人)的约会习惯那么年轻的人)的约会习惯引起革命性的变化引起革命性的变化n没有人曾想到软件可嵌入到各种系统中:交通运输、医疗、通信、没有人曾想到软件可嵌入到各种系统中:交通运输、医疗、通信、军事、工业、娱乐以及办公设备等不胜枚举军事、工业、娱乐以及办公设备等不胜枚举3软件角色的演化nBefore 1960s:软件:软件=程序程序nBefore 1980s:软件:软件=工具(程序工具(程序 + 数据数据 +文档)文档)n程序:指令的集合(计算机程序),通过执行这些指令可以满足预期程序:指令的集合(计算机程序),通过执行这些指令可以满足预期的特征、功能和性能需求的特征、功能和性能需求n数据:数据结构

4、,使得程序可以合理利用信息数据:数据结构,使得程序可以合理利用信息n文档:软件描述信息,它以硬拷贝和虚拟形式存在,用来描述程序操文档:软件描述信息,它以硬拷贝和虚拟形式存在,用来描述程序操作和使用作和使用nNow:软件:软件 = 服务服务n软件中承载知识软件中承载知识 以知识为中心以知识为中心nSoftware Programs Documents Data Knowledge4软件的本质软软件既是件既是产产品也是交付品也是交付产产品的品的载载体体n作为一个产品,扮演着信息转换的角色:产生、管理、获取、修改、显示或者传输各种不同的信息,简单如几个比特的传递或复杂如从多个独立的数据源获取的多媒体

5、演示n作为产品生产的载体,软件提供了计算机控制(操作系统)、信息通信(网络)以及应用程序开发和控制(软件工具和环境)的基础平台5软件n软件是设计开发的,而不是传统意义上生产制造的软件是设计开发的,而不是传统意义上生产制造的n软件不会磨损,但是会退化软件不会磨损,但是会退化n虽然整个工业向着基于构件的构造模式发展,然而虽然整个工业向着基于构件的构造模式发展,然而大多数软件仍然是根据实际的顾客需求定制的大多数软件仍然是根据实际的顾客需求定制的6磨损与退化n如果希望降低软件退化,需要如果希望降低软件退化,需要改进软件的设计改进软件的设计n软件工程方法的目的:降低软件工程方法的目的:降低变更突变的幅度

6、,变更突变的幅度,及其及其实实际失效曲线的斜率际失效曲线的斜率7软件的应用领域n系统软件系统软件n应用软件应用软件n工程工程 / 科学软件科学软件n嵌入式软件嵌入式软件n产品线软件产品线软件 (包括娱乐软件包括娱乐软件)nWeb应用软件应用软件n人工智能软件人工智能软件8应用软件n1. 文字处理软件文字处理软件nWPS Office、Microsoft Office、LibreOffice、Google Docsn2. 信息管理软件信息管理软件nOracle Database数据库、数据库、SQL Server数据库数据库n3. 辅助设计软件:如辅助设计软件:如CATIA、NX、AutoCAD

7、n4. 实时控制软件实时控制软件n5. 教育与娱乐软件教育与娱乐软件n6. 图形图像软件图形图像软件nAdobe Photoshop、GIMP、MAYA、Softimage、3DSn7. 后期合成软件后期合成软件nafter effects、combustion、digital fusion、shake、flamen8. 网页浏览软件网页浏览软件nInternet Explorer、Firefox、Chrome、Safari9应用软件n9. 网络通信软件网络通信软件nWindows Live Messenger、Skype、QQn10. 影音播放软件:影音播放软件:WMP、暴风影音、风雷影音、

8、暴风影音、风雷影音n11. 音乐播放软件:音乐播放软件:Winamp、千千静听、千千静听n12. 下载管理软件下载管理软件nOrbit、迅雷、快车、迅雷、快车、QQ旋风旋风n13. 电子邮件客户端电子邮件客户端nWindows Live Mail、Outlook Express、Foxmail、KMailn14. 信息安全软件信息安全软件n360、卡巴斯基、诺顿、瑞星、金山毒霸、卡巴斯基、诺顿、瑞星、金山毒霸、PSA密码管理软件密码管理软件n15. 虚拟机软件虚拟机软件nVMware、VirtualBox、Microsoft Virtual PCn16. 输入法软件:谷歌拼音输入法输入法软件:

9、谷歌拼音输入法10软件新种类n开放计算(开放计算(Open-world computing)n普适计算、分布式计算普适计算、分布式计算n开发系统和应用软件,以使得移动设备、个人电脑和企开发系统和应用软件,以使得移动设备、个人电脑和企业应用,通过网络设施进行通信业应用,通过网络设施进行通信n网络资源(网络资源(Netsourcing)nWeb作为计算引擎和内容提供平台作为计算引擎和内容提供平台n构建一个结构简单而智能的应用程序,为全世界的最终构建一个结构简单而智能的应用程序,为全世界的最终用户市场提供服务用户市场提供服务n开源软件(开源软件(Open Source)nfree源码(一个祝福,或一

10、个潜在的诅咒)源码(一个祝福,或一个潜在的诅咒)n开放的系统应用程序的源代码,使得用户可以轻松、可开放的系统应用程序的源代码,使得用户可以轻松、可靠地进行局部的修改靠地进行局部的修改11软件新种类n普适计算普适计算12软件新种类n数据挖掘数据挖掘 & 网格计算网格计算13遗留软件n在几十年前开发,不断被修改以满足商业需要和计在几十年前开发,不断被修改以满足商业需要和计算平台的变化算平台的变化n质量差:维护代价高昂、系统演化风险较高质量差:维护代价高昂、系统演化风险较高n设计难以扩展,代码令人费解,文档混乱甚至根设计难以扩展,代码令人费解,文档混乱甚至根本没有,测试用例和结果从未归档,变

11、更历史管本没有,测试用例和结果从未归档,变更历史管理混乱等,有着数不清的问题理混乱等,有着数不清的问题n具有生命周期长以及业务关键性的特点具有生命周期长以及业务关键性的特点n许多遗留软件系统仍然支持核心的商业功能,是许多遗留软件系统仍然支持核心的商业功能,是业务业务必不可少必不可少的支撑的支撑14遗留软件演化的原因n软件需要进行适应性调整,从而可以满足新的计算软件需要进行适应性调整,从而可以满足新的计算环境或者技术的需求环境或者技术的需求n软件必须升级以实现新的商业需求软件必须升级以实现新的商业需求n软件必须扩展使之具有与更多新的系统和数据库的软件必须扩展使之具有与更多新的系统和数据库的互操作

12、能力互操作能力n软件架构必须进行改建使之能适应多样化的网络环软件架构必须进行改建使之能适应多样化的网络环境境所有软件工程师都必须认识到:变化是不可避免的,不要反对变化15软件工程师面临的问题n为什么软件需要如此长的开发时间为什么软件需要如此长的开发时间?n为什么开发成本居高不下为什么开发成本居高不下?n为什么在将软件交付给顾客使用之前,我们无法为什么在将软件交付给顾客使用之前,我们无法找到所有的错误找到所有的错误?n为什么维护已有的程序要花费高昂的时间和人力为什么维护已有的程序要花费高昂的时间和人力代价代价?n为什么软件开发和维护的过程仍旧难以度量为什么软件开发和维护的过程仍旧难以度量?软件危

13、机n软件危机软件危机(Software Crisis):计算机软件的开发和维护过:计算机软件的开发和维护过程所遇到的一系列严重问题;程所遇到的一系列严重问题;n软件危机的表现:软件危机的表现:n对软件开发成本和进度的估算很不准确,甚至严重拖期对软件开发成本和进度的估算很不准确,甚至严重拖期和超出预算;和超出预算;n无法满足用户需求,导致用户很不满意;无法满足用户需求,导致用户很不满意;n质量很不可靠,经常失效;质量很不可靠,经常失效;n难以更改、调试和增强;难以更改、调试和增强;n没有适当的文档;没有适当的文档;n软件成本比重上升;软件成本比重上升;n软件开发生产率跟不上计算机应用迅速深入的趋

14、势。软件开发生产率跟不上计算机应用迅速深入的趋势。软件复杂性的增长n实例: n1963年 水星计划系统200万条指令 n1967年 双子星座计划系统400万条指令 n1973年 阿波罗计划系统1000万条指令 n1979年 哥伦比亚航天飞机系统4000万条指令 nWindows Vista:3000开发人员,59个开发节点,愈6千万行代码n每个汽车系统代码量:10万行(1970s)-1亿行(2010s)n波音飞机:总代码量超过400万行;宇宙飞船:软件代码2000万行;空间站:软件代码10亿行n问题:假设1个人一年生产一万条有效指令,那么是否4000人生产一年,或400人生产10年就能完成任务

15、呢?n答案是否定的n一万条指令的复杂度决不仅仅是100条指令复杂度的100倍n软件复杂性:指数级软件危机典型案例n在1963年至1966年开发的IBM 360机的操作系统n共有4000多个模块,约100万条指令,投入5000人年,耗资数亿美元,结果还是延期交付。在交付使用后的系统中仍发现大量(2000个以上)的错误。 n这个项目的负责人F.D.Brooks事后总结了他在组织开发过程中的沉痛教训时说:正像一只逃亡的野兽落到泥潭中做垂死的挣扎,越是挣扎,陷得越深。最后无法逃脱灭顶的灾难,程序设计工作正像这样一个泥潭,一批批程序员被迫在泥潭中拼命挣扎,谁也没有料到竟会陷入这样的困境n1963年美国飞

16、往火星的火箭爆炸,造成1000万美元的损失n原因是FORTRAN程序:DO 5 I=1,3 n误写为:DO 5 I=1. 3n1967年苏联“联盟一号”载人宇宙飞船返航时,由于软件忽略一个小数点,在进入大气层时因打不开降落伞而烧毁软件危机典型案例n丹佛新国际机场:机场规模是曼哈顿机场的两倍,宽为希思机场的10倍,可以全天侯同时起降三架喷气式客机;投资1.93亿美元建立了一个地下行李传送系统,总长21英里,有4000台遥控车,可按不同线路在20家不同的航空公司柜台、登机门和行李领取处之间发送和传递行李;支持该系统的是5000个电子眼、400台无线电接受机、56台条形码扫描仪和100台计算机n按原

17、定计划要在1993年万圣节前启用,但直到1994年6月,机场计划者还无法预测“行李系统”何时能达到机场开放的稳定程度如何理解软件工程在软件开发中的作用?n开发一段程序,输入班级所有人的成绩,按成绩由高到低的次序进行排序n你会如何去做?n方法1:直接写程序n方法2:先设计算法,然后再用程序语言实现n方法3:先建立数学模型,然后转换为算法,然后编程实现映射与转换n任何软件系统开发的共同本质在于:n从现实空间的需求到计算机空间的软件代码之间的映射与转换软件工程的作用n软件工程的本质:用严格的规范和管理手段来缩小偏差,通过牺牲“时间”来提高“质量”软件工程映射之1:概念映射n概念映射:问题空间的概念与

18、解空间的模型化概念之间的映射n例如:n“学生” Class Student (No, Name, Dept, Grade)n“计算机学院大三学生张三” Object Student(1050310401,张三, 计算机,大三)n“学生成绩” Struct StudentScore (StudentNo, CourseNo, Score)n“张三的软件工程课成绩为85分” ZS_SE_SCORE (1050310401, 软件工程, 85)软件工程映射之2:业务逻辑映射n业务逻辑映射:问题空间的处理逻辑与解空间处理逻辑之间的映射n例如:计算某班学生的平均分数 double calculateAv

19、gScore (Struct scores) 冒泡排序法; 软件工程的作用n为了实现以上两个映射,软件工程需要解决以下问题:n需要设置哪些抽象层需要设置哪些抽象层次次单步映射?多步单步映射?多步映射?几步?映射?几步?n每一抽象层次的概念、每一抽象层次的概念、术语与表达方式术语与表达方式公公式?图形?文字?式?图形?文字?n相邻的两个抽象层次之相邻的两个抽象层次之间如何进行映射间如何进行映射需需要遵循哪些途径和原则?要遵循哪些途径和原则?软件工程的作用n需求分析:现实空间的需求需求分析:现实空间的需求 需求规约需求规约n在一个抽象层上建立需求模型的活动,产生需求规约,作为开发在一个抽象层上建立

20、需求模型的活动,产生需求规约,作为开发人员和客户间合作的基础,并作为以后开发阶段的输入人员和客户间合作的基础,并作为以后开发阶段的输入n设计:需求规约设计:需求规约 设计规约设计规约n定义了实现需求规约所需的系统内部结构与行为,包括软件体系定义了实现需求规约所需的系统内部结构与行为,包括软件体系结构、数据结构、详细的处理算法、用户界面等,即所谓设计规结构、数据结构、详细的处理算法、用户界面等,即所谓设计规约,给出了实现软件需求的软件解决方案约,给出了实现软件需求的软件解决方案n实现:设计规约实现:设计规约 代码代码n由设计规约到代码的转换,以某种特定的编程语言,对设计规约由设计规约到代码的转换

21、,以某种特定的编程语言,对设计规约中的每一个软件功能进行编码中的每一个软件功能进行编码n验证验证/确认确认n一种评估性活动,确定一个阶段的产品是否达到前阶段确立的需一种评估性活动,确定一个阶段的产品是否达到前阶段确立的需求,或者确认开发的软件与需求是否一致求,或者确认开发的软件与需求是否一致27软件工程n范畴范畴28软件工程的几个简单事实n在制定软件的解决方案之前,必须尽力理解问题在制定软件的解决方案之前,必须尽力理解问题n设计已经成为一项关键的软件工程活动设计已经成为一项关键的软件工程活动n软件必须保证高质量软件必须保证高质量n软件需具备可维护性软件需具备可维护性质量和可维护性都来自于好的设

22、计29软件工程n弗里茨弗里茨鲍尔鲍尔n建立和使用一套合理的工程原则,以便经济地获得可建立和使用一套合理的工程原则,以便经济地获得可靠的、可以在实际机器上高效运行的软件靠的、可以在实际机器上高效运行的软件nIEEE 将系统化的、规范的、可量化的方法应用于软件的开将系统化的、规范的、可量化的方法应用于软件的开发、运行和维护,即将工程化方法应用于软件。发、运行和维护,即将工程化方法应用于软件。 在(在(1)中所述方法的研究。)中所述方法的研究。 nCross Talk软件工程是一种层次化的技术,包括过程、方法和工软件工程是一种层次化的技术,包括过程、方法和工具具30软件工程是一种层次化的技术n质量关

23、注点质量关注点是支持软件工程的是支持软件工程的根基根基n任何工程方法(包括软件工程)必须构建在质量承诺的基础之上任何工程方法(包括软件工程)必须构建在质量承诺的基础之上n过程过程是软件工程的是软件工程的基础基础n过程是一个框架结构,将各个技术层次结合在一起,使得合理、过程是一个框架结构,将各个技术层次结合在一起,使得合理、及时地开发计算机软件、有效实施软件工程成为可能及时地开发计算机软件、有效实施软件工程成为可能n过程构成了软件项目管理控制的基础,建立了工作环境以便于应过程构成了软件项目管理控制的基础,建立了工作环境以便于应用技术方法、提交工作产品(模型、文档、数据、报告、表格用技术方法、提交

24、工作产品(模型、文档、数据、报告、表格等)、建立里程碑、保证质量及正确管理变更等)、建立里程碑、保证质量及正确管理变更n方法方法为构建软件提供为构建软件提供技术技术上的解决方法(上的解决方法(“如何做如何做”)n方法包括沟通、需求分析、设计建模、编程、测试和技术支持方法包括沟通、需求分析、设计建模、编程、测试和技术支持n方法依赖于一组基本原则,这些原则涵盖了软件工程所有技术领方法依赖于一组基本原则,这些原则涵盖了软件工程所有技术领域,包括建模和其他描述性技术等。域,包括建模和其他描述性技术等。n工具工具为过程和方法提供自动化或半自动化的为过程和方法提供自动化或半自动化的支持支持n工具建立软件开

25、发的支撑系统,称为计算机辅助软件工程工具建立软件开发的支撑系统,称为计算机辅助软件工程31软件工程是一种层次化的技术n例如:去南京红山森林动物园例如:去南京红山森林动物园n质量关注点:安全、时间、舒适、费用质量关注点:安全、时间、舒适、费用n过程:制定计划和费用,确定路线和方法过程:制定计划和费用,确定路线和方法n方法:骑车、开车、报旅行社方法:骑车、开车、报旅行社n工具:自行车、汽车、获取信息工具:自行车、汽车、获取信息n实践:具体的操作,如:哪里转弯,哪里有路障实践:具体的操作,如:哪里转弯,哪里有路障软件实现的三个基础33通用的软件过程框架n不同案例,过程细节差别很大,但框架活动都是一致

26、的不同案例,过程细节差别很大,但框架活动都是一致的n框架活动的顺序可能是线性、迭代、演化或并行的框架活动的顺序可能是线性、迭代、演化或并行的n每一个框架活动由很多普适性活动来补充实现每一个框架活动由很多普适性活动来补充实现n普适性活动贯穿普适性活动贯穿整个软件过程,整个软件过程,关注于项目管理、关注于项目管理、跟踪和控制跟踪和控制(项(项目进度、质量、目进度、质量、变更和风险)变更和风险)n对软件过程的普对软件过程的普适性调整是项目适性调整是项目成功的关键成功的关键34过程要素n活动(活动(activity)n主要实现宽泛的目标(如与利益相关者进行沟通)主要实现宽泛的目标(如与利益相关者进行沟

27、通)n与应用领域、项目大小、结果复杂性或者实施软与应用领域、项目大小、结果复杂性或者实施软件工程的重要程度没有直接关系件工程的重要程度没有直接关系n动作(动作(action):如体系结构设计):如体系结构设计n包含了主要工作产品(如体系结构设计模型)生包含了主要工作产品(如体系结构设计模型)生产过程中的一系列任务产过程中的一系列任务n任务(任务(task)n关注小而明确的目标,能够产生实际产品(如构关注小而明确的目标,能够产生实际产品(如构建一个单元测试)建一个单元测试)n工作任务、工作产品、质量保证点、里程碑工作任务、工作产品、质量保证点、里程碑355个框架活动n沟通:客户协作、理解利益相关

28、者的目标、收集需沟通:客户协作、理解利益相关者的目标、收集需求,定义软件的特性和功能求,定义软件的特性和功能n策划:制定软件项目计划,定义和描述了软件工程策划:制定软件项目计划,定义和描述了软件工程工作,包括需要执行的技术任务、可能的风险、资工作,包括需要执行的技术任务、可能的风险、资源需求、工作产品和工作进度计划源需求、工作产品和工作进度计划n建模:利用模型来更好地理解软件需求,并完成符建模:利用模型来更好地理解软件需求,并完成符合这些需求的软件设计合这些需求的软件设计n构建:编码(手写的或者自动生成的)和测试以发构建:编码(手写的或者自动生成的)和测试以发现编码中的错误现编码中的错误n部署

29、:软件(全部或者部分增量)交付到用户,用部署:软件(全部或者部分增量)交付到用户,用户对其进行评测并给出反馈意见户对其进行评测并给出反馈意见36普适性活动n软件项目跟踪和控制软件项目跟踪和控制评估进展,采取纠正措施,评估进展,采取纠正措施,维护计划维护计划n风险管理风险管理评估影响项目成果、产品质量的风险评估影响项目成果、产品质量的风险n软件质量保证软件质量保证确定和执行软件质量保证的活动确定和执行软件质量保证的活动n技术评审技术评审评估产品,在错误传播到下个活动之前,评估产品,在错误传播到下个活动之前,发现并清除错误发现并清除错误n测量测量定义和收集过程、项目和产品的度量,以帮定义和收集过程

30、、项目和产品的度量,以帮助团队在发布软件的时候满足利益相关者要求助团队在发布软件的时候满足利益相关者要求n软件配置管理软件配置管理管理变更所带来的影响管理变更所带来的影响n可复用管理可复用管理定义产品复用的标准(包括软件构定义产品复用的标准(包括软件构件),并且建立构件复用机制件),并且建立构件复用机制n工作产品的准备和生产工作产品的准备和生产包括了生成产品(诸如建包括了生成产品(诸如建模、文档、日志、表格和列表等)所必需的活动模、文档、日志、表格和列表等)所必需的活动37过程模型普适性调整的关注点n活动、动作和任务的总体流程,以及相互依赖关系活动、动作和任务的总体流程,以及相互依赖关系n在每

31、一个框架活动中,动作和任务细化的程度在每一个框架活动中,动作和任务细化的程度n工作产品的定义和要求的程度工作产品的定义和要求的程度n质量保证活动应用的方式质量保证活动应用的方式n项目跟踪和控制活动应用的方式项目跟踪和控制活动应用的方式n过程描述的详细程度和严谨程度过程描述的详细程度和严谨程度n客户和利益相关者对项目参与的程度客户和利益相关者对项目参与的程度n软件团队所赋予的自主权软件团队所赋予的自主权n队伍组织和角色明确程度队伍组织和角色明确程度38实践的精髓n1. 理解问题(沟通和分析)理解问题(沟通和分析)n2. 计划解决方案(建模和软件设计)计划解决方案(建模和软件设计)n3. 实施计划

32、(代码生成)实施计划(代码生成)n4. 检查结果的正确性(测试和质量保证)检查结果的正确性(测试和质量保证)39理解问题n谁将从问题的解决中获益?也就是说,谁是利益相谁将从问题的解决中获益?也就是说,谁是利益相关者?关者?n有哪些是未知的?哪些数据、功能、特征和行为是有哪些是未知的?哪些数据、功能、特征和行为是解决问题必需的?解决问题必需的?n问题可以划分吗?是否可以描述为更小、更容易理问题可以划分吗?是否可以描述为更小、更容易理解的问题?解的问题?n问题可以图形化描述吗?可以建立分析模型吗?问题可以图形化描述吗?可以建立分析模型吗?40计划解决方案n以前曾经见过类似问题吗?在潜在的解决方案中

33、,以前曾经见过类似问题吗?在潜在的解决方案中,是否可以识别一些模式?是否已经有软件实现了所是否可以识别一些模式?是否已经有软件实现了所需要的数据、功能、特征和行为?需要的数据、功能、特征和行为?n类似问题是否解决过?如果是,解决方案所包含元类似问题是否解决过?如果是,解决方案所包含元素是否可以复用?素是否可以复用?n可以定义子问题吗?如果可以,子问题是否已有解可以定义子问题吗?如果可以,子问题是否已有解决方案?决方案?n能用一种可以很快实现的方式来描述解决方案吗?能用一种可以很快实现的方式来描述解决方案吗?能构建出设计模型吗?能构建出设计模型吗?41实施计划n解决方案和计划一致吗?源码是否可追溯到设计模解决方案和计划一致吗?源码是否可追溯到设计模型?型?n解决方案的每个组成部分是否可以证明正确?设计解决方案的每个组成部分是否可以证明正确?设计和代码是否经过评审?或者更好的算法是否经过正和代码是否经过评审?或者更好的算法是否经过正确性证明?确性证明?42检查结果n能否测试解决方案的每个部分?是否实现了合理的能否测试解决方案的每个部分?是否实现了合理的测试策略?测试策略?n解决方案是否产

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论