软件系统开发方法ppt课件.ppt
《软件系统开发方法ppt课件.ppt》由会员分享,可在线阅读,更多相关《软件系统开发方法ppt课件.ppt(94页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统第第3 3章章 软件系件系统开开发方法方法1篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统计算机软件指计算机系统中的程序及其文档软件的分类系统软件支持软件应用软件软件的特征件的特征逻辑复杂开发复杂风险大维护困难上上节回回顾2篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统软件工程研究应用工程化方法构建和维护有效的、实用的高质量的软件的学科。软件工程目标生产具有正确性、
2、可用性以及价格合宜的产品。软件工程过程生产一个最终满足需求且达到工程目标的软件产品所需要的步骤,涉及软件生命周期的一系列相关过程。软件工程的原则选取适宜的开发模型采用合适的设计方法提供高质量的工程支持重视软件工程的管理上上节回回顾3篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统软件开发生命周期软件过程模型软件工程方法学传统软件开发方法面向对象的开发方法RUP统一软件开发过程敏捷软件开发方法本本节内容内容4篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统软件生存周期的概念和内
3、容;4种软件开发模型;软件开发方法和开发工具;传统软件工程和面向对象软件工程;RUP和敏捷过程。本章重点:本章重点:软件开发模型;软件开发方法和开发工具;本章本章难点:点:软件开发模型的使用。本章主要内容本章主要内容5篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统人是有生命期的,那么人是有生命期的,那么软件件呢?什么是呢?什么是软件生命周期?件生命周期?6篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统3.1 3.1 软件生命周期件生命周期软件生命周期表明从功能确定、设计到
4、开发成功投入使用,并在使用中不断地修改、增补和完善,直到被新的需要所代替而停止使用该软件的全过程。7篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统3.1 3.1 软件生命周期软件生命周期 问题定义 软件定义 可行性研究 需求分析 总体设计 详细设计软件生命周期 软件开发 编码 单元测试 综合测试 运行维护 持久满足用户需求8篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统案例分析案例分析某电力公司A,希望软件公司B 为他们制造一种”电费结算系统”,该系统用于结算每一户电表1
5、个月期间应该缴纳的电费。B 公司得到电力公司A的这个要求之后,开始进入制作“电费结算系统”软件的生命周期。9篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统问题定定义阶段段该阶段的关键任务是要明确:要解决的问题是什么?思考:以下几个选项中,哪个是B公司得出的结论:A.要解决某小区用电总度数问题B.要解决某小区总收电费问题C.要解决电力公司A管辖范围内的所有电表每月每户电费结算问题D.要解决全国区域内电表结算问题10篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统可性行研究可性
6、行研究阶段段该阶段的关键任务是要明确:做不做用最小的代价在尽可能短的时间内从经济、技术、社会因素等方面论证解决方案的可行性思考:B公司在可行性分析阶段应该做些什么事情,会得出什么结论?11篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统需求分析需求分析阶段段该阶段的关键任务是要明确:做什么1.通过与客户不断的讨论、协商,对目标系统提出完整、准确、清晰、具体的要求.2.用正式的文档准确地记录对目标系统的需求,形成软件需求规格说明书(SRS)注意点B公司在这个阶段应该对用户的要求进行详细的调研与分析,需要去了解电费结算中需要涉及到信息、结
7、算电费的标准与公式、这个电费结算系统的产出文档是什么等内容,确定该系统需要实现的功能,例如:对使用电表的用户进行管理,对1个用户1个月的电费计算,能够生成结算单。最后以文档的形式描述出需求规格。这些是指导B公司进行下一步工作的依据。12篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统概要概要设计(总体体设计)阶段段该阶段的关键任务是要明确:怎么做1.提出实现目标系统的几种方案,制定最佳方案的详细计划2.系统的体系结构设计3.阶段性成果:概要设计说明书、数据库或者数据结构说明书、组装测试计划等根据上一 步得到的需求规格说明书,将需求功能
8、进行模块化分,B公司的设计人员开始了对“电费结算系统”的设计。例如,系统管理模块,电费计算模块,生成结算单模块等。13篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统详细设计阶段段该阶段的关键任务是要明确:具体做法 设计出程序的详细规格说明,即详细地设计每个模块,确定实现模块功能所需要的算法和数据结构。阶段性成果:详细设计规格说明书和单元测试计划等对每一个模块,设计它的实现算法和数据结构。例如,电费计算模块,需要根据计算公式进行电费的计算。B公司的设计人员开始了对“电费结算系统”的设计。14篮球比赛是根据运动队在规定的比赛时间里得分多
9、少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统编码和和单元元测试阶段段该阶段的关键任务是编码和单元测试1.编写出正确的、易理解的、易维护的程序模块;2.仔细测试编写出的每一个模块3.阶段成果:经过单元测试后的代码,单元测试报告等。B公司程序员们开始对每个模块进行分工,各自负责1个或者多个模块,然后写代码阿写代码,代码写好了,还需要对自己所写模块的代码进行测试,保证自己的正确性。15篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统综合合测试阶段段 该阶段的关键任务是通过各种类型的测试(及调试)使软件达到预定的要求1.组
10、装测试:根据设计的软件结构,把经过单元测试检验的模块按某种策略装配起来,在装配过程中对程序进行必要的测试。2.验收测试:按照规格说明书的规定,由用户对目标系统进行验收,看其是否达到需求规格说明书中定义的全部功能和性能等方面的需求。3.验收测试结束后,经过评审的软件产品就可以交付投入使用了。经过上面的几个步骤,B公司的人员终于拿出了“电费结算系统”,他们需要对该系统进行各种测试,包括集成测试,系统测试,用户环境测试,验收测试等等,确保该系统能够平稳的运行在A公司中。16篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统软件件维护阶段段该阶
11、段的关键任务是通过各种必要的维护活动使系统持久地满足用户的要求。改正性改正性维护:诊断和改正在使用断和改正在使用过程中程中发现的的软件件错误适适应性性维护:修改修改软件易适件易适应环境的境的变化化完善性完善性维护:根据用根据用户的要求改的要求改进或或扩充充软件使它更完善件使它更完善预防性防性维护:修改修改软件件为将来的将来的维护活活动预先做准先做准备在电力公司A的实际使用当中,“电力结算系统”出现了一些问题,B公司需要派人员进行维护。此外,A公司对B公司所开发的系统比较满意,愿意继续让B公司对其进行其他方面功能的扩充,例如:分小区进行用电量和电费收益的统计分析等。17篮球比赛是根据运动队在规定
12、的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统软件开件开发的的这些些阶段,是按什么段,是按什么样的的顺序排序排列的呢?列的呢?经过软件工程件工程领域科学家在域科学家在实际项目的基目的基础上不断研究和上不断研究和发现,总结出了一些出了一些可以遵循的可以遵循的规律律过程模型程模型18篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统过程模型的程模型的选择首先,了解每一种过程模型的特点和适用性。其次,根据软件项目的特点选择合适的过程模型。值得注意的是,由于现实中项目的复杂性,通常会在一个项目中选择几种过程模
13、型嵌套使用。19篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统案例案例:某个老师(某个老师(T T)想要考察一个同学()想要考察一个同学(S S)的学习情况和技术水平,)的学习情况和技术水平,于是交给该学生一个任务。于是交给该学生一个任务。T:T:我有一个朋友想要一个图象浏览软件,能够查看多种格式的图我有一个朋友想要一个图象浏览软件,能够查看多种格式的图象,包括象,包括BMPBMP、TIFFTIFF、JPGJPG、PNGPNG,并且能够支持一般的放大、缩小、漫,并且能够支持一般的放大、缩小、漫游。你能做这样一个软件吗?游。你能做这样
14、一个软件吗?S S:就是类似:就是类似ACDSEEACDSEE这样的软件吗?这样的软件吗?T:T:差不多,不过不需要那么强大的功能,我这个朋友计算机是外差不多,不过不需要那么强大的功能,我这个朋友计算机是外行,最好能做的比较方便,傻瓜型的,例如象行,最好能做的比较方便,傻瓜型的,例如象ACDSEEACDSEE自动翻页这种功能自动翻页这种功能还是要的。还是要的。S S:我以前学过:我以前学过BMPBMP和和JPGJPG的图象格式解析,我想没有问题的图象格式解析,我想没有问题 T T:好的,给你:好的,给你3030天时间,下周你再来一趟,跟我讲一下你的工作进天时间,下周你再来一趟,跟我讲一下你的工
15、作进度。度。这位同学非常明白老师的意图,回去后想了一下,并列出了一个清单这位同学非常明白老师的意图,回去后想了一下,并列出了一个清单20篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统 一一 功能:功能:1。读取、显示、另存四种格式图片(。读取、显示、另存四种格式图片(BMP、TIFF、JPG、PNG)2。放大、缩小、漫游放大、缩小、漫游 3。列出当前目录下所有四种格式图片文件名。列出当前目录下所有四种格式图片文件名 4.PAGEUP(PAGEDOWN)自动调出当前目录上一张(下一张)图片)自动调出当前目录上一张(下一张)图片 二二
16、其它说明:其它说明:1。界面尽量简介,容易操作。界面尽量简介,容易操作 2。不要图片预览和打印。不要图片预览和打印 三三 开发工具:开发工具:VC 四四 开发环境:普通开发环境:普通PC机;机;Window xp 五五 工作量:工作量:1.研究一下四种图片的格式研究一下四种图片的格式 2.设计一个解析器类,解析这四种格式设计一个解析器类,解析这四种格式 3.设计一个文档类,实现读取、另存和目录浏览功能设计一个文档类,实现读取、另存和目录浏览功能 4.设计一个视图类,实现显示、缩放、漫游功能设计一个视图类,实现显示、缩放、漫游功能工作清单工作清单21篮球比赛是根据运动队在规定的比赛时间里得分多少
17、来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统软件制造的八个件制造的八个阶段段:可行性分析需求分析概要设计详细设计编码测试交付维护对话过程对话过程工作清单一、二工作清单一、二工作清单三、四、五工作清单三、四、五写代码前的思考过程写代码前的思考过程写代码写代码提交给老师检查提交给老师检查给老师朋友安装、讲解给老师朋友安装、讲解修正问题、改进软件修正问题、改进软件22篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统PART ONE The Product and the ProcessThe Product and the
18、 Process实际情况1一切顺利,学生S按期交付了软件,经过一两周的试用、修改、完善后,三方都比较满意,该软件在老师的朋友那里成为一个得心应手的工具。瀑布模型23篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统 软件过程模型软件过程模型(1 1)瀑布模型)瀑布模型(Waterfall Model Waterfall Model)传统瀑布模型瀑布模型24篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统实际的瀑布模型的瀑布模型25篮球比赛是根据运动队在规定的比赛时间里得分多少来
19、决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统传统瀑布模型的特点瀑布模型的特点 时间上具有顺序性和依赖性推迟实现的观点质量保证的观点 1)审核机制 2)文档齐全26篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统瀑布模型适合于用户需求明确、完整、无重大变化的软件项目开发。瀑布模型的成功在很大程度上是由于它基本上是一种文档驱动的模型。“瀑布模型是由文档驱动的”这个事实也是它的一个主要缺点。实际项目很少按照该模型给出的顺序进行;用户常常难以清楚地给出所有需求;用户必须有耐心,等到系统开发完成。瀑布模型的瀑布模型的优缺点缺点2
20、7篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统实际情况2 一周后,学生去见老师,并提交了工作清单,他发现老师的这位朋友(C)和老师在一起。S:这是工作清单,我已经研究清楚了四种文件的格式,可以写代码了。T:很好,不过我这位朋友有一些新想法,你不妨听听。C:你好。我新买了一个扫描仪,你的程序可不可以直接扫描图片进来。S:你可以自己扫描呀,买扫描仪的时候一般都会送正版软件的。C:是的,可是我一直不太会用,你知道我计算机水平不高,学一些新东西很累,也没有时间,如果你能直接链接扫描仪,我只要学会你的软件就行了,我愿意多支付一些费用,还有,
21、我想建一个图片库,你知道,我工作时需要上百个图片,经常找不到,最好还带模糊查询。PART ONE The Product and the ProcessThe Product and the Process28篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统PART ONE The Product and the ProcessThe Product and the Process实际情况2(续)S:.!C:还有一些,现在一时想不起来,我想起来的话会再跟 你联系,时间上可以长一些。S:.!T:要不这样吧,你先做一个样子出来给C看看,一
22、边做,一边改。C:这样最好,看见一个基本样子我就知道我想要什么了 事情就这样定下来了,S愤怒的撕掉了自己的工作清单.,回去后S花1天时间用VB做了个样子,只能读BMP和JPG文件,做了些菜单和工具栏,用ACCESS建了一个图片库。就这个“假”的程序,S和C讨论了一天,S又修改了几次,又讨论了几次,一周后,这个“假”的程序表面看起来和真的一模一样。29篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统实际情况2(续)于是S打算用VC重写这个程序,但是他很快发现继续用VB写更方便,因为至少界面不用重做了,于是,两个月后,这个事情终于结束了。
23、S顺利的完成了他的毕业设计JPG压缩优化算法设计,C一直使用这个软件管理他的图片,并庆幸花了这么少的钱得到了这么有用的东西,而T,则正在考虑如何为他下一批学生分派任务。PART ONE The Product and the ProcessThe Product and the Process原型模型原型模型30篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统(2 2)原型模型)原型模型快速原型模型快速原型模型 (Rapid Prototype ModelRapid Prototype Model)在用户不能给出完整、准确的需求说明,
24、或者开发者不能确定算法的有效性、操作系统的适应性或人机交互的形式等许多情况下,可以根据用户的一组基本需求,快速建造一个原型(可运行的软件),然后进行评估,进一步精化、调整原型,使其满足用户的要求,也使开发者对将要做的事情有更好的理解。建造建造/修改修改原型原型 听取用听取用 户意意见用用户测试运行运行原型原型原型原型实现范型范型篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统快速原型快速原型验证规格格说明明验证设计验证编码测试综合合测试维护变化的需求化的需求验证维护过程程开开发过程程32篮球比赛是根据运动队在规定的比赛时间里得分多少来
25、决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统原型模型存在的原型模型存在的问题 为了使原型尽快的工作,没有考虑软件的总体质量和长期的可维护性。为了演示,可能采用不合适的操作系统、编程语言、效率低的算法,这些不理想的选择成了系统的组成部分。开发过程不便于管理。有效的使用原型模式有效的使用原型模式 建造原型仅是为了定义需求,之后就被抛弃(或被部分抛弃),实际的软件在充分考虑了质量和可维护性之后才被开发。33篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统(3 3)增量模型)增量模型 (Incremental ModelInc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 系统 开发 方法 ppt 课件
限制150内