【教学课件】第1章软件工程基础.ppt
《【教学课件】第1章软件工程基础.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第1章软件工程基础.ppt(62页珍藏版)》请在三一办公上搜索。
1、第一章 软件工程基础,主要内容,计算机系统工程 软件工程 软件生存期模型 软件开发方法 软件工程环境,软件与计算机的系统要素之间的关系,大多数软件系统都是为了开发满足某种需求而建立。这些软件必须要计算机系统的支持。不论系统的自动化程度有多高,都需要人的参与。任何系统都必须配备使用手册及必要的表格和其他文档。在网络时代的应用系统中,绝大多数应用系统都离不开数据库和网络这样的基础设施。如图1.1所示。,过程,输出,输入,文档,硬件,软件,人,系统,数据库、网络,图1.1 基于计算机的系统要素,1.1计算机系统工程,计算机系统工程:与构造基于计算机系统有关的过程、方法和技术。一种问题求解活动,目的是
2、揭示与分析所期望的功能,并把这些功能分配到系统的各个独立系统元素中去。计算机系统工程师与用户充分合作,以确认用户的目标与约束。,硬件与硬件工程,计算机系统工程师根据系统需求为硬件系统指派任务,产生硬件需求。硬件工程师根据硬件需求设计、制造或选择硬部件或设备。硬件工程过程分为三个阶段,即计划和定义阶段;设计和样机实现阶段;生产、销售和售后服务阶段。,(a)计划与定义阶段,该阶段的任务是制订开发计划,确定项目成本预算和工程进度,并进行详细需求分析,确定硬件规格说明。,设计图纸,设计图纸,样机,(b)设计与样机实现阶段,该阶段的任务是分析设计,画出设计图,必要时建造原型对样机进行测试,最后进行制造分
3、析,画出生产图。,产品,备件,(c)制造、销售与售后服务阶段,该阶段的任务是按照质量保证计划和要求生产硬件产品。,软件与软件工程,计算机软件:软件工程师设计和建造的产品。包括:可执行的程序+开发各阶段文档+各种数据。软件工程是研究软件生产和软件管理的工程科学。内容包括:市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护和版本升级等。软件工程模型一般包括:软件项目的定义阶段、软件开发阶段、软件的检验、交付与维护阶段。,原型,(a)定义阶段,原型,(b)开发阶段,操作过程,(c)检验、交付与维护阶段,人类工程,关键是处
4、理软件与人的交互问题。现在“人机界面友好”的要求,已成为基于计算机系统的一项重要技术指标。人类工程包括下列步骤:1.创建系统功能的外部模型 2.确定为完成此系统功能人和计算机应分别完成的任务 3.考虑界面设计中的典型问题 4.借助CASE工具构造界面原型和最终实现设计模型 5.从质量的角度对界面进行评估,数据库工程,数据库系统是基于计算机系统的重要组成部分,它将有关的硬件、软件、数据和数据库管理人员结合起来,为用户提供信息服务。数据库系统的开发方法主要有:结构化生命周期开发方法、原型法、面向对象的开发方法等。,数据库工程的任务,数据库工程应完成下列任务:1.确定系统的各项指标并进行评估和计划制
5、定 2.论证、选择和配置数据库系统 3.数据库设计与实现 4.数据库的管理与维护,网络工程,网络工程是研究网络系统的规划、设计与管理的工程科学,要求工程技术人员根据既定的目标,严格依照行业规范,制定网络建设的方案,协助工程招投标、设计、实施、管理与维护等活动。,网络工程的任务,网络工程应该完成以下任务:1.需求分析。2.总体设计分析,确定该网络的服务类型,进而确定系统建设的具体目标以及系统构件拓扑结构等。3.实施,即选择合适的设备,按设计方案实现网络建设。4.验收与维护。,1.2软件工程,软件1.软件定义(1)在运行中能提供所希望的功能和性能的指令集(即程序);(2)使程序能够正确运行的数据结
6、构;(3)描述程序研制过程、方法所用的文档。,2.软件的特点,软件是一种逻辑实体,不是具体的物理实体,具有抽象性。软件是通过人们的智力活动,把知识与技术转化成信息的一种产品,是在研制、开发中被创造出来的。在软件的运行和使用期间,没有硬件那样的机械磨损、老化问题。,软件的开发和运行经常受到计算机硬件系统的限制,软件对计算机硬件系统有着不同程度的依赖关系。软件的开发尚未完全摆脱手工的开发方式。软件的开发费用越来越高,成本相当昂贵。软件的开发是一个复杂的过程,管理是软件开发过程中必不可少內容。,软件工程的概念,软件发展的四个阶段1950s1960s中:规模较小的程序,个体化的软件开发,只有程序清单。
7、1960s中1970中:“软件作坊”,广泛使用产品软件。1970中 1980s:微处理器的出现并广泛应用。分布式系统、嵌入智能。1980s:网络迅速普及,强大的桌面系统、面向对象技术、专家系统、人工智能、神经网络、并行计算、网格计算、虚拟组织。,软件发展过程中存在的问题,软件开发能力不能满足人们的需要;社会对软件的依赖程度加大,人们普遍关注软件的安全和可靠性;若干年前开发的应用软件经过几十次修改已无人认识它的内部结构,己经不可维护;由于经济原因,嵌入式系统存在许多怪现象,企业不愿意投入资源再生产,而采取打补丁+时髦界面的方法。,1.软件危机,软件危机是指在计算机软件的开发和维护过程中所遇到的一
8、系列严重问题。典型表现:开发成本和进度的估计常常很不准确;用户对“已完成的”软件系统不满意;“闭门造车”;软件质量不可靠;软件常常是不可维护的;软件成本的比例逐年上升;软件产品“供不应求”;,2.消除软件危机的途径,消除“软件就是程序”的错误观念。一个软件必须由一个完整的配置组成,事实上,软件是程序、数据及相关文档的完整集合。软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。成功的软件开发技术和方法。软件工具和软件工程支撑环境。,3.软件工程的定义,1968年 NATO 计算机科学会议软件危机根源解决途径软件工程“概括地说,软件工程是指导
9、计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。”,4.软件工程的目标,软件工程的目标是明确的,就是研制、开发与生产出具有良好软件质量和费用合算的产品。采用工程化方法和途径来开发与维护软件。应该开发和使用更好的软件工具。采取必要的管理措施。,5.软件工程的基本原理(B.W.Boehm),用分阶段的生命周期计划严格管理坚持进行阶段评审错误出现的时间:在编代码之前(63%:37%)改正错误的代价:发现得月晚,开发代价越高实行严格的产品控制基线配置
10、、变动控制采用现代程序设计技术结果应能清楚地审查开发小组的人员应该少而精承认不断改进软件工程实践的必要性,6.软件工程研究的基本内容,软件工程学分为:理论与结构、方法、工具与环境、管理和规范等。理论与结构包括:程序正确性证明理论、软件可靠性理论、软件成本估算模型、软件开发模型、模块划分原理等。软件开发技术包括:软件开发方法学、软件工具和软件开发环境。软件工程管理包括:软件开发管理和软件经济管理。,软件生命周期,软件生存周期就是从提出软件产品开始,直到该软件产品被淘汰的全过程。我国软件工程标准将软件生命周期分成以下几个阶段:软件定义:确定软件开发总目标;确定工程的可行性;导出实现策略及系统功能;
11、估计资源和成本,并且制定工程进度表。问题定义、可行性研究、需求分析软件开发:具体设计和实现在前一个时期定义的软件总体设计、详细设计、编码和单元测试、综合测试软件维护:使软件持久地满足用户的需要。,软件生命周期(续1),1.问题定义“要解决的问题是什么?”确定用户要求解决的性质、工程的目标和规模。2.可行性研究“对于上一个阶段所确定的问题有行得通的解决办法吗?”经济可行性、技术可行性、法律可行性、不同的方案3.需求分析“为了解决这个问题,目标系统必须做什么”确定系统必须具有的功能和性能,系统要求的运行环境,并且预测系统发展的前景。规格说明书(specification),软件生命周期(续2),4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 软件工程 基础
链接地址:https://www.31ppt.com/p-5658155.html