《软件工程初步》PPT课件.ppt
《《软件工程初步》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《软件工程初步》PPT课件.ppt(367页珍藏版)》请在三一办公上搜索。
1、软件工程初步,电子教案制作人员,邬 天 菊,贾 长 云,朱 敏,内容摘要,本书为配合国家技能型紧缺人才培养培训工程并根据计算机应用和软件专业领域技能型紧缺人才培养培训指导方案的要求而编写。本书针对职业院校学生的特点,充分体现指导方案中素质为基础、能力为本位、需求为依据、就业为导向的基本原则,教学内容注重选择当前软件工程中的一些新理论、新方法与新技术,通过一个小型软件项目为案例贯穿全书,使学生在学完后能基本掌握软件工程的基本理论与方法在软件项目开发中的实际应用。其主要内容涉及软件工程中的软件策划、需求分析、软件设计、编码实现、软件测试及实施与维护等方面的内容,考虑职业院校学生的就业定位,重点侧重
2、于详细设计、软件编码、软件测试、软件维护这几个方面的基本知识与技能。为保持教学内容的先进性同时便于对教学进行科学灵活的组织,对诸如UML方法、面向对象的分析、设计与编程、面向对象软件测试、CMM等也作了介绍。本书可以作为职业院校计算机类专业的软件工程课程的教材或教学参考书,也可作为IT行业程序员、测试员、维护员等的培训教材或参考书。,主要内容,第1章 软件工程概述,第2章 系统策划,第3章 需求分析,第4章 软件设计,第5章 编码,第6章 软件测试,第7章 软件实施与维护,第8章 软件项目管理,第9章 软件过程管理,第一章 软件工程概述,本章主要内容,1.1 软件与软件工程,1.2 软件生存周
3、期与开发模型,1.3 软件工程过程,1.4 软件开发工具简介,1.5 学习指南,11 软件及软件工程软件,软件的定义,在运行中能提供所希望的功能与性能的程序 使程序能够正确运行的数据及其结构描述软件研制过程和方法所用的文档,软件的特点,软件角色的双重性 软件不是传统意义上的被制造 软件不会“磨损”,但会退化 软件都是手工定制的 开发过程的复杂与费用的昂贵,11 软件及软件工程软件,软件的分类,11 软件及软件工程软件工程,软件危机,软件开发的生产率远远不能满足客观需要 开发的软件产品往往不能满足用户的实际需要 软件产品的质量低下且可维护性差 很难估计软件开发的进度计划与成本,软件神话,有了软件
4、开发书籍,就可以解决软件开发中的一切问题进度滞后了?好,增加程序员只要程序正确,项目就成功,文档可有可无软件质量只能在正式投入运行后才知道,11 软件及软件工程软件工程,软件工程的定义,IEEE定义:软件工程是将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件。通俗地说,软件工程是指导软件开发和维护的一门工程学科。它采用工程的概念、原理、技术和方法,把经过时间检验而证明是正确的管理技术和当前能够得到的最好的技术方法结合起来,用于开发和维护软件。,11 软件及软件工程软件工程,软件工程层次化技术,软件工程三个要素:方法、工具、过程,11 软件及软件工程软件工程
5、,软件工程的作用,【成功案例】美国联邦速递公司(FedEX)的管理信息系统【失败案例】英国伦敦的急救服务管理信息系统,软件工程的基本原理,用分阶段的生存周期计划严格管理 坚持进行阶段评审 实行严格的产品控制 采用现代程序设计技术 结果应能清楚地审查 开发小组的人员应该少而精 承认不断改进软件工程实践的必要性,12 软件生存周期与开发模型生存周期,软件生存周期,人的生存周期,婴儿幼儿儿童少年青年中年老年死亡,软件的生存周期,软件定义,软件开发,软件支持,问题定义,可行性分析,需求分析,概要设计,详细设计,编 码,测 试,软件发布,软件运行,维护或退役,12 软件生存周期与开发模型生存周期,软件定
6、义阶段,问题定义可行性分析立项或签订合同,软件开发阶段,需求分析软件设计编码与测试 发布或安装验收,软件开发阶段,软件的使用、运行软件维护,12 软件生存周期与开发模型开发模型,问题的提出软件工程需要解决什么问题?,软件开发模型,做什么软件?怎么做软件?软件如何适应变化?,软件开发过程概括,是软件工程思想的具体化它是跨越整个软件生存周期的各个阶段所需要的全部工作与任务的结构框架,12 软件生存周期与开发模型开发模型,瀑布模型线性顺序模型,可行性分析,需求分析,设 计,编 码,测 试,支 持,12 软件生存周期与开发模型开发模型,瀑布模型的特点:,瀑布模型的应用范围,阶段间具有顺序性和依赖性每个
7、阶段必须完成规定的文档;每个阶段结束前完成文档审查,及早改正错误,但:开发过程一般不能逆转,否则代价太大。实际的项目开发很难严格按该模型进行。客户往往很难清楚地给出所有的需求,而该模型却要求如此。软件的实际情况必须到项目开发的后期客户才能看到,这要求客户有足够的耐心。,用户的需求非常清楚全面,且在开发过程中没有或很少变化 开发人员对软件的应用领域很熟悉。用户的使用环境非常稳定。开发工作对用户参与的要求很低,12 软件生存周期与开发模型开发模型,原型模型,用户测试运行原型,建造/修改 原型,听取用 户意见,12 软件生存周期与开发模型开发模型,原型模型的特点:,原型模型的应用范围,可以得到比较良
8、好的需求定义,容易适应需求的变化。有利于开发与培训的同步。开发费用低、开发周期短、维护容易且对用户更友好。客户与开发者对原型理解不同准确的原型设计比较困难不利于开发人员的创新,对所开发的领域比较熟悉而且有快速的原型开发工具项目招投标时,可以以原型模型作为软件的开发模型进行产品移植或升级时,或对已有产品原型进行客户化工作时,原型模型是非常适合的。,12 软件生存周期与开发模型开发模型,基于构件的开发模型,特点:,属于演化式开发或迭代式开发,其开发过程:客户的交流,获得问题的定义标识基本类计划与风险分析类的复用或重新开发构造系统用户评估,采用了先进的面向对象技术。基于构件库的开发,这是软件复用的基
9、础,开发速度快。融合了螺旋模型特征支持软件开发的迭代方法,是一种演化型的开发技术。,13 软件工程过程,软件工程过程的概念,ISO9000,过程:软件工程的三要素之一从开发到维护软件相关产品所采取一系列管理活动。主要包括项目管理、配置管理、质量管理、文档管理等。,IS09001:设计、开发、生产、安装和服务的质量保证模式 IS09002:生产、安装和服务的质量保证模式 IS09003:最终检验和试验的质量保证模式。,13 软件工程过程,CMM软件能力成熟度模型,CMM(Capability Maturity Model),CMM的级别,开发工具的作用与功能,14 软件开发工具简介CASE工具,
10、计算机辅助软件工程,CASE,作用,认识与描述系统需求,保存与管理开发过程中的信息,代码的生成,文档的编制与生成,软件项目的管理,开发工具的分类,14 软件开发工具简介CASE工具,分类方法,按应用阶段划分,按功能划分,设计工具,分析工具,项目管理,软件配置,质量保证,分析设计,计划工具,界面开发,客户服务器,Web开发,IBM Rational工具,14 软件开发工具简介常用CASE工具,Rational公司是专门从事CASE工具研制与开发的软件公司,2003年被IBM公司收购。该公司所研发的Rational系列软件是完整的CASE集成工具,贯穿从需求分析到软件维护的整个软件生存周期。,需求
11、分析与设计工具,产品主要构成,测试工具,软件配置管理工具,Rose,PurifyPlus Robot,ClearCase,北大青鸟工具,14 软件开发工具简介常用CASE工具,北大青鸟系列CASE工具北京北大青鸟软件有限公司开发研制的,在国内有较高的知名度,北京大学软件工程国家工程研究中心就设在该公司。,产品主要构成,微软版本管理器VSS,14 软件开发工具简介常用CASE工具,版本管理是软件配置管理中的核心工作,由Microsoft公司开发的Visual SourceSafe 6.0使用非常广泛而且很容易获得。,文件检入与检出,产品主要功能,版本控制,文件的拆分与共享,权限管理,本书案例介绍
12、教师教学网络测评系统,15 学习指南学习案例,为实现教学质量的量化考核,借此评价教师的教学水平并有针对性的提高教学质量,某高校开发了基于校园网的教学质量网上测评系统四大功能模块数据采集模块,学生对一个学期中所学课程的各任课教师的教学水平及师德两个方面给予的百分制评价分值数据统计模块,根据教务处规定的统计方法统计出每位任课教师在一个学期中的教学水平及师德的最终测评得分。数据查询模块,查询全校任课教师的最终得分及名次,还能够查询各个班级的学生对任课教师的教学水平及师德的评分情况。辅助功能模块,包括基础数据的管理、测评类型的管理等。,本书案例介绍教师教学网络测评系统,15 学习指南学习案例,系统运行
13、界面浏览器端:,本书案例介绍教师教学网络测评系统,15 学习指南学习案例,系统运行界面服务器端:,第二章系 统 策 划,这个项目是做还是不做呢?,还是先去做一下市场调研或与客户谈谈签约的事吧!,2.1可行性研究,2.2 软件项目计划,本章主 要内容,21可行性研究-问题的定义,问题定义,确定软件开发项目必须完成的目标。其关键问题是:“要解决什么问题?”,含义,主要内容,问题的背景、总体要求与目标、类型范围、功能规模、实现目标的方案、开发的条件、环境要求等,问题定义报告应包括内容,项目名称,使用方,对问题的概括定义,项目的目标,项目的规模,21可行性研究-问题的定义,案例分析,某校在校生近500
14、0人,每学期在期中都要进行一次对教师的教学质量测评,要求所有学生都要参加。以前测评的方式都是手工操作,由教务处发出书面问卷调查表,每个同学填写完成后交回到教务处。然后教务处再使用手工的方法对问卷进行统计汇总,最后得出学生对每一位教师的总体评价。这种方法一方面浪费了大量的财力、人力,另一方面统计繁琐且容易出错。考虑到现在学校校园网已经建成,为节省开支,提高效率,学校决定委托计算机系开发一套基于校园网的教师教学网络测评系统,1、问题的提出,21可行性研究-问题的定义,案例分析,2、问题分析,系统分析人员经过与学校教务部门及各相关单位进行充分的调查后,了解了该项目的一些背景资料与基本要求。教师测评分
15、两大部分,一是师德测评;二是教学质量测评。师德测评有4项指标,教学质量测评有14项指标。系统要实现的目标是:所有学生在指定时间内在指定机房的计算机上完成对任课教师的测评打分,测评过程全部采用选择的方法,不需要输入任何信息 所有的测评数据保存在学校中心服务器上,有较为严格的安全措施 系统能对所有的数据进行统计汇总,得出每一位教师的测评结果,并能进行排序、输出。系统开发的大体费用在1.2万元左右,开发周期大约6个人月。,21可行性研究-问题的定义,案例分析,3、系统定义报告,根据以上分析,形成如下的系统定义报告。,案例文档之一系统定义报告用户单位:XX学校教务处 负责人:XXX开发单位:XX学校计
16、算机系 分析员:XXX项目名称:基于校园网的教学质量测评系统问题概述:教师教学质量测评每学期必须进行一次,原有的手工方法存在资源浪费、效率极低、结果不准确等问题。(其它的相关说明)项目目标:开发一个效率高且相对通用的教师教学网络测评系统。项目规模:开发成本大约1.2万元,开发周期约6个人月。可行性研究:建议进行一周,费用不超过500元。,21可行性研究-可行性研究的任务与步骤,一、可行性研究的任务,2、经济可行性,3、社会因素的考虑,分析成本收益与短期效益长远利益这两个方面。要作出投资的估算和系统投入运行后可能获得的经济效益或可节约的费用估算。,分析利用现有的技术能否实现,能否解决系统中的技术
17、难题,所开发的系统能否达到所要求的功能和性能,系统对技术人员的要求,现有的技术人员能否胜任,开发所需要的软件与硬件能否如期得到等,1、技术可行性,主要考虑的是市场、政策与法律方面的问题,21可行性研究-可行性研究的任务与步骤,二、可行性研究的步骤,1、重新检查系统定义报告中相关内容,明确对目标系统限制与约束。,2、研究目前正在使用的系统,找出其基本功能和所需要的基本信息,绘制系统流程图。,3、设想新系统高层逻辑模型,分析归纳现有系统,最后建造新物理系统。,4、导出各种实现方案并对方案进行评价,5、推荐可行性方案,6、编写可行性研究报告,21可行性研究-技术可行性分析,技术可行性分析 的三个方面
18、,1、在给定的时间内能否实现系统定义中的功能。,2、软件的质量如何?如实时性、正确性和精确性。,3、软件的生产率如何?高生产率意味着利润。,做得了吗?做得好吗?做得快吗?,先分析,21可行性研究-技术可行性分析,在进行技术可行性分析时,一个重要的内容是对现有系统与拟开发的系统绘制系统流程图。系统流程图中所用的符号与程序设计语言中的程序流程图所用的符号类似。但系统流程图与程序流程图不同,系统流程图表达的是信息在系统中各个部件之间的流动情况,而程序流程图表达的是程序对信息进行加工处理的控制过程,系统流程图,21可行性研究-技术可行性分析,系统流程图中的常用符号,系统流程图中的常用符号,21可行性研
19、究-技术可行性分析,教师教学网络测评系统流程图,21可行性研究-技术可行性分析,21可行性研究-经济可行性分析,经济可行性分析,1.成本分析,2.收益分析,办公成本,人员成本,资源成本,其它成本,货币的时间价值,纯收入,如果从经济可行性的角度分析得出纯收入小于或等于零的结论,则这个项目是不能投资的,最难准确核算,纯收入=总收入折现-总成本折现,P=F(1+i)-n 称为折现,21可行性研究-经济可行性分析,常用成本估算策略,1、在项目后期进行估算,即完全精确核算,2、基于已经完成的类似项目进行估算,3、使用相对简单的分解技术以生成项目成本及工作量的估算,4、使用一个或多个经验模型进行软件成本及
20、工作量的估算估算,不能选择,比较切实可行,两种常用策略,21可行性研究-经济可行性分析,两种成本估算方法,代码行法(LOC),功能点法(FP),每行代码的平均成本乘以程序的行数,采用软件所提供的功能来测量的,21可行性研究-案例分析(可行性研究),可行性研究最终生成可行性研究报告,案例文档之二可行性研究报告1引言1.1编写目的本报告分析了教师教学网络测评系统开发的可行性,请院领导审阅并对是否进行该系统的开发做出批示。1.2项目背景建议进行教师教学网络测评系统的开发。(背景介绍略)我院计算机系具备进行该软件系统开发的能力并承担本软件系统的开发与维护工作。该软件系统由我院教务处使用。,详见教材,2
21、2软件项目计划,系统定义报告,用户的需求报告,可行性研究报告,项目开发计划及相关的一些专题计划,如:测试计划、质量保证计划、配置管理计划、人员培训计划、系统安装计划,22软件项目计划-软件项目计划的主要内容制订方法,软件项目计划,资源计划,软件估算计划,进度安排计划,人力资源,可复用的构件,开发环境,高层管理人员,项目经理,开发人员,客户、最终用户,软件/硬件环境,采用任务分解技术对软件的规模与工作量进行估算,并将总的开发费用分配到开发的各个阶段中,软件规模,工作量,进度,成本,进度安排要确定最终的软件交付日期,并在限定的日期内安排和分配工作量;或者在合理复用各种资源分配工作量的基础上确定最终
22、交付日期。,其它专题计划,如质量保证计划、配置管理计划、里程碑及评审计划、测试计划等,22软件项目计划-案例分析(软件项目开发计划书),案例文档之三软件项目开发计划书1引言1.1编写目的为保证教师教学网络测评系统的开发成功,按期交付使用,特编写项目开发计划,请参与开发的人员遵照执行。1.2项目背景(略)1.3定义教师教学网络测评系统以下简称测评系统。,详见教材,第三章 需求分析,本章主要内容,3.1 需求分析概述,3.2 结构化分析,3.3 面向对象分析,3.4 UML概述,31 需求分析概述-需求分析的重要性,需求分析是发现、求精、建模、规格说明和复审的过程;需求分析是系统设计的基础,关系到
23、程的成败和软件产品的质量。,重要性,需求获取困难,原因有三,一是用户需求的动态性(不稳定性),二是需求的模糊性(不准确性),三是需求必须得到用户的确认,否则毫无意义,31 需求分析概述需求分析的任务,1、确定对系统的综合要求:系统界面要求、系统功能要求、系统性能要求、完全性可靠性保密性要求、系统运行要求、异常处理要求、将来可能提出的要求、分析系统的数据要求。2、分析系统的数据要求 3、异出系统的逻辑模型 4、修正项目开发划 5、开发原型系统,需求分析任务,需求工程层次分解图,31 需求分析概述-需求分析的过程与方法,一、需求分析过程,需求获取,用户,概要信息,业务需求,功能需求,用户需求,非功
24、能性需求,可行性报告,系统定义报告,分析,调研,座谈法调查表法观察法,31 需求分析概述-需求分析的过程与方法,需求分析,获取数据,目标逻辑模型,需求获取,从数据流和数据结构出发,找出系统各元素之间的联系、接口特征及设计限制、能否满足功能需求,31 需求分析概述-需求分析的过程与方法,需求规格说明书,编写,目标系统的基本描述系统各项需求系统限制及条件系统数据定义,需求分析结果,需求文档编写,31 需求分析概述-需求分析的过程与方法,评审、验证的四个方面,一致性,完整性,现实性,有效性,所有需求必须一致,不能前、后和相互矛盾,说明书应包括用户需求的每一方面,在现有基础上可实现,必须证明需求有效,
25、能解决用户提出的问题,需求评审与确认,31 需求分析概述-需求分析的过程与方法,31 需求分析概述-需求分析的过程与方法,二、需求分析的方法,分析方法,结构化分析方法,面向对象的分析方法,面向数据的方法,以数据流为中心。其核心概念包括:进程、数据流、数据存储、外部实体、数据组和数据元素。有代表性的模拟工具有:数据流图、数据字典、原始进程规格说明。,面向对象分析以对象及其服务作为建模标准,比较自然,对象也具有相对的稳定性。主要模拟的元素有:对象、类、属性、关系、方法、消息传递、用例等。其主要原理包括分类、继承、层次、信息隐藏、汇集关系等。,基本思想,自顶向下逐层分解,结构化分析(Structur
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程初步 软件工程 初步 PPT 课件

链接地址:https://www.31ppt.com/p-4860115.html