软件工程全套课件完整版ppt教学教程最新最全.pptx

上传人:春哥&#****71; 文档编号:14907989 上传时间:2022-05-09 格式:PPTX 页数:321 大小:9.18MB
返回 下载 相关 举报
软件工程全套课件完整版ppt教学教程最新最全.pptx_第1页
第1页 / 共321页
软件工程全套课件完整版ppt教学教程最新最全.pptx_第2页
第2页 / 共321页
点击查看更多>>
资源描述

《软件工程全套课件完整版ppt教学教程最新最全.pptx》由会员分享,可在线阅读,更多相关《软件工程全套课件完整版ppt教学教程最新最全.pptx(321页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、1目录页软件工程概述第1章教学教学要求要求n1了解软件的概念、特点及主要分类;n2掌握软件危机的产生、表现及原因;n3掌握软件工程的定义以及基本原理;n4掌握软件生存周期概念;n5理解软件开发模型;n6了解软件开发工具与环境。2目录页软件工程概述第1章项目项目任务任务n1上网下载并安装一个真实的软件系统上网下载并安装一个真实的软件系统瑞天瑞天“图书管理系统图书管理系统”(2012标准版标准版作为教学案例;作为教学案例;n2对瑞天图书管理系统原有数据进行备对瑞天图书管理系统原有数据进行备份,完成系统初始化、设置系统参数和份,完成系统初始化、设置系统参数和添加用户等操作添加用户等操作;n3初步分析

2、瑞天图书管理系统中系统管初步分析瑞天图书管理系统中系统管理和参数设置功能的操作界面,分析其理和参数设置功能的操作界面,分析其数据处理过程,为分析、设计并开发新数据处理过程,为分析、设计并开发新的图书管理系统(称教学项目)奠定基的图书管理系统(称教学项目)奠定基础础;n4了解教学项目图书管理系统的开发背了解教学项目图书管理系统的开发背景、总体开发目标。景、总体开发目标。3目录页1.1软件与软件危机第1章1 1软件的定义软件的定义软件是计算机中与硬件相互依存的另一部分,软件包括程序、数据及其相关文档的完整集合。1.1.1 软件的定义及其特点软件的定义及其特点软件软件程序程序数据数据文档文档程序是按

3、事先设计的功能和性能要求执行的指令序列数据是使程序能够正确地处理信息的数据结构文档是与程序开发、维护和使用有关的图文资料4目录页2.软件具有下列特点:软件具有下列特点:1.1软件与软件危机第1章1.1.1 软件的定义及其特点软件的定义及其特点软件是逻辑产品,具有抽象性生产与硬件不同软件缺陷检测的困难性软件维护的复杂性软件对环境的依赖性仍未摆脱手工开发方式与社会因素的关联性5目录页1.软件技术的发展软件技术的发展1.1软件与软件危机第1章1.1.2 软件的发展及其分类软件的发展及其分类 程序设计程序设计 程序系统程序系统 软件工程软件工程6目录页2.软件的分类软件的分类1.1软件与软件危机第1章

4、1.1.2 软件的发展及其分类软件的发展及其分类 重点掌握7目录页1. 软件危机的主要表现软件危机的主要表现1.1软件与软件危机第1章1.1.3 软件危机软件危机(1)软件不能满足用户的需求。(2)软件开发成本严重超标,开发周期大大超过规定日期。(3)软件质量难于保证,可靠性差。(4)软件难于维护。(5)软件开发速度跟不上计算机发展速度。8目录页2. 软件危机产生的原因软件危机产生的原因1.1软件与软件危机第1章1.1.3 软件危机软件危机(1)忽视软件开发前期的调研和需求分析工作。(2)缺乏软件开发的经验和有关软件开发数据的积累,使得开发计划很难制定。(3)开发过程缺乏统一的、规范化的方法论

5、指导。(4)忽视与用户、开发组成员间的及时有效的沟通。(5)文档资料不规范或不准确。导致开发者失去工作的基础,管理者失去管理的依据。(6)没有完善的质量保证体系。9目录页3. 软件危机解决途径软件危机解决途径1.1软件与软件危机第1章1.1.3 软件危机软件危机 要解决软件危机问题,需要采取以下措施: (1)使用好的软件开发技术和方法。 (2)使用好的软件开发工具,提高软件生产率。 (3)有良好的组织、严密的管理,各方面人员相互配合共同完成任务。 为了解决软件危机,既要有技术措施(好的方法和工具),也要有组织管理措施。软件工程正是从技术和管理两方面来研究如何更好地开发和维护计算机软件的。10目

6、录页 为了克服软件危机,为了克服软件危机,1968年年10月月在北大西洋公约组织(在北大西洋公约组织(NATO)召开的计)召开的计算机科学会议上,算机科学会议上,Fritz Bauer首次提出首次提出“软件工程软件工程”的概念。的概念。 按工程化的原则和方法组织软件开发工作是有效的,是摆脱软件危机的一按工程化的原则和方法组织软件开发工作是有效的,是摆脱软件危机的一条主要出路。条主要出路。 软件工程的软件工程的主要思想主要思想是强调软件开发过程中应用工程化原则的重要性。软是强调软件开发过程中应用工程化原则的重要性。软件工程的件工程的目标目标是实现软件的优质高产。软件工程的是实现软件的优质高产。软

7、件工程的目的目的是在经费的预算范围是在经费的预算范围内,按期交付出用户满意的、质量合格的软件产品。内,按期交付出用户满意的、质量合格的软件产品。1.2软件工程第1章1.2.1 软件工程的定义和目标软件工程的定义和目标11目录页 著名软件工程专家著名软件工程专家Boehm提出。提出。(1)用)用分阶段分阶段的软件生存周期计划进行严格的质量管理。的软件生存周期计划进行严格的质量管理。(2)坚持进行)坚持进行阶段评审阶段评审。(3)实行严格的)实行严格的产品控制产品控制。(4)采用)采用现代程序设计技术现代程序设计技术。(5)软件工程)软件工程结果结果应能清楚地应能清楚地审查审查。(6)开发小组的人

