第1章__软件工程概述.ppt_第1页
第1章__软件工程概述.ppt_第2页
第1章__软件工程概述.ppt_第3页
第1章__软件工程概述.ppt_第4页
第1章__软件工程概述.ppt_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第1章 软件工程概述,主编:刘志成,本章学习导航,本章学习要点,软件的定义与分类 软件工程的定义与基本思想 软件危机的出现 软件生存周期思想 软件生存周期各阶段任务 教学课时:4课时,任务1,了解软件、软件工程和软件危机的基本概念,理解软件开发的工程化思想,任务目标,小组讨论法 资料查询法,学习方法,任务1,(1)易用性:指软件产品对用户来说有效、易学、高效、好记、少错和令人满意的程度 。 (2)可靠性:指在给定的时间内,计算机软件系统能实施应有功能的能力。 (3)可维护性:指软件维护人员对该软件进行维护的难易程度。 (4)安全性:确保软件系统不会被内部或外部因素危及的能力。,软件的评价因素,

2、软件是人们写给计算机的一系列指令以及相关文档的集合。 软件由以下三部分组成: (1)在运行中能提供所希望的功能和性能的指令集(即程序)。 (2)使程序能够正确运行的数据结构。 (3)描述程序研制过程、方法所用的文挡。,软件的定义,任务1,软件发展的四个阶段出现的典型技术和主要特点,1程序设计阶段(20世纪50至60年代) 2程序系统阶段(20世纪60至70年代) 3软件工程阶段(20世纪70年代中后期) 4第四阶段(约20世纪90年代以来),软件的发展,任务1,1抽象性 指软件生产无明显制造过程,软件是一种逻辑实体,而不是具体的物理实体 。 2可复制性 指软件是通过人们的智力活动,把知识与技术

3、转化成信息的一种产品,是在研制、开发中被创造出来的,它可以很简单的制作副本。 3不会磨损 在软件的运行和使用期间,没有硬件那样的机械磨损、老化问题,而只有版本更新和升级的问题。 4依赖性 软件的开发和运行经常受到计算机系统的限制,对计算机系统和用户需求有着不同程度的依赖性。 5开发效率低 软件的开发至今尚未完全摆脱手工的开发方式,软件也很难象其它工业产品一样实现标准化、自动化生产。 6开发费用高 随着社会的发展和信息化进程的推进,在计算机系统中,软件费用占有的比例越来越大。,软件的特点,任务1,软 件 的 分 类,任务1,(1)软件开发费用和进度失控 丹佛新国际机场 。 (2)软件的可靠性差

4、“阿丽阿娜”运载火箭 (3)生产出来的软件难以维护 典型例子-IBM360的操作系统,软件危机的特征,指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象 (始于20 世纪60年代 )。,什么是软件危机,(1)与软件本身的特点有关 (2)与软件开发人员本身的弱点有关 用户需求不明确 缺乏正确的理论指导 软件开发规模越来越大 软件开发复杂度越来越高,软件危机的原因,任务1,(1)用分阶段的生命周期计划严格管理 (2)坚持进行阶段评审 (3)实行严格的产品控制 (4)采用现代程序设计技术,软件工程的7条基本原理,1968年的NATO 、IEEE

5、【IEEE83】 、IEEE【IEEE93】 软件工程的理解: 软件工程学科是一门指导计算机软件开发和维护的工程学科; 软件工程不是科学,其目的是创造而不是发现; 软件工程不是传统意义的工程:没有成熟的系统化方法。,软件工程的定义,(5)结果应能清楚地审查 (6)开发小组的人员应该少而精 (7)承认不断改进软件工程实践的必要性,任务1,(1)确定性 (2)一致性 (3)完备性 (4)可验证性,新的设计原则,(1)抽象 (2)信息隐蔽 (3)模块化 (4)局部化,新的思想方法,课堂实践 1,(1)通过学习小组讨论和上网查询资料形式完成。 (2)找到一些常用的软件工程相关的网站,方便自己的学习。,

