




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程=编程?软件工程是一门学科,一种科学理论来指导软件系统开发,标准化、自动化的过程考虑如何分解一个系统,以便各人分工开发;考虑如何说明每个部分的规格要求;怎样才能易于维护编程单纯的代码编写是软件工程发展的前身是软件工程中占据很少时间和空间的一部分学习目标课程性质课程目标考核方式几点建议1课程性质“软件工程”是高职高专院校计算机应用与软件技术专业教学支配中一门专业核心课程,它是探讨软件开发和软件管理的一门工程科学。它的主要任务是驾驭支持软件开发和管理的理论、方法、技术、标准以及计算机协助软件工程的工具(Visio或Rose)环境等学问;使学生具有软件开发实力(包括娴熟进行程序设计语言的结构化编码与可视化设计实力;UML的阅读和建模实力;培育用软件工程化及项目化的思想处理解决问题的实力等)。概括说:软件开发实力最关键的步骤有三步:2课程目标1.学会接受一种软件工程思想。驾驭软件工程的基本原理、概念与方法----主要包括软件系统的可行性探讨、需求分析、概要设计、具体设计、编码、测试、维护、面对对象、项目管理等方面的基本学问与方法。2.驾驭软件工程中的一些基本技术方法,如数据流图、数据字典、结构分析方法(如Jackson方法等),面对对象分析方法、集成测试方法、项目管理的基本方法等。3.结合模拟案例,学会从实际中驾驭从面对过程到面对对象思想理论的基本方法和技巧。驾驭软件开发文档的组织编写等。4.驾驭一种工具。学期末能用Visio或Rose软件完成大作业的设计(画各种软件工程图)(指定或自找题目)5.把目前或以后要学的程序设计学问(C、Java、C#、VC++、等)提高到确定理论高度相识:编程能否用?学会思想比驾驭一种工具更为重要。
温馨提示:3考核方式平常成果(30%)到课状况上机作业答辩状况试验报告项目成果项目文档项目答辩(期中期末各一次)4学习资料教材软件工程技术与好用开发工具4学习资料举荐教材张海藩:软件工程导论(第5版)林锐:软件工程思想人月神话1-5一点建议利用互联网获得信息运用信息搜寻引擎学术资料博客论坛1-5一点建议参与国家软件考试1-5一点建议细致;开放性高校之道,在明明德,在亲民,在止于至善。知止而后有定,定而后能静,静而后能安,安而后能虑,虑而后能得。物有本末,事有始终。知所先后,则近道矣。 ——高校玉不琢,不成器。人不学,不知道。 ——礼记·学记第一章软件工程概述
现代软件工程入门目标了解软件工程的起因驾驭软件开发模型了解面对对象软件编程计算机软件软件-计算机系统中程序、数据及其相关文档的完整集合运行时,能够供应所要求功能和性能的指令或计算机程序集合。程序能够满足地处理信息的数据结构。描述程序功能需求以及程序如何操作和运用所要求的文档。软件产品的特性逻辑产品。不会用坏,不存在磨损、消耗问题。软件产品的生产主是研制,软件产品的成本主要体现在软件的开发和研制上,软件开发完成后,复制就产生了大量软件产品。软件产品的生产主要是脑力劳动,还未完全摆脱手工开发方式,而且必需是"定做"的。软件费用不断增加,成本相当昂贵。计算机软件分类按功能分系统软件:能够限制计算机系统各部件(软硬件)的协调、高效地工作和进程处理、资源共享管理等应用软件:应用软件是为特定的应用目的而开发的服务性软件,它的服务领域涉及广泛,例如企业信息系统,计算机协助设计与制造(CAD,CAM)系统等支撑软件:是工具软件,它帮助软件开发人员开发自己的软件产品,例如各种软件开发工具,软件测试工具计算机软件分类按工作方式分实时处理软件:实时系统与其他一般的系统之间的最大的不同之处就是要满足处理与时间的关系分时软件:计算机把它的运行时间分为多个时间段,并且将这些时间段平均安排给用户们指定的任务。轮番地为每一个任务运行确定的时间,直至完成全部任务交互式软件:可通过各种界面实现人机通信,使人们可以介入到程序内部,这种方式为用户带来很大便利批处理软件:能将一批数据按要求的依次逐个处理,直至全部作业处理完毕计算机软件发展第一代(20世纪60年头中期以前):程序设计阶段其次代(60年头中期到70年头中期):程序系统阶段第三代(70年头中期到80年头中期):软件工程阶段第四代(80年头中期至今):软件产业在世界经济中已经占有举足轻重的地位计算机软件发展软件危机美国IBM公司在1963年至1966年开发的IBM360机的操作系统。这一项目花了5000人一年的工作量,最多时有1000人投入开发工作,写出了近100万行源程序。......据统计,这个操作系统每次发行的新版本都是从前一版本中找出1000个程序错误而修正的结果。......软件危机这个项目的负责人F.D.Brooks事后总结了他在组织开发过程中的沉痛教训时说:“......正像一只逃亡的野兽落到泥潭中做垂死的挣扎,越是挣扎,陷得越深,最终无法逃脱灭顶的灾难。......程序设计工作正像这样一个泥潭,......一批批程序员被迫在泥潭中舍命挣扎,......谁也没有料到问题竟会陷入这样的逆境......”。IBM360操作系统的历史教训成为软件开发项目的典型事例为人们所记取。SoftwareCrisis!软件危机经费预算常常突破,完成时间一再拖延。开发的软件不能满足用户要求。开发的软件可维护性差。开发的软件牢靠性差。软件危机产生缘由软件的规模越来越大,结构越来越困难。软件开发管理困难而困难。软件开发费用不断增加。软件开发技术落后。生产方式落后。开发工具落后,生产率提高缓慢。概括起来两个问题:如何开发软件维护已有软件解决软件危机的方法BettermanagementDifferentteamorganizationsBetterlanguages&toolsUniformcodingconventions必需意识到:“软件”编程,它有自己的生命周期(lifecycle)。大型软件系统的开发与其它工程项目如建立桥梁、制造飞机、轮船等的开发是同理的。软件工程定义探讨软件生产的一门学科,用科学学问和技术原理来定义、开发、维护软件的一门学科。软件工程三要素方法-完成软件开发的各项任务的技术方法工具-为方法供应了自动或半自动的软件支撑环境过程-将软件工程的方法和工具综合起来以达到合理、刚好地进行计算机软件开发的目的软件工程的本质关注大型程序的构造中心课题是限制困难性软件常常变更开发软件的效率特别重要和谐的合作是开发软件的关键软件必需有效的支持它的用户具有一种文化背景的人替具有另一种文化背景的人创建产品软件工程目标(成功的建立一个大型软件系统)a.付出较低的开发成本;b.面到要求的软件功能;c.取得较好的软件性能;d.开发的软件易于移植;e.须要较低的维护费用;f.能按时完成开发任务,刚好交付运用;g.开发的软件牢靠性高;软件工程的基本原理(Principles)用分阶段的生命周期支配严格管理项目概要支配里程碑支配项目限制支配产品限制支配验证支配运行维护支配坚持进行阶段评审实行严格的产品限制——基准配置管理(Baselineconfigurationmanagement)接受现代程序设计技术结果应能清晰地审查—setstandards开发小组的成员应当少而精1+1<2承认不断改进软件工程实践的必要性软件工程方法学传统方法学面对数据或者行为接受结构化技术开发划分为若干阶段,开发强调自顶向下的依次面对对象方法学模拟人类习惯的思维方式,接近人类相识世界解决问题的方法和过程以数据为主线,数据和对数据的操作紧密结合开发是一个反复迭代的演化过程4个要点:对象融合数据和操作的软件构件类一组具有相同数据和操作的相像对象继承子类拥有基类的数据和操作消息通信对象间的联系方式软件定义时期:问题定义回答“要解决的问题是什么”可行性探讨回答“有可行的解决方法吗?”需求分析确定“系统必需做什么?”软件开发时期:总体设计概括回答“应当怎样实现系统”具体设计具体回答“应当怎样实现系统”编码和单元测试综合测试运行维护时期:软件维护软件生命周期软件生周存期弄清晰用户要解决的问题是什么寻求解决问题的综合效益较高的解决方案v确定系统所具备用户所期望的功能设计软件功能模块,再单独实现各个部分功能,再做实际测试软件生存周期最终一个阶段,主要是做好维护工作,满足用户需求,延长软件运用寿命维护开发定义DefinitionFeasibilityStudyRequirementsAnalysisProgramDesignCoding&ModuleTestingIntegration&SystemTestingDelivery&MaintenanceSystemDesign瀑布模型(WaterfallModel)又可称为生命周期瀑布模型,是传统的软件开发模型依据传统的生命周期方法学开发软件,从问题定义起先逐一按生命周期各阶段依次进行,直至得到用户确认瀑布模型特点阶段间的依次和依靠性关系阶段间的依次是必需待前一阶段的工作完成之后,才能进行下一阶段的工作只要前一阶段正确的输出,后一阶段的工作才有可能获得正确的结果在于各阶段的工作可以独立进行,而且在不同的阶段实施不同的管理和技术若在某一阶段发觉了问题,这可能须要追溯到之前的某个或某些阶段,万一问题发生在早期阶段,则须要付出昂贵的代价瀑布模型特点推迟实现实践表明,编码起先得越早,完成开发工作所须要的时间反而越长瀑布模型是使物理实现推迟到软件开发的后期进行,这就大大降低了软件的风险尽可能推迟程序的物理实现是瀑布模型开发软件的一条重要的原则瀑布模型特点质量保证各阶段都必需完成规定的文档各阶段结束前都要对本阶段的工作和文档进行评审,以便刚好发觉问题,改正错误阅历证明,越是早期的错误,暴露的时间就越晚,解除和改正错误所付出的代价也就越高软件开发模型-瀑布模型各阶段评审错误追溯
具有维护循环的瀑布模型
软件开发模型-原型模型特点:初期建立用户需求模型,再与用户反复沟通并修改原型,最终达到用户须要的新的系统优点:开发快速,与用户沟通,需求分析刚好到位软件开发模型-螺旋模型软件开发模型-螺旋模型特点:接受迭代模式,每迭代一次螺旋线就在原来基础上增加一圈。也就是使软件开发向前推动了一个层次,使软件系统产生一个新版本,引入风险评估。功能组成:制定支配风险分析工程实现评审
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年福州产发园区运营管理有限公司招聘3人考前自测高频考点模拟试题及答案详解(名师系列)
- 2025年影像医学器械操作与维护试题答案及解析
- 2025广东赤坎区选调赤坎区教师发展中心中小学教研员7人模拟试卷及答案详解(夺冠)
- 2025河南郑州管城区紫东路社区卫生服务中心招聘2人考前自测高频考点模拟试题及答案详解(名师系列)
- 2025江苏张家港市万通建设工程有限公司招聘2人考前自测高频考点模拟试题及完整答案详解
- 2025年血液病学化验结果解读答案及解析
- 2025年肾内科慢性肾病诊治知识考核答案及解析
- 2025年血液病学常见实验室检查考题答案及解析
- 2025年老年医学老年失眠的辨证治疗探讨模拟测试卷答案及解析
- 2025年口腔颌面外科口腔种植修复术考核答案及解析
- 中医体质量表
- 明清传奇小说
- 荐五年级上册第三单元习作猎人海力布故事缩写两个基本方法
- 初中生物学教材解读人教八年级上册生物圈中的其他生物江艾佳细菌八年级上册生物
- GA 1809-2022城市供水系统反恐怖防范要求
- 2022年全国工会财务知识大赛参考题库精简600题(含各题型)
- GB/T 2072-2007镍及镍合金带材
- GB/T 13460-2016再生橡胶通用规范
- 基础观感验收自评报告
- 班级管理(第3版)教学课件汇总全套电子教案(完整版)
- 公路桥梁工程施工安全专项风险评估报告
评论
0/150
提交评论