8、员应该)开发小组的人员应该少而精少而精。(7)承认)承认不断改进软件工程实践不断改进软件工程实践的必要性。的必要性。1.2软件工程第1章1.2.2 软件工程的基本原理软件工程的基本原理12目录页1.2软件工程第1章1.2.3 软件工程的研究内容软件工程的研究内容13目录页1.3软件生存周期第1章可行性研究问题定义需求分析详细设计总体设计1.编码系统测试确认测试集成测试单元测试运行与维护计划时期开发时期运行时期时间14目录页1.4软件开发模型第1章1.4.1 瀑布模型瀑布模型问题定义n可行性研究n需求分析n软件设计n编码n软件测试n运行维护n开发时期n运行时期n计划n时期15目录页1.4软件开发

9、模型第1章1.4.1 瀑布模型瀑布模型瀑布模型的主要瀑布模型的主要优点优点:(1)原理简单、容易掌握。)原理简单、容易掌握。(2)各阶段间都有验证和确认环节,以便进行质量管理。)各阶段间都有验证和确认环节,以便进行质量管理。(3)主要用于支持结构化方法。)主要用于支持结构化方法。瀑布模型的主要瀑布模型的主要缺点缺点:(1)缺乏灵活性,)缺乏灵活性,不能适应用户需求的变化不能适应用户需求的变化。1.(2)缺乏演化性,)缺乏演化性,返回返回上一级的开发需要付出十分高昂的上一级的开发需要付出十分高昂的代价代价。2.(3)是线性的软件开发模型,)是线性的软件开发模型,回溯性很差回溯性很差。16目录页1

10、.4软件开发模型第1章1.4.2 快速原型模型快速原型模型17目录页1.4软件开发模型第1章1.4.2 快速原型模型快速原型模型1.快速原型模型的优点:快速原型模型的优点:2.(1)增强了开发者与用户间的)增强了开发者与用户间的交流交流,有助于满足用户的真实需求。,有助于满足用户的真实需求。(2)用户可)用户可及早得到及早得到有用的有用的产品产品,可及早发现问题,随时纠正错误。,可及早发现问题,随时纠正错误。(3)减小技术、应用风险,可降低开发费用,缩短开发时间。)减小技术、应用风险,可降低开发费用,缩短开发时间。快速原型模型的缺点:快速原型模型的缺点:(1)缺乏丰富而强有力的)缺乏丰富而强有

11、力的软件工具和开发环境软件工具和开发环境。(2)对设计人员水平及开发环境)对设计人员水平及开发环境要求较高要求较高。(3)在多次重复改变原型的过程中,)在多次重复改变原型的过程中,程序员会厌倦程序员会厌倦。(4)对于做到彻底测试,更新文档较为困难。)对于做到彻底测试,更新文档较为困难。18目录页1.4软件开发模型第1章1.4.3 渐增模型渐增模型19目录页1.4软件开发模型第1章1.4.3 渐增模型渐增模型渐增模型的渐增模型的优点优点:渐增模型是瀑布模型的一个变体,可以看作是重复执行的多个瀑布模型,具有瀑布模型渐增模型是瀑布模型的一个变体,可以看作是重复执行的多个瀑布模型,具有瀑布模型的所有优

12、点,此外,还有以下优点:的所有优点,此外,还有以下优点:(1)可分批次提交软件产品可分批次提交软件产品,方便用户及时了解软件开发进展情况,及早发现问题。,方便用户及时了解软件开发进展情况,及早发现问题。(2)以组件为单位进行开发以组件为单位进行开发,降低了软件开发风险。,降低了软件开发风险。(3)开发顺序灵活。优先级最高的服务首先交付。)开发顺序灵活。优先级最高的服务首先交付。渐增模型的渐增模型的缺点缺点:(1)由于对整个软件系统的需求没有一个完整的定义,)由于对整个软件系统的需求没有一个完整的定义,会给总体设计带来麻烦会给总体设计带来麻烦。(2)在把每个新的增量构件集成到现有软件结构中时,)