6、操作提示,(1)根据您的理解,您认为怎样才能解决软件危机。 (2)你所了解的目前我国的软件开发是一种什么样的状态,您认为哪些地方可以改进。 (3)了解了软件工程的概念以后,你是怎样理解软件开发和编程的?,操作要求,任务2,了解软件生存周期模型及软件生存周期的阶段划分及各阶段的主要任务,任务目标,小组讨论法 资料查询法 类比学习法,学习方法,任务2,软 件 生 存 周 期,定 义 时 期,开 发 时 期,维 护 时 期,任务2,“对于上一个阶段所确定的问题有行得通的解决办法吗?” 系统分析员需要在较抽象的高层次上进行的分析和设计的过程,可以通过系统流程图、数据流图和数据字典进行描述。 (1)技术

7、可行性:使用现有的技术能实现这个系统吗? (2)经济可行性:这个系统的经济效益能超过它的开发成本吗? (3)操作可行性:系统的操作方式在这个用户组织内部行得通吗?,2-可行性研究,“要解决的问题是什么?” 系统分析员应该提出关于问题性质、工程目标和规模的书面报告。并组织认真讨论这份书面报告。问题定义阶段是软件生存周期中最简短的阶段,一般只需要一天甚至更少的时间。,1-问题定义,任务2,2-可行性研究(系统流程图),任务2,1什么是软件需求 IEEE软件工程标准中关于需求的定义 用户解决问题或达到目标所需的条件或权能。 系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或权能。

8、 一种反映上面两条所描述的条件或权能的文档说明。,3-需求分析,2需求的特点 (1)需求是根本的 (2)需求是变化的 (3)需求是多层次的,任务2,3需求的层次,3-需求分析,4需求的标准 (1)明确性 (2)完整性 (3)一致性 (4)可测试性 (5)可跟踪性和可修改性,任务2,需求分析阶段通常借助于数据流图描述对现有系统的认识或对目标系统的设想。,3-需求分析,任务2,“概括地说,应该如何解决这个问题?”通常用层次图或结构图描绘软件的结构。 (1)低成本的解决方案。 (2)中等成本的解决方案。 (3)高成本的完美的解决方案。,4-总体设计,任务2,“应该怎样具体地实现这个系统呢?” 通常用

9、HIPO图或PDL语言或程序流程图描述详细设计的结果 。,5-详细设计,任务2,通过各种类型的测试及相应的调试,保证软件达到预定的的要求。最基本的测试是集成测试和验收测试。,8-综合测试,也称为软件的实现,也是程序员的主要工作。 (1)选择程序设计语言 (2)养成程序设计风格 (3)遵循编码规范 (4)进行单元测试,7-编码和单元测试,(1)改正性维护 (2)适应性维护 (3)完善性维护 (4)预防性维护,9-软件维护,课堂实践 2,(1)通过学习小组讨论和上网查询资料形式完成。 (2)结合自己的软件开发实践,进一步理解软件生命周期及各阶段的任务。,操作提示,(1)怎样理解软件生存周期模型? (2)软件生存周期模型中各阶段的主要描述工具有哪些? (3)需求分析在软件生存周期过程中处于怎样的地位? (4)查找一份需求规格说明书,通过阅读该说明书准确的获取系统的需求。 (5)查找一份总体设计说明书,参照模板编写“B-C电子商务系统”的总体设计说明书。 (6)查找一份详细设计说明书,参照模板编写“B-C电子商务系统”的详细设计说明书。,操作要求,课外拓展,(1)通过一次完整的借还书过程体验应用图书管理系统借书和还书的基本流程。 (2)参考已有图书管理系统说明书进行图形的绘制。 (3)本次实践的目的在于培养使用辅助工具绘制图形的能力,而不在于设计。,操作提示,(1)在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论