任务1 软件工程概述

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

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

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

资源描述

软件工程与Rose建模任务1软件工程概述主讲教师:侯云霞软件工程与Rose建模本章学习要点软件的定义与分类软件工程的定义与基本思想软件危机的出现软件工程定义和基本准则软件工程思想方法与设计原则教学课时:2课时软件工程与Rose建模软件人才成长链1程序员2SA系统分析师3SD系统设计师4项目经理5产品经理6Architect(架构设计师)软件工程与Rose建模任务1软件是人们写给计算机的一系列指令以及相关文档的集合。软件由以下三部分组成:(1)在运行中能提供所希望的功能和性能的指令集(即程序)。(2)使程序能够正确运行的数据结构。(3)描述程序研制过程、方法所用的文挡。软件的定义程序用程序设计语言描述的,适合于计算机处理的语句序列(是代码的集合,没有其它任何文档)。软件是程序和开发,使用,维护所需的所有文档的集合。软件和程序的区别数据结构是计算机存储、组织数据的方式。是相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。软件工程与Rose建模任务1(1)易用性:指软件产品对用户来说有效、易学、高效、好记、少错和令人满意的程度。(2)可靠性:指在给定的时间内,计算机软件系统能实施应有功能的能力。(3)可维护性:指软件维护人员对该软件进行维护的难易程度。(4)安全性:确保软件系统不会被内部或外部因素危及的能力。软件的评价因素软件工程与Rose建模任务1软件发展的四个阶段出现的典型技术和主要特点1.程序设计阶段(20世纪50至60年代)2.程序系统阶段(20世纪60至70年代)3.软件工程阶段(20世纪70年代中后期)4.第四阶段(约20世纪90年代以来)软件的发展所谓批处理(batchprocessing)就是将作业按照它们的性质分组(或分批),然后再成组(或成批)地提交给计算机系统,由计算机自动完成后再输出结果,从而减少作业建立和结束过程中的时间浪费。一个实时系统是指计算的正确性不仅取决于程序的逻辑正确性,也取决于结果产生的时间,如果系统的时间约束条件得不到满足,将会发生系统出错。分布式软件系统是支持分布式处理的软件系统,是在由通信网络互联的多处理机体系结构上执行任务的系统。它包括分布式操作系统、分布式程序设计语言及其编译(解释)系统、分布式文件系统和分布式数据库系统等。计算机系统阶段软件工程与Rose建模任务11.抽象性指软件生产无明显制造过程,软件是一种逻辑实体,而不是具体的物理实体。2.可复制性指软件是通过人们的智力活动,把知识与技术转化成信息的一种产品,是在研制、开发中被创造出来的,它可以很简单的制作副本。3.不会磨损在软件的运行和使用期间,没有硬件那样的机械磨损、老化问题,而只有版本更新和升级的问题。4.依赖性软件的开发和运行经常受到计算机系统的限制,对计算机系统和用户需求有着不同程度的依赖性。5.开发效率低软件的开发至今尚未完全摆脱手工的开发方式,软件也很难象其它工业产品一样实现标准化、自动化生产。6.开发费用高随着社会的发展和信息化进程的推进,在计算机系统中,软件费用占有的比例越来越大。软件的特点软件工程与Rose建模任务1软件的分类软件工程与Rose建模任务1指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象(始于20世纪60年代)。什么是软件危机①对软件开发成本和进度的估计常常很不准确(难以控制)(丹佛新国际机场)。②用户对“已完成的”软件系统不满意的现象经常发生。③软件产品的质量常常靠不住(“阿丽阿娜”运载火箭)。④软件常常是不可维护的(典型例子--IBM360的操作系统)。⑤软件通常没有适当的文档资料。⑥软件开发生产率的提高速度远远跟不上计算机应用迅速普及深入的趋势。软件危机的特征(表现)软件工程与Rose建模任务1软件危机的特征(表现)⑦软件成本在计算机系统总成本中所占比例逐年上升。软件工程与Rose建模任务1(1)与软件本身的特点有关(2)与软件开发人员本身的弱点有关用户需求不明确缺乏正确的理论指导软件开发规模越来越大软件开发复杂度越来越高产生软件危机的原因软件工程面临两大问题:如何开发软件才能满足对软件快速增长的需求如何维护数量和规模不断增长和扩大的已有软件软件工程与Rose建模任务1产生软件危机的原因(宏观)(1)缺乏总体考虑,没有软件工程学概念或系统工程思想。--软件(2)对业务了解支离破碎,需求分析不准。--软件(3)企业依赖激情指挥,企业管理标准化、规范化、科学化程度不高,导致不能成功地应用“死板”的软件,它依赖于业务的“科学化”、“条理化”、“程序化”--企业(4)企业信息化程度和计算机应用水平低,导致无法准确描述需求。--企业(5)一把手对信息管理的重视程度不够。--企业(6)缺乏相互沟通,业务描述的详尽程度不能达到具备生活常识的人能够轻易理解。--企业、软件软件工程与Rose建模任务1产生软件危机的原因(微观)(1)软件的规模比较庞大,其开发和维护相当困难;(2)开发人员虽然有经验,但还存在着不少错误观点,没有实行工程化的方法;(3)不能与用户及时沟通,不能了解用户的实际需要;(4)没有统一的软件质量管理规范;(5)不能根据环境的变化而随时对产品进行改正。软件工程与Rose建模任务1(1)用分阶段的生命周期计划严格管理(2)坚持进行阶段评审(3)实行严格的产品控制(4)采用现代程序设计技术软件工程的7条基本原理1968年的NATO、IEEE【IEEE83】、IEEE【IEEE93】软件工程的理解:软件工程学科是一门指导计算机软件开发和维护的工程学科;软件工程不是科学,其目的是创造而不是发现;软件工程不是传统意义的工程:没有成熟的系统化方法。软件工程的定义(5)结果应能清楚地审查(6)开发小组的人员应该少而精(7)承认不断改进软件工程实践的必要性软件工程与Rose建模任务1(1)确定性(2)一致性(3)完备性(4)可验证性新的设计原则(1)抽象(2)信息隐蔽(3)模块化(4)局部化新的思想方法软件工程与Rose建模课堂实践1(1)通过学习小组讨论和上网查询资料形式完成。(2)找到一些常用的软件工程相关的网站,方便自己的学习。操作提示(1)根据您的理解,您认为怎样才能解决软件危机。(2)你所了解的目前我国的软件开发是一种什么样的状态,您认为哪些地方可以改进。(3)了解了软件工程的概念以后,你是怎样理解软件开发和编程的?操作要求软件工程与Rose建模任务1软件生存周期1、什么是软件生存周期(软件开发生命周期)描述了软件孕育、诞生、成长、成熟、衰亡的生存过程。软件工程与Rose建模任务1软件生存周期定义时期开发时期维护时期软件工程与Rose建模任务1“对于上一个阶段所确定的问题有行得通的解决办法吗?”系统分析员需要在较抽象的高层次上进行的分析和设计的过程,可以通过系统流程图、数据流图和数据字典进行描述。(1)技术可行性:使用现有的技术能实现这个系统吗?(2)经济可行性:这个系统的经济效益能超过它的开发成本吗?(3)操作可行性:系统的操作方式在这个用户组织内部行得通吗?2-可行性研究“要解决的问题是什么?”系统分析员应该提出关于问题性质、工程目标和规模的书面报告。并组织认真讨论这份书面报告。问题定义阶段是软件生存周期中最简短的阶段,一般只需要一天甚至更少的时间。1-问题定义软件工程与Rose建模任务12-可行性研究(系统流程图)软件工程与Rose建模任务11.什么是软件需求IEEE软件工程标准中关于需求的定义用户解决问题或达到目标所需的条件或权能。系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或权能。3-需求分析2.需求的特点(1)需求是根本的(2)需求是变化的(3)需求是多层次的软件工程与Rose建模任务13.需求的层次3-需求分析4.需求的标准(1)明确性(2)完整性(3)一致性(4)可测试性(5)可跟踪性和可修改性软件工程与Rose建模任务1需求分析阶段通常借助于数据流图描述对现有系统的认识或对目标系统的设想。3-需求分析软件工程与Rose建模任务1“概括地说,应该如何解决这个问题?”通常用层次图或结构图描绘软件的结构。(1)低成本的解决方案。(2)中等成本的解决方案。(3)高成本的完美的解决方案。4-总体设计软件工程与Rose建模任务1“应该怎样具体地实现这个系统呢?”通常用HIPO图或PDL语言或程序流程图描述详细设计的结果。5-详细设计软件工程与Rose建模任务1通过各种类型的测试及相应的调试,保证软件达到预定的的要求。最基本的测试是集成测试和验收测试。8-综合测试也称为软件的实现,也是程序员的主要工作。(1)选择程序设计语言(2)养成程序设计风格(3)遵循编码规范(4)进行单元测试7-编码和单元测试(1)改正性维护(2)适应性维护(3)完善性维护(4)预防性维护9-软件维护软件工程与Rose建模课堂实践2(1)通过学习小组讨论和上网查询资料形式完成。(2)结合自己的软件开发实践,进一步理解软件生命周期及各阶段的任务。操作提示(1)怎样理解软件生存周期模型?(2)软件生存周期模型中各阶段的主要描述工具有哪些?(3)需求分析在软件生存周期过程中处于怎样的地位?(4)查找一份需求规格说明书,通过阅读该说明书准确的获取系统的需求。(5)查找一份总体设计说明书,参照模板编写“B-C电子商务系统”的总体设计说明书。(6)查找一份详细设计说明书,参照模板编写“B-C电子商务系统”的详细设计说明书。操作要求软件工程与Rose建模课外拓展(1)通过一次完整的借还书过程体验应用图书管理系统借书和还书的基本流程。(2)参考已有图书管理系统说明书进行图形的绘制。(3)本次实践的目的在于培养使用辅助工具绘制图形的能力,而不在于设计。操作提示(1)在网上搜索《人月神话》的电子书,并进行阅读。(2)使用Word或Visio工具,绘制如图1-3所示的图书管理系统系统流程图。(3)使用Word或Visio工具,绘制如图1-5所示的图书管理系统系统中借还书操作的数据流图。(4)使用Word或Visio工具,绘制如图1-6所示的图书管理系统的功能模块图。操作要求

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

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

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

×
保存成功