13、在把每个新的增量构件集成到现有软件结构中时,必须不破坏原来已开发出的产必须不破坏原来已开发出的产品品。(3)软件的体系结构必须是开放的,即向现有产品中加入新构件的过程必须简单、方)软件的体系结构必须是开放的,即向现有产品中加入新构件的过程必须简单、方便。每次增量开发的产品都应当是便。每次增量开发的产品都应当是可测试的、可扩充的可测试的、可扩充的。20目录页1.4软件开发模型第1章1.4.4 喷泉模型喷泉模型21目录页1.4软件开发模型第1章1.4.4 喷泉模型喷泉模型喷泉模型的主要特点:喷泉模型的主要特点:(1)各阶段相互重叠,反映了软件过程的并行性。)各阶段相互重叠,反映了软件过程的并行性。

14、(2)以分析为基础,资源消耗呈塔形,在分析阶段消耗资源最多。)以分析为基础,资源消耗呈塔形,在分析阶段消耗资源最多。(3)反映了软件过程迭代的自然特性,从高层返回低层无资源消耗。)反映了软件过程迭代的自然特性,从高层返回低层无资源消耗。1.(4)强调增量开发,依据分析一点、设计一点的原则,不要求一个阶段的彻底完成,整)强调增量开发,依据分析一点、设计一点的原则,不要求一个阶段的彻底完成,整个过程是一个迭代的逐步提炼的过程。个过程是一个迭代的逐步提炼的过程。2.(5)是对象驱动的过程,对象是所有活动作用的主体,也是项目管理的基本内容。)是对象驱动的过程,对象是所有活动作用的主体,也是项目管理的基

15、本内容。22目录页1.4软件开发模型第1章1.4.5 螺旋模型螺旋模型23目录页1.4软件开发模型第1章1.4.5 螺旋模型螺旋模型24目录页1.5软件开发方法第1章1结构化方法结构化方法结构化方法又称传统方法、生存周期法、面向过程的方法、面向功能的方法、面向数据结构化方法又称传统方法、生存周期法、面向过程的方法、面向功能的方法、面向数据流的方法。流的方法。所谓所谓结构化分析结构化分析,就是根据分解与抽象的原则,按照系统中数据处理的流程,用数据流,就是根据分解与抽象的原则,按照系统中数据处理的流程,用数据流图来建立系统的功能模型,从而完成需求分析。图来建立系统的功能模型,从而完成需求分析。所谓

16、所谓结构化设计结构化设计,就是根据模块独立性准则、软件结构准则,将数据流图转换为软件的,就是根据模块独立性准则、软件结构准则,将数据流图转换为软件的体系结构,用软件结构图来建立系统的物理模型,实现系统的总体设计。体系结构,用软件结构图来建立系统的物理模型,实现系统的总体设计。所谓所谓结构化程序设计结构化程序设计,就是根据结构程序设计原理,将每个模块的功能用相应的标准控,就是根据结构程序设计原理,将每个模块的功能用相应的标准控制结构表示出来,从而实现详细设计。制结构表示出来,从而实现详细设计。25目录页1.5软件开发方法第1章2面向数据结构方法面向数据结构方法面向数据结构方法(也称为面向数据结构

17、方法(也称为Jackson方法)。该方法从目标系统的输入、输出数据结构入方法)。该方法从目标系统的输入、输出数据结构入手,导出程序框架结构,再补充其他细节,就可得到完整的程序结构图。这一方法以数据结构手,导出程序框架结构,再补充其他细节,就可得到完整的程序结构图。这一方法以数据结构为驱动,其优点是通俗易懂,特别适合信息系统中数据层(数据库服务器)上的设计与实现,为驱动,其优点是通俗易懂,特别适合信息系统中数据层(数据库服务器)上的设计与实现,对输入、输出数据结构明确的中小型系统特别有效。其缺点是实现窗口界面较困难。该方法也对输入、输出数据结构明确的中小型系统特别有效。其缺点是实现窗口界面较困难

18、。该方法也可与其他方法结合,用于模块的详细设计。可与其他方法结合,用于模块的详细设计。26目录页1.5软件开发方法第1章3面向对象方法面向对象方法面向对象方法是一种自底向上和自顶向下相结合的方法,该方法把对象作为数据和在数面向对象方法是一种自底向上和自顶向下相结合的方法,该方法把对象作为数据和在数据上的操作(服务)相结合的软件构件。据上的操作(服务)相结合的软件构件。用对象分解取代结构化方法的功能分解用对象分解取代结构化方法的功能分解。把所有对象。把所有对象都划分成类,把若干个相关的类组织成具有层次结构的系统,下层的类继承上层的类所定义的都划分成类,把若干个相关的类组织成具有层次结构的系统,下

