四上作文

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

严谨规范※通俗易懂盐城工学院软件工程系—孔令东软件工程学授课班级:授课教师:孔令东E-Mail:kongld@foxmail.com共享邮箱:kldstudent@foxmail.com密码:123456Telephone:18651918867教学进度及重点介绍:教学进度表/参考书目学习要求:分组、预习、课堂、复习(讨论)作业要求:作业模板12020/2/24严谨规范※通俗易懂盐城工学院软件工程系—孔令东学习要求分组:5-7人小组;组长一名,负责计划的制定、监督和实施预习:只需将核心的内容略读一遍、知道将要学习什么、搜索知识体系中的盲点和难点(标注)课堂:,,,,,,!复习(讨论):核心知识点,逐个攻克!组长的威力一定要发挥哦!作业:,,,,,,!22020/2/24严谨规范※通俗易懂盐城工学院软件工程系—孔令东关于作业的规范题号:(页码—题号)题目内容:(详细的内容)涉及知识点:(题目内容中可能用到的知识点,摘要写出,至少写2点,至多5点,每个知识点不能超过五个字)解答:每次作业要隔开!!严谨规范※通俗易懂盐城工学院软件工程系—孔令东教材知识体系的架构1、概论2、结构化的软件工程3、面向对象的软件工程4、软件项目管理严谨规范※通俗易懂盐城工学院软件工程系—孔令东主要参考书序号教材名称作者出版社1软件工程与开发工具张虹清华大学出版社2软件工程概论郑人杰殷人昆清华大学出版社3软件工程郑人杰软件工程专业技术指定用书4实用软件工程郑人杰殷人昆陶永雷清华大学出版社5SOFTWAREENGINEERINGTheoryandPracticeShariLawrencePfleeger…….…..…..严谨规范※通俗易懂盐城工学院软件工程系—孔令东本章目标了解软件工程学产生的背景和原因了解软件工程的基本原理、概念和方法掌握软件生命周期模型,为特定的项目选择适合的模型严谨规范※通俗易懂盐城工学院软件工程系—孔令东问题为什么要提出软件工程呢?软件工程对软件开发有什么帮助呢?严谨规范※通俗易懂盐城工学院软件工程系—孔令东主要内容一.软件危机(SoftwareCrisis)二.软件工程(SoftwareEngineering)三.软件生命周期(SoftwareLifeCycle)四.软件过程(SoftwareProcess)Go》》Go》》Go》》Go》》严谨规范※通俗易懂盐城工学院软件工程系—孔令东一.软件危机《《《内容线索一.软件危机软件发展过程软件危机软件危机表现软件危机产生原因消除软件危机的途径软件工程软件生命周期软件过程严谨规范※通俗易懂盐城工学院软件工程系—孔令东软件发展过程…1950’s~1960’s中:规模较小的程序,个体化的软件开发,只有程序清单1960’s中~1970’中:“软件作坊”,广泛使用产品软件“软件危机”出现了1968年北大西洋公约组织的计算机科学家在联邦德国召开国际会议,讨论软件危机问题,在这次会议上正式提出并使用了“软件工程”这个名词,一门新兴的工程学科就此诞生了严谨规范※通俗易懂盐城工学院软件工程系—孔令东…软件发展过程…1970’中~1980’s:微处理器的出现并广泛应用分布式系统、嵌入智能1980’s~:网络迅速普及强大的桌面系统、面向对象技术、专家系统、人工智能、神经网络、并行计算、网格计算、虚拟组织严谨规范※通俗易懂盐城工学院软件工程系—孔令东…软件发展过程软件发展过程中存在的问题软件开发能力不能满足人们的需要社会对软件的依赖程度加大,人们普遍关注软件的安全和可靠性若干年前开发的应用软件经过几十次修改已无人认识它的内部结构,己经不可维护由于经济原因,嵌入式系统存在许多怪现象,企业不愿意投入资源再生产,而采取打补丁+时髦界面的方法严谨规范※通俗易懂盐城工学院软件工程系—孔令东问题实例•美国IBM公司在1963年至1966年开发的IBM360机的操作系统。这一项目花了5000人一年的工作量,最多时有1000人投入开发工作,写出了近100万行源程序。......据统计,这个操作系统每次发行的新版本都是从前一版本中找出1000个程序错误而修正的结果。......这个项目的负责人F.D.Brooks事后总结了他在组织开发过程中的沉痛教训时说:“......正像一只逃亡的野兽落到泥潭中做垂死的挣扎,越是挣扎,陷得越深,最后无法逃脱灭顶的灾难。......程序设计工作正像这样一个泥潭,......一批批程序员被迫在泥潭中拼命挣扎,......谁也没有料到问题竟会陷入这样的困境......”。IBM360操作系统的历史教训成为软件开发项目的典型事例为人们所记取。严谨规范※通俗易懂盐城工学院软件工程系—孔令东软件危机软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题典型表现:开发成本和进度的估计常常很不准确用户对“已完成的”软件系统不满意“软件质量不可靠软件常常是不可维护的软件没有适当的文档资料软件产品“供不应求”严谨规范※通俗易懂盐城工学院软件工程系—孔令东…软件危机表现软件成本的比例逐年上升严谨规范※通俗易懂盐城工学院软件工程系—孔令东软件危机产生原因…软件的规模加大、复杂性提高、性能增强软件是逻辑产品,尚未完全认识其本质和特点软件缺乏“可见性”:管理和控制软件开发过程相当困难不会“用坏”:错误很可能是在开发时期引入,软件维护通常意味着修改原来的设计,这就在客观上使得软件较难维护严谨规范※通俗易懂盐城工学院软件工程系—孔令东…软件危机产生原因…缺乏有效的、系统的开发、维护大型软件项目的技术手段和管理方法用户和软件开发人员的理解鸿沟错误的认识和作法:忽视软件需求分析的重要性,认为软件开发就是写程序并设法使之运行,轻视软件维护等严谨规范※通俗易懂盐城工学院软件工程系—孔令东…软件危机产生原因严谨规范※通俗易懂盐城工学院软件工程系—孔令东消除软件危机的途径…消除“软件就是程序”的错误观念一个软件必须由一个完整的配置组成软件是程序、数据及相关文档的完整集合文档是开发、使用和维护程序所需要的图文资料软件=程序+数据+文档严谨规范※通俗易懂盐城工学院软件工程系—孔令东…消除软件危机的途径软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目成功的软件开发技术和方法软件工具和软件工程支撑环境严谨规范※通俗易懂盐城工学院软件工程系—孔令东二.软件工程《《《内容线索软件危机二.软件工程软件工程定义软件工程的本质特征软件工程的基本原理软件工程方法学软件生命周期软件过程严谨规范※通俗易懂盐城工学院软件工程系—孔令东软件工程1968NATO(NorthAtlanticTreatyOrganization)会议,德国GarmischPartenkirchen(加米斯帕腾基辛),计算机科学会议软件危机根源解决途径软件工程目的:解决“软件危机”严谨规范※通俗易懂盐城工学院软件工程系—孔令东软件工程定义…“概括地说,软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。”严谨规范※通俗易懂盐城工学院软件工程系—孔令东…软件工程定义…NATO:软件工程就是为了经济地获得可靠的且能在实际机器上有效地运行的软件,而建立和使用完善的工程原理IEEE定义:软件工程是(1)把系统化的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;(2)研究(1)中提到的途径严谨规范※通俗易懂盐城工学院软件工程系—孔令东…软件工程定义Boehm(巴里.勃姆):软件(包括程序和文档)设计、实现、检查、运行、维护各个过程使用的立足于科学基础的实用方法中国大百科全书:软件工程是应用计算机科学、数学及管理科学等原理开发软件的过程。它借鉴传统工程的原则、方法,以提高质量、降低成本为目的。其中,计算机科学、数学用于构造模型与算法,工程科学用于制定规范、设计范型、降低成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。软件工程是一门交叉学科严谨规范※通俗易懂盐城工学院软件工程系—孔令东软件工程的本质特征…软件工程关注于大型程序的构造严谨规范※通俗易懂盐城工学院软件工程系—孔令东…软件工程的本质特征软件工程的中心课题是控制复杂性软件经常变化开发软件的效率非常重要和谐地合作是开发软件的关键纪律是成功地完成软件开发项目的一个关键软件必须有效地支持它的用户在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品严谨规范※通俗易懂盐城工学院软件工程系—孔令东软件工程的基本原理用分阶段的生命周期计划严格管理坚持进行阶段评审错误出现的时间(63%:37%)改正错误的代价实行严格的产品控制基线配置、变动控制采用现代程序设计技术结果应能清楚地审查开发小组的人员应该少而精承认不断改进软件工程实践的必要性严谨规范※通俗易懂盐城工学院软件工程系—孔令东软件工程方法学软件工程包括技术和管理两方面的内容,是技术与管理紧密结合所形成的工程学科通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学(methodology),也称为范型(paradigm)严谨规范※通俗易懂盐城工学院软件工程系—孔令东软件工程方法学三要素软件工程过程方法工具严谨规范※通俗易懂盐城工学院软件工程系—孔令东传统方法学传统方法学也称为生命周期方法学或结构化范型它采用结构化技术(结构化分析、结构化设计和结构化实现)结构化范型要么面向行为(即对数据的操作),要么面向数据严谨规范※通俗易懂盐城工学院软件工程系—孔令东面向对象方法学面向对象方法把数据和行为看成同等重要,它是一种以数据为主线,把数据和对数据的操作紧密地结合起来的方法面向对象方法学具有下述4个要点面向对象方法=对象+类+继承+用消息通信严谨规范※通俗易懂盐城工学院软件工程系—孔令东传统方法与面向对象方法比较信息隐藏(Informationhiding)有利用维护软件使得软件开发变得容易职责驱动设计(Responsibility-drivendesign)或按合同设计(designbycontract)严谨规范※通俗易懂盐城工学院软件工程系—孔令东三.软件生命周期《《《内容线索软件危机软件工程三.软件生命周期软件过程严谨规范※通俗易懂盐城工学院软件工程系—孔令东软件生命周期软件产品或系统一系列相关活动的全周期软件定义软件开发可行性分析需求分析总体设计详细设计编码测试软件发布软件运行软件维护软件维护问题定义系统设计系统实现严谨规范※通俗易懂盐城工学院软件工程系—孔令东软件定义1.问题定义“要解决的问题是什么?”确定用户要求解决的性质、工程的目标和规模2.可行性研究“对于上一个阶段所确定的问题有行得通的解决办法吗?”经济、技术、法律可行性、不同的方案3.需求分析“为了解决这个问题,目标系统必须做什么”确定系统必须具有的功能和性能,系统要求的运行环境,并且预测系统发展的前景规格说明书(specification)严谨规范※通俗易懂盐城工学院软件工程系—孔令东软件开发…4.总体设计(概要设计)“概括地说,应该怎样实现目标系统?”设计出实现目标系统的几种可能的方案。推荐一个最佳方案确定程序由哪些模块组成以及模块之间的关系5.详细设计(模块设计)“应该怎样具体地实现这个系统呢?”设计出程序的详细规格说明确定实现模块功能所需要的算法和数据结构严谨规范※通俗易懂盐城工学院软件工程系—孔令东…软件开发6.编码和单元测试写出正确的易理解、易维护的程序模块并仔细测试每个模块7.综合测试集成测试和验收测试,现场测试或平行运行严谨规范※通俗易懂盐城

1 / 37
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功