资源预览内容
第1页 / 共43页
第2页 / 共43页
第3页 / 共43页
第4页 / 共43页
第5页 / 共43页
第6页 / 共43页
第7页 / 共43页
第8页 / 共43页
第9页 / 共43页
第10页 / 共43页
亲,该文档总共43页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
IC-MSP V1.0主讲:郑丽姣 邮箱:46297083qq.com软件工程Software EngineeringIC-MSP V1.0软件工程=编程?软件工程 q 是一门学科,一种科学理 论来指导软件系统开发, 标准化、自动化的过程 q 考虑如何分解一个系统, 以便各人分工开发;考虑 如何说明每个部分的规格 要求;怎样才能易于维护编程 q 单纯的代码编写 q 是软件工程发展的前身 q 是软件工程中占据很少时 间和空间的一部分IC-MSP V1.0学习目标q课程性质 q课程目标 q考核方式 q几点建议IC-MSP V1.01课程性质 “软件工程”是高职高专院校计算机应用与软件技 术专业教学计划中一门专业核心课程,它是研究软 件开发和软件管理的一门工程科学。 它的主要任务是掌握支持软件开发和管理的理论、 方法、技术、标准以及计算机辅助软件工程的工具 (Visio或Rose)环境等知识;使学生具有软件开发 能力(包括熟练进行程序设计语言的结构化编码与可视化 设计能力;UML的阅读和建模能力;培养用软件工程化及项目化的思想处理解决问题的能力等)。IC-MSP V1.0q 概括说:软件开发能力最关键的步骤有三步:IC-MSP V1.02课程目标 1学会接受一种软件工程思想。掌握软件工程的基本原理、概念与方法 -主要包括软件系统的可行性研究、需求分析、概要设计、详细设计 、编码、测试、维护、面向对象、项目管理等方面的基本知识与方法。 2掌握软件工程中的一些基本技术方法,如数据流图、数据字典、结构 分析方法(如Jackson方法等),面向对象分析方法、集成测试方法、项 目管理的基本方法等。 3结合模拟案例,学会从实际中掌握从面向过程到面向对象思想理论的 基本方法和技巧。掌握软件开发文档的组织编写等。 4. 掌握一种工具。学期末能用Visio或Rose软件完成大作业的设计(画 各种软件工程图)(指定或自找题目) 5. 把目前或以后要学的程序设计知识(C、Java、C#、 VC+、 等)提 高到一定理论高度认识:编程能否用? 学会思想比掌握一种工具更为重要。温馨 提示:IC-MSP V1.03考核方式q平时成绩(30%)q到课情况 q上机作业答辩情况 q实验报告 q项目成绩 q项目文档 q项目答辩(期中期末各一次)IC-MSP V1.04学习资料q教材 q软件工程技术与实用开发工具IC-MSP V1.04学习资料q推荐教材 q张海藩:软件工程导论(第5版) q林锐:软件工程思想 q人月神话IC-MSP V1.01-5一点建议 利用互联网获取信息使用信息 搜索引擎 学术资料 博客论坛IC-MSP V1.01-5一点建议q参加国家软件考试IC-MSP V1.01-5一点建议q认真;开放性大学之道,在明明德,在亲民,在止于至善。知止 而后有定,定而后能静,静而后能安,安而后能虑 , 虑而后能得。物有本末,事有始终。知所先后,则 近道矣。 大学 玉不琢,不成器。人不学,不知道。 礼记学记IC-MSP V1.0第一章软件工程概述 现代软件工程入门IC-MSP V1.0目标q了解软件工程的起因 q掌握软件开发模型q了解面向对象软件编程IC-MSP V1.0计算机软件软件计算机系统中程序、数据及其相关文档的 完整集合 运行时,能够提供所要求功能和性能的指令或 计算机程序集合。 程序能够满意地处理信息的数据结构。 描述程序功能需求以及程序如何操作和使用所 要求的文档。IC-MSP V1.0软件产品的特性 逻辑产品。 不会用坏,不存在磨损、消耗问题。 软件产品的生产主是研制,软件产品的成本主要 体现在软件的开发和研制上,软件开发完成后,复 制就产生了大量软件产品。 软件产品的生产主要是脑力劳动,还未完全摆脱 手工开发方式,而且必须是“定做“的。 软件费用不断增加,成本相当昂贵。IC-MSP V1.0计算机软件分类按功能分系统软件:能够控制计算机系统各部件(软硬件)的协调、 高效地工作和进程处理、资源共享管理等 应用软件 :应用软件是为特定的应用目的而开发的服务 性软件,它的服务领域涉及广泛,例如企业信息系统,计 算机辅助设计与制造(CAD,CAM)系统等 支撑软件:是工具软件,它帮助软件开发人员开发自己的 软件产品,例如各种软件开发工具,软件测试工具 IC-MSP V1.0计算机软件分类 按工作方式分实时处理软件 :实时系统与其他普通的系统之间的最大的 不同之处就是要满足处理与时间的关系 分时软件:计算机把它的运行时间分为多个时间段,并且 将这些时间段平均分配给用户们指定的任务。轮流地为每 一个任务运行一定的时间,直至完成所有任务 交互式软件:可通过各种界面实现人机通信,使人们可以 介入到程序内部,这种方式为用户带来很大方便批处理软件:能将一批数据按要求的顺序逐个处理,直至 全部作业处理完毕IC-MSP V1.0计算机软件发展第一代(20世纪60年代中期以前):程序设计阶段 第二代(60年代中期到70年代中期):程序系统阶段第三代(70年代中期到80年代中期):软件工程阶段 第四代(80年代中期至今):软件产业在世界经济 中已经占有举足轻重的地位 IC-MSP V1.0计算机软件发展阶段A.程序设计时代(1946 -1956)B.程序系统时代(1956- 1968)C.软件工程时代(1968- 今) 生产方 式个体手工劳动小集团合作生产工程化的生产工具机器语言、汇编高级语言数据库、开发工具、开 发环境、网络、 分布式 、面向对象技术 开发方 法追求编和技巧,追求 程序运行效率个人技巧,开始提出结构化 方法硬件特 征价格贵、存储容量小 、运行可靠性差速度、容量、工作可靠性有 明显提高,价格降低,销售 有爆炸性增长向超高速、大容量、微 型化以及网络化方软件特 征只有程序、程序设计 概念,不重视程序设 计方法程序员数量猛增,已意识到 软件开发的重要性,开发技 术没有新的突破,大量软件 开发的需求已提出,开发人 员的素质和工程兵的开发技 术不适应规模大、结构复杂 的软件开发,产生了尖锐矛 盾,导致软件危机的产生开发技术有很大进步, 但未能获得突破性进展 ,软件价格不断上升, 没有完全摆脱软件危机IC-MSP V1.0软件危机q美国IBM公司在1963年至1966年开发的IBM360 机的操作系统。这一项目花了5000人一年的工作 量,最多时有1000人投入开发工作,写出了近100 万行源程序。据统计,这个操作系统每次发 行的新版本都是从前一版本中找出1000个程序错 误而修正的结果。IC-MSP V1.0软件危机q 这个项目的负责人F. D. Brooks事后总结了他在组织开 发过程中的沉痛教训时说:“正像一只逃亡的野兽 落到泥潭中做垂死的挣扎,越是挣扎,陷得越深,最后无 法逃脱灭顶的灾难。程序设计工作正像这样一个泥 潭,一批批程序员被迫在泥潭中拼命挣扎, 谁也没有料到问题竟会陷入这样的困境”。IBM360 操作系统的历史教训成为软件开发项目的典型事例为人们 所记取。Software Crisis !IC-MSP V1.0软件危机q经费预算经常突破,完成时间一再拖延。q开发的软件不能满足用户要求。q开发的软件可维护性差。q开发的软件可靠性差。IC-MSP V1.0软件危机产生原因 q软件的规模越来越大,结构越来越复杂。q软件开发管理困难而复杂。q软件开发费用不断增加。q软件开发技术落后。q生产方式落后。q开发工具落后,生产率提高缓慢。概括起来两个问题:如何开发软件 维护已有软件 IC-MSP V1.0解决软件危机的办法 Better management Different team organizations Better languages b.面到要求的软件功能;c.取得较好的软件性能;d.开发的软件易于移植;e.需要较低的维护费用;f.能按时完成开发任务,及时交付使用;g.开发的软件可靠性高;IC-MSP V1.0软件工程的基本原理(Principles)q用分阶段的生命周期计划严格管理项目概要计划 里程碑计划 项目控制计划 产品控制计划 验证计划 运行维护计划q坚持进行阶段评审q实行严格的产品控制基准配置管理(Baseline configuration management)q采用现代程序设计技术q结果应能清楚地审查 set standardsq开发小组的成员应该少而精 1+1 2q承认不断改进软件工程实践的必要性IC-MSP V1.0软件工程方法学 传统方法学 面向数据或者行为 采用结构化技术 开发划分为若干阶段,开发强调自顶向下的顺序 面向对象方法学 模拟人类习惯的思维方式,接近人类认识世界解决 问题的方法和过程 以数据为主线,数据和对数据的操作紧密结合 开发是一个反复迭代的演化过程 4个要点: 对象 融合数据和操作的软件构件 类 一组具有相同数据和操作的相似对象 继承 子类拥有基类的数据和操作 消息通信 对象间的联系方式IC-MSP V1.0软件定义时期: q问题定义 回答“要解决的问题是什么” q可行性研究 回答“有可行的解决办法吗?” q需求分析 确定“系统必须做什么?” 软件开发时期: q总体设计 概括回答“应该怎样实现系统” q详细设计 详细回答“应该怎样实现系统” q编码和单元测试 q综合测试 运行维护时期: q软件维护软件生命周期IC-MSP V1.0软件生周存期弄清楚用户要解决的问 题是什么 寻求解决问题的综合效 益较高的解决方案v确定系统所具备用户所 期望的功能 设计软件功能模块,再 单独实现各个部分功能 ,再做实际测试软件生存周期最后一个 阶段,主要是做好维护 工作,满足用户需求, 延长软件使用寿命IC-MSP V1.0维 护开发定义DefinitionFeasibility StudyRequirements AnalysisProgram DesignCoding & Module TestingIntegration & System TestingDelivery & MaintenanceSystem Design瀑布模型(Waterfall Model)又可称为生命周期瀑布模型,是传 统的软件开发模型按照传统的生命周期方法学开发软件,从 问题定义开始逐一按生命周期各阶段顺序 进行,直至得到用户确认 IC-MSP V1.0瀑布模型特点阶段间的顺序和依赖性关系 q阶段间的顺序是必须待前一阶段的工作完成之后,才能进 行下一阶段的工作 q只要前一阶段正确的输出,后一阶段的工作才有可能获得 正确的结果 q在于各阶段的工作可以独立进行,而且在不同的阶段实施 不同的管理和技术 q若在某一阶段发现了问题,这可能需要追溯到之前的某个 或某些阶段,万一问题发生在早期阶段,则需要付出昂贵的 代价 IC-MSP V1.0瀑布模型特点推迟实现q实践表明,编码开始得越早,完成开发工作所需要的时间 反而越长q瀑布模型是使物理实现推迟到软件开发的后期进行,这就 大大降低了软件的风险q尽可能推迟程序的物理实现是瀑布模型开发软件的一条重 要的原则IC-MSP V1.0瀑布模型特点质量保证q各阶段都必须完成规定的文档q各阶段结束前都要对本阶段的工作和文档进行评审,以便 及时发现问题,改正错误q经验证明,越是早期的错误,暴露的时间就越晚,排除和 改正错误所付出的代价也就越高IC-MSP V1.0软件开发模型瀑布模型各阶段评审错误追溯 具有维护循环的瀑布模型 IC-MSP V1.0软件开发模型原型模型特点:初期建立用户需求模型,再与用户反复 沟通并修改原型,最后达到用户需要的 新的系统优点:开发迅速,与用户沟通,需求分析及 时到位IC-MSP V
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号