19、层的类继承上层的类所定义的属性和服务。对象之间通过发送消息进行联系。属性和服务。对象之间通过发送消息进行联系。使用面向对象方法开发软件时,使用面向对象方法开发软件时,可以重复使用对象和类等构件可以重复使用对象和类等构件,从而降低了软件开发成,从而降低了软件开发成本,所开发的软件本,所开发的软件能适应需求变化,稳定性好,可重用性好,可维护性好,能适应需求变化,稳定性好,可重用性好,可维护性好,对于大型、复杂及对于大型、复杂及交互性比较强的系统,使用面向对象方法更有优势。交互性比较强的系统,使用面向对象方法更有优势。27目录页1.6软件工具与开发环境第1章1.6.1 软件工具软件工具1.软件工具是

20、指用来软件工具是指用来辅助计算机软件开发、维护和管理的软件辅助计算机软件开发、维护和管理的软件。按照软件过程活动可将软。按照软件过程活动可将软件工具分为支持软件开发过程的工具、支持软件维护过程的工具、支持软件管理过程与支持过件工具分为支持软件开发过程的工具、支持软件维护过程的工具、支持软件管理过程与支持过程的工具等。程的工具等。支持软件开发过程的工具支持软件开发过程的工具包括需求分析工具、设计工具、编码与排错工具和测试工具包括需求分析工具、设计工具、编码与排错工具和测试工具等;等;支持软件维护过程的工具支持软件维护过程的工具包括版本控制工具、文档分析工具、开发信息库工具、逆向工包括版本控制工具

21、、文档分析工具、开发信息库工具、逆向工程工具和再工程工具等;程工具和再工程工具等;支持软件管理与软件支持的工具支持软件管理与软件支持的工具包括项目管理工具、配置管理工具和软件评价工具等。包括项目管理工具、配置管理工具和软件评价工具等。28目录页1.6软件工具与开发环境第1章1.6.2 软件开发环境软件开发环境1计算机辅助软件工程计算机辅助软件工程 计算机辅助软件工程计算机辅助软件工程(Computer Aided Software Engineering,CASE)将各种软件工具、)将各种软件工具、开发机器和一个存放开发过程信息的工程数据库组合起来形成一个软件工程环境。开发机器和一个存放开发过

22、程信息的工程数据库组合起来形成一个软件工程环境。1.2集成化集成化CASE环境环境集成化开发环境集成化开发环境(Integrated- CASE,I -CASE)是一种把支持多种软件开发方法和过程模)是一种把支持多种软件开发方法和过程模型的软件工具集成到一起的软件开发环境。型的软件工具集成到一起的软件开发环境。3软件工程环境软件工程环境软件工程环境软件工程环境(Software Engineering Environment,SEE)是指以软件工程为依据,支持)是指以软件工程为依据,支持典型软件生产的系统。包括三层含义,一组软件工具的集合;工具按一定方法或模型组织;工典型软件生产的系统。包括三

23、层含义,一组软件工具的集合;工具按一定方法或模型组织;工具支持整个生存周期各阶段或部分阶段。具支持整个生存周期各阶段或部分阶段。29目录页1.7项目实践:“图书管理系统”项目任务简介第1章1任务背景任务背景为了方便师生借、还图书,提高图书管理的工作效率,使图书室更好地为为了方便师生借、还图书,提高图书管理的工作效率,使图书室更好地为教学服务,教学服务,X系特提出请学院计算机系教师带领学生,以创新项目形式立项,系特提出请学院计算机系教师带领学生,以创新项目形式立项,为其开发一个小型图书管理系统,尽快结束手工管理图书方式。为其开发一个小型图书管理系统,尽快结束手工管理图书方式。1.2项目任务项目任

24、务在学期末能够在教师的指导下开发出一个能够实际应用的图书管理系统。在学期末能够在教师的指导下开发出一个能够实际应用的图书管理系统。 3建议建议(1)进行业务调研,学习业务知识。进行业务调研,学习业务知识。 (2)观摩和亲自操作一个实际的图书管理系统。瑞天图书管理系统下载网观摩和亲自操作一个实际的图书管理系统。瑞天图书管理系统下载网址为址为http: /。 30目录页软件项目计划第2章本章本章要点要点n理解问题定义的内容与方法;n学会书写问题定义报告;n理解可行性研究的任务与步骤;n学会书写可行性研究报告;n学会绘制系统流程图。31目录页软件项目计划第2章项目项目任务任务n使用瑞天图书管理系统,

25、增加、修改或删除读者类型、图书类别、出版社等基础数据;n使用瑞天图书管理系统,增加、修改或删除图书数据和读者数据;n分析瑞天图书管理系统中基础数据录入与更新的操作界面,分析其数据存储与处理过程,为进一步分析、设计并开发新的图书管理系统奠定基础;n通过调查研究,分析开发“图书管理系统”(教学项目)的必要性和可行性,撰写“图书管理系统”问题定义报告和可行性研究报告文档;n制订并撰写“图书管理系统”项目开发计划。32目录页2.1问题定义第2章33目录页(1)问题的背景,弄清楚待开发系统现在处于什么状态,为什么要开发它,是否具备开发条件)问题的背景,弄清楚待开发系统现在处于什么状态,为什么要开发它,是

26、否具备开发条件等问题。等问题。(2)提出开发系统的问题要求以及总体要求。)提出开发系统的问题要求以及总体要求。(3)明确问题的性质、类型和范围。)明确问题的性质、类型和范围。(4)明确待开发系统要实现的目标、功能和规模。)明确待开发系统要实现的目标、功能和规模。(5)提出开发的条件要求和环境要求。)提出开发的条件要求和环境要求。 以上主要内容应写在问题定义报告(或系统目标和范围说明书)中,作为这一阶段的以上主要内容应写在问题定义报告(或系统目标和范围说明书)中,作为这一阶段的“工作工作总结总结”。 2.1问题定义第2章2.1.1 问题定义的内容问题定义的内容34目录页具体步骤如下具体步骤如下:

27、首先,系统分析员要针对用户的要求做详细的调查研究,认真听取用户对问题的介绍;阅读与首先,系统分析员要针对用户的要求做详细的调查研究,认真听取用户对问题的介绍;阅读与问题有关的资料,必要时还要深入现场,亲自操作;调查开发系统的背景;了解用户对开发问题有关的资料,必要时还要深入现场,亲自操作;调查开发系统的背景;了解用户对开发的要求。的要求。其次是与用户反复讨论,以使问题进一步确定化。经过用户和系统分析员双方充分协商,确定其次是与用户反复讨论,以使问题进一步确定化。经过用户和系统分析员双方充分协商,确定问题定义的内容。问题定义的内容。 最后写出双方均认可的问题定义报告。最后写出双方均认可的问题定义

28、报告。2.1问题定义第2章2.1.2 问题定义的方法问题定义的方法 35目录页可行性研究是在问题定义之后进行的,它是软件定义时期的第二个阶段。可行性研究是指在项可行性研究是在问题定义之后进行的,它是软件定义时期的第二个阶段。可行性研究是指在项目进行开发之前,根据项目发起文件(或称项目建议书)和实际情况,对该项目是否能在特目进行开发之前,根据项目发起文件(或称项目建议书)和实际情况,对该项目是否能在特定的资源、时间等制约条件下完成做出评估,并且确定该项目是否值得去开发。可行性研究定的资源、时间等制约条件下完成做出评估,并且确定该项目是否值得去开发。可行性研究的目的不在于如何解决问题,而在于确定问

29、题的目的不在于如何解决问题,而在于确定问题“是否能够解决是否能够解决”和和“是否值得解决是否值得解决”。其中。其中的项目发起文件(或称项目建议书),是项目发起时,由发起人或单位递交给项目支持者或的项目发起文件(或称项目建议书),是项目发起时,由发起人或单位递交给项目支持者或领导的书面材料,其作用是让项目支持者或领导明白项目的必要性和可行性。领导的书面材料,其作用是让项目支持者或领导明白项目的必要性和可行性。2.2 可行性研究 第2章36目录页2.2 可行性研究 第2章1.1.技术可行性技术可行性技术可行性从技术的角度去研究系统实现的可行性。主要包括风险、资源和技术分析。风技术可行性从技术的角度

30、去研究系统实现的可行性。主要包括风险、资源和技术分析。风险分析主要考虑在给定的约束条件下设计和实现系统的风险;资源分析是考虑技术资源的可行险分析主要考虑在给定的约束条件下设计和实现系统的风险;资源分析是考虑技术资源的可行性,也就是参与人员的技术基础、基础硬件与软件的可用性和软件工具的实用性;技术分析是性,也就是参与人员的技术基础、基础硬件与软件的可用性和软件工具的实用性;技术分析是考虑技术解决方案的实用性,即所使用技术的实用化程度和技术解决方案的合理程度。考虑技术解决方案的实用性,即所使用技术的实用化程度和技术解决方案的合理程度。2.经济可行性经济可行性经济可行性从经济角度评价开发一个新系统是

31、否可行。主要任务是对软件开发项目进行成经济可行性从经济角度评价开发一个新系统是否可行。主要任务是对软件开发项目进行成本估算、效益估算和成本本估算、效益估算和成本/效益分析,分析实现这个系统有没有经济效益和社会效益。效益分析,分析实现这个系统有没有经济效益和社会效益。2.2.1 可行性研究的任务可行性研究的任务 37目录页2.2 可行性研究 第2章3.运行可行性(或用户使用可行性)运行可行性(或用户使用可行性)即判断为新系统规定的运行方式是否可行。首先要分析用户类型(如外行型、熟练型或专即判断为新系统规定的运行方式是否可行。首先要分析用户类型(如外行型、熟练型或专家型),然后从操作习惯、使用单位

32、的计算机使用情况和相关规章制度等方面进行分析,判断家型),然后从操作习惯、使用单位的计算机使用情况和相关规章制度等方面进行分析,判断当系统交付使用后,使用单位是否有能力保证系统的正常运行和使用。当系统交付使用后,使用单位是否有能力保证系统的正常运行和使用。1.4.法律可行性法律可行性研究新系统的开发在社会上和政治上会不会引起侵权和责任问题,如是否违反专利法、著研究新系统的开发在社会上和政治上会不会引起侵权和责任问题,如是否违反专利法、著作权法和软件保护条例等法律,是否涉及信息安全和个人隐私等问题。作权法和软件保护条例等法律,是否涉及信息安全和个人隐私等问题。2.2.1 可行性研究的任务可行性研

33、究的任务 38目录页2.2 可行性研究 第2章1.审核系统的规模和目标审核系统的规模和目标2.分析研究现行系统分析研究现行系统3.设计新系统的高层逻辑模型设计新系统的高层逻辑模型4.获得并比较可行的方案获得并比较可行的方案1.5.撰写可行性研究报告撰写可行性研究报告2.2.2 可行性研究的步骤可行性研究的步骤 39目录页2.2 可行性研究 第2章2.2.3 系统流程图系统流程图 40目录页2.2 可行性研究 第2章在可行性研究过程中,经济可行性研究占有重要地位,它从经济上衡量一个项目是否在可行性研究过程中,经济可行性研究占有重要地位,它从经济上衡量一个项目是否有开发价值。有开发价值。经济可行性

34、研究主要包括两个方面的内容:一是新系统成本的估计;二是新系统可能经济可行性研究主要包括两个方面的内容:一是新系统成本的估计;二是新系统可能产生的效益。又称为成本产生的效益。又称为成本/效益分析。效益分析。2.2.4 经济可行性经济可行性 41目录页2.3 可行性研究报告的内容及作用 第2章可行性研究报告编制中应注意以下几个方面的问题:可行性研究报告编制中应注意以下几个方面的问题:(1)坚持实事求是的原则,不要随意夸大新系统的功能和其他指标。)坚持实事求是的原则,不要随意夸大新系统的功能和其他指标。(2)任何一项内容的书写均要以科学分析的结果为依据,不能凭空想象。)任何一项内容的书写均要以科学分

35、析的结果为依据,不能凭空想象。(3)对每一项内容的描述必须反复推敲,一定要做到用词恰当、准确。)对每一项内容的描述必须反复推敲,一定要做到用词恰当、准确。(4)从具体情况出发。可行性研究报告不一定面面俱到,但对于用户关心的部分或项)从具体情况出发。可行性研究报告不一定面面俱到,但对于用户关心的部分或项目中重要的部分要重点阐明。目中重要的部分要重点阐明。(5)书写形式要规范。)书写形式要规范。2.3.1 可行性研究报告编制中应注意的问题可行性研究报告编制中应注意的问题 42目录页2.3 可行性研究报告的内容及作用 第2章可行性研究报告在软件开发中起着重要的作用:可行性研究报告在软件开发中起着重要

36、的作用:(1)可行性研究报告是可行性研究阶段的成果。)可行性研究报告是可行性研究阶段的成果。n(2)可行性研究报告提出了软件开发的总体目标和范围,因此它是软件开发的行动指)可行性研究报告提出了软件开发的总体目标和范围,因此它是软件开发的行动指南。南。n(3)可行性研究报告是需求分析的基础和依据。)可行性研究报告是需求分析的基础和依据。2.3.2 可行性研究报告在软件开发中的作用可行性研究报告在软件开发中的作用 43目录页2.4 项目开发计划第2章n经过可行性研究后,如果一个项目是值得开发的,则接下来应制定项目开发计划。软经过可行性研究后,如果一个项目是值得开发的,则接下来应制定项目开发计划。软

37、件项目开发计划是软件工程中的一种管理性文档,主要是对所开发的软件项目的费用、时间件项目开发计划是软件工程中的一种管理性文档,主要是对所开发的软件项目的费用、时间进度、人员组织、硬件设备的配置、软件开发环境和运行环境的配置等进行说明和规划,是进度、人员组织、硬件设备的配置、软件开发环境和运行环境的配置等进行说明和规划,是项目管理人员对项目进行管理的依据,据此对项目的费用、进度和资源进行控制和管理。项目管理人员对项目进行管理的依据,据此对项目的费用、进度和资源进行控制和管理。n项目开发计划的目的是提供一个框架,使得主管人员在项目开始后较短时间内就可以项目开发计划的目的是提供一个框架,使得主管人员在

38、项目开始后较短时间内就可以对资源、成本、进度进行合理的估计,而不必等到详细的需求分析完成之后。对资源、成本、进度进行合理的估计,而不必等到详细的需求分析完成之后。n项目开发计划有分析和估算两项任务。分析是对系统内各软件功能界限的划定,估算项目开发计划有分析和估算两项任务。分析是对系统内各软件功能界限的划定,估算是指根据已有的定性数据和以往的经验对系统开发的资源、费用和进度进行定量的估计。项是指根据已有的定性数据和以往的经验对系统开发的资源、费用和进度进行定量的估计。项目复杂性越高、规模越大,估算的难度就越大,当项目的结构化程度越高且估算人员的经验目复杂性越高、规模越大,估算的难度就越大,当项目

39、的结构化程度越高且估算人员的经验越丰富时,则估算就更为准确。越丰富时,则估算就更为准确。44目录页2.5 MicroSoft Office Visio 2003第2章n1. 使用使用VISIO的帮助的帮助n2. 新建绘图文件新建绘图文件n3. 图件、模具与模板概念图件、模具与模板概念2.5.1 MicroSoft Office Visio 2003简介45目录页2.5 MicroSoft Office Visio 2003第2章2.5.2 使用 Visio 绘制系统流程图1打开打开Visio,选择左侧绘图类型,选择左侧绘图类型“流程图流程图”,并在右侧选择,并在右侧选择“基本流程图基本流程图”

40、模板。模板。2添加形状。添加形状。3调整大小和角度。调整大小和角度。4移动位置并输入文本移动位置并输入文本5连接形状连接形状6输入文本。有两种方法为图形添加文本。输入文本。有两种方法为图形添加文本。7选择图形、对齐及排版。选择图形、对齐及排版。8保存文件保存文件46目录页2.6 项目实践:图书管理系统可行性研究与项目计划第2章n2.6.1 图书管理系统问题定义报告图书管理系统问题定义报告2.6.2图书管理系统可行性研究报告图书管理系统可行性研究报告2.6.3图书管理系统项目开图书管理系统项目开 发计划发计划47目录页需求分析第3章本章本章要点要点n理解需求分析的任务;n熟悉需求分析的步骤;n理

41、解结构化需求分析的基本思想;n掌握数据流图和数据词典的用法。48目录页需求分析第3章项目项目任务任务n使用瑞天图书管理系统,完成书籍借出、使用瑞天图书管理系统,完成书籍借出、归还、预借和续借等操作归还、预借和续借等操作;n使用瑞天图书管理系统,完成图书过期归使用瑞天图书管理系统,完成图书过期归还、遗失或损坏等罚款操作和图书资料盘点还、遗失或损坏等罚款操作和图书资料盘点操作操作 ;n分析瑞天图书管理系统中图书借出、归分析瑞天图书管理系统中图书借出、归还、预借和续借功能的操作界面,分析其数还、预借和续借功能的操作界面,分析其数据存储与处理过程,为进一步分析、设计并据存储与处理过程,为进一步分析、设

42、计并开发新的图书管理系统奠定基础开发新的图书管理系统奠定基础 ;n运用结构化需求分析方法完成图书管理系运用结构化需求分析方法完成图书管理系统需求分析统需求分析 ;n编写图书管理系统软件需求说明书编写图书管理系统软件需求说明书 。49目录页3.1需求分析的任务第3章需求分析的任务是要准确地定义新系统的目标,准确回答需求分析的任务是要准确地定义新系统的目标,准确回答“系统必须做什么系统必须做什么”的问题,并的问题,并用需求规格说明书规范的形式准确地表达用户的需求。用需求规格说明书规范的形式准确地表达用户的需求。需求分析是理解、分析和表达需求分析是理解、分析和表达“系统必须做什么系统必须做什么”的过

43、程。的过程。虽然在可行性研究阶段,对用户需求有了初步了解,但对需求的了解是概括的、粗略的,虽然在可行性研究阶段,对用户需求有了初步了解,但对需求的了解是概括的、粗略的,许多细节被忽略了。可行性研究是决定许多细节被忽略了。可行性研究是决定“做还是不做做还是不做”,而不是对需求进行定义。而需求分析,而不是对需求进行定义。而需求分析阶段则需要充分理解用户需求,通过分析得出对新系统完整、准确、清晰、具体的要求。阶段则需要充分理解用户需求,通过分析得出对新系统完整、准确、清晰、具体的要求。需求分析的结果是否正确,关系到软件开发的成败和软件产品的质量,正确的需求分析是需求分析的结果是否正确,关系到软件开发

44、的成败和软件产品的质量,正确的需求分析是整个系统开发的基础。整个系统开发的基础。50目录页3.2需求获取的方法第3章在需求分析过程中,需求获取阶段是开发人员和用户交往最多的阶段。一般情况下,用户在需求分析过程中,需求获取阶段是开发人员和用户交往最多的阶段。一般情况下,用户并不熟悉计算机的相关知识,更不懂得需求分析方法,所以他们不知道如何全面而又准确无误并不熟悉计算机的相关知识,更不懂得需求分析方法,所以他们不知道如何全面而又准确无误地表达自己的需求。而软件开发人员对相关的业务领域也不甚了解,用户与开发人员之间对同地表达自己的需求。而软件开发人员对相关的业务领域也不甚了解,用户与开发人员之间对同

45、一问题理解的差异和习惯用语的不同往往会给需求分析带来很大困难。所以,开发人员与用户一问题理解的差异和习惯用语的不同往往会给需求分析带来很大困难。所以,开发人员与用户之间要进行充分和有效的沟通,需要采取科学的需求获取方法与技巧,恰当地启发引导用户表之间要进行充分和有效的沟通,需要采取科学的需求获取方法与技巧,恰当地启发引导用户表达自己的需求,以减少后期重复修改需求的次数。达自己的需求,以减少后期重复修改需求的次数。51目录页3.2需求获取的方法第3章1深入浅出深入浅出需求获取要尽可能全面、细致。调研获取的需求是个全集,而目标系统真正实现的是个子需求获取要尽可能全面、细致。调研获取的需求是个全集,

46、而目标系统真正实现的是个子集。分析时的调研内容并不一定都要纳入到新系统中,但全面、细致的调研既有利于弄清系统集。分析时的调研内容并不一定都要纳入到新系统中,但全面、细致的调研既有利于弄清系统全局,又有利于以后的扩充。全局,又有利于以后的扩充。2以流程为主线以流程为主线在与用户交流的过程中,应该用流程将所有的内容串起来,如单据、信息、组织结构和处在与用户交流的过程中,应该用流程将所有的内容串起来,如单据、信息、组织结构和处理规则等,这样便于交流沟通。流程的描述既要有宏观描述,也要有微观描述。理规则等,这样便于交流沟通。流程的描述既要有宏观描述,也要有微观描述。3.2.1 需求获取的基本原则需求获

47、取的基本原则 52目录页3.2需求获取的方法第3章1.问卷调查问卷调查2.访谈和会议访谈和会议3.市场调查市场调查4.实地操作实地操作5.建立原型建立原型3.2.2 需求获取的途径和方法需求获取的途径和方法 53目录页3.2需求获取的方法第3章要获取用户需求,就需要深入企业现场调研,需求调研的步骤如下:要获取用户需求,就需要深入企业现场调研,需求调研的步骤如下:(1)调研用户领域的组织结构、岗位设置和职责定义,从功能上区分有多少个子系统,)调研用户领域的组织结构、岗位设置和职责定义,从功能上区分有多少个子系统,划分系统的大致范围,明确系统的目标。划分系统的大致范围,明确系统的目标。(2)调研每

48、个子系统所需的工作流程、功能与处理规则,收集单据、报表和账本等原始)调研每个子系统所需的工作流程、功能与处理规则,收集单据、报表和账本等原始资料,分析物流、资金流和信息流三者的关系,以及如何用数据流来表示这三者的关系。资料,分析物流、资金流和信息流三者的关系,以及如何用数据流来表示这三者的关系。(3)对调研的内容事先准备,针对不同管理层次的用户询问不同的问题,列出问题清单。)对调研的内容事先准备,针对不同管理层次的用户询问不同的问题,列出问题清单。将操作层、管理层和决策层的需求既联系又区分开来,形成一个金字塔,使下层满足上层的需将操作层、管理层和决策层的需求既联系又区分开来,形成一个金字塔,使

49、下层满足上层的需求。求。(4)对与用户沟通的情况及时总结归纳,整理调研结果,找出新的疑点,初步构成需求)对与用户沟通的情况及时总结归纳,整理调研结果,找出新的疑点,初步构成需求基线。基线。(5)若需求基线符合要求,则需求分析完毕;反之返回到前面某一步。如此循环多次,)若需求基线符合要求,则需求分析完毕;反之返回到前面某一步。如此循环多次,直到需求分析使双方满意为止。直到需求分析使双方满意为止。3.2.3 需求调研的步骤需求调研的步骤 54目录页3.3需求获取的步骤第3章55目录页3.3需求获取的步骤第3章此阶段的工作是需求获取、问题识别,即收集并明确用户需求的过程。此阶段的工作是需求获取、问题

50、识别,即收集并明确用户需求的过程。首先,系统分析员要研究可行性研究报告和软件项目实施计划。主要是从系统的角度来首先,系统分析员要研究可行性研究报告和软件项目实施计划。主要是从系统的角度来理解软件,确定对目标系统的综合要求,即软件的需求。还要提出这些需求实现的条件,以及理解软件,确定对目标系统的综合要求,即软件的需求。还要提出这些需求实现的条件,以及需求应达到的标准。也就是解决待开发系统需要需求应达到的标准。也就是解决待开发系统需要“做什么做什么”,“做到什么程度做到什么程度”的问题。这些的问题。这些需求包括:(需求包括:(1)功能需求:()功能需求:(2)性能需求:()性能需求:(3)环境需求

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