《软件工程齐志昌版.ppt》由会员分享,可在线阅读,更多相关《软件工程齐志昌版.ppt(50页珍藏版)》请在第壹文秘上搜索。
1、2023-3-101 软件工程软件工程 Software Engineering2023-3-102第三章第三章 基于计算机的系统工程基于计算机的系统工程q系统与系统工程系统与系统工程q基于计算机系统工程的概念基于计算机系统工程的概念q可行性研究可行性研究q系统模型与模拟系统模型与模拟q系统规格说明与评审系统规格说明与评审2023-3-1033.1 计算机系统工程计算机系统工程q硬件工程硬件工程q软件工程软件工程q人机工程人机工程q数据库工程数据库工程第三章第三章 计算机系统工程计算机系统工程2023-3-1043.1.1 硬件和硬件工程硬件和硬件工程 基于计算机的系统需要计算机硬件的支撑基于
2、计算机的系统需要计算机硬件的支撑q计算机系统工程师根据系统需求为硬件系统指派任务,产计算机系统工程师根据系统需求为硬件系统指派任务,产生硬件需求。生硬件需求。q硬件工程师根据硬件需求设计、制造或选择硬部件或设备,硬件工程师根据硬件需求设计、制造或选择硬部件或设备,如主机、通用或专用外部设备、网络与通信设备等。如主机、通用或专用外部设备、网络与通信设备等。q为了建造一个高质量的、用户满意的硬件系统,硬件工程为了建造一个高质量的、用户满意的硬件系统,硬件工程师必须认真考虑硬件系统功能和性能,硬件之间的接口、师必须认真考虑硬件系统功能和性能,硬件之间的接口、硬件的标准化、硬件成本和维修服务等因素。硬
3、件的标准化、硬件成本和维修服务等因素。q硬件工程师按照质量保证计划和要求生产硬件产品并实现硬件工程师按照质量保证计划和要求生产硬件产品并实现硬件系统。硬件系统。q产品通过一定的销售渠道出售,相应的服务机构负责产品产品通过一定的销售渠道出售,相应的服务机构负责产品维修、升级和扩充。维修、升级和扩充。3.1计算机系统工程计算机系统工程2023-3-1053.1计算机系统工程计算机系统工程2023-3-1063.1.2 软件和软件和软件工程软件工程q当基于计算机的系统需要交互式的人机界面时,软件可以当基于计算机的系统需要交互式的人机界面时,软件可以实现人机交互的逻辑功能。实现人机交互的逻辑功能。 提
4、供人机界面的提示机制,实现系统的输入、输出。软件利用系统提供人机界面的提示机制,实现系统的输入、输出。软件利用系统显示器可以实现文字、图形、图象的显示。当系统需要从某个外部设备显示器可以实现文字、图形、图象的显示。当系统需要从某个外部设备上获取数据时,软件驱动程序可以调用并控制硬件。上获取数据时,软件驱动程序可以调用并控制硬件。q软件还可以设置系统与数据库的界面,支持系统与数据库软件还可以设置系统与数据库的界面,支持系统与数据库的数据交换。的数据交换。q基于计算机系统的功能是靠软件执行一系列算法实现的。基于计算机系统的功能是靠软件执行一系列算法实现的。一个或几个算法的输出数据或控制信息可以作为
5、另一个算一个或几个算法的输出数据或控制信息可以作为另一个算法的输入。在法的输入。在IPO模型中,信息来自系统外部或系统内部。模型中,信息来自系统外部或系统内部。3.1计算机系统工程计算机系统工程2023-3-1073.1计算机系统工程计算机系统工程2023-3-1083.1.3 人机工程人机工程 基于计算机系统包含人的因素基于计算机系统包含人的因素q人与计算机硬件和软件的直接交互可以启动并控制人与计算机硬件和软件的直接交互可以启动并控制系统运行系统运行q在系统的开发与维护活动中人的因素起着十分关键在系统的开发与维护活动中人的因素起着十分关键的作用。的作用。q人机界面人机界面(HCI)很难被用户
6、理解和掌握很难被用户理解和掌握 设计高质量的人机界面要使用计算机技术,心理学、美学设计高质量的人机界面要使用计算机技术,心理学、美学等方面的知识。等方面的知识。 “人机友好人机友好”已成为基于计算机系统的一已成为基于计算机系统的一项重要技术指标项重要技术指标人机工程已成为开发基于计算机系统的一项重要内容人机工程已成为开发基于计算机系统的一项重要内容3.1计算机系统工程计算机系统工程2023-3-109人机工程人机工程步骤步骤(1)活动分析活动分析 分析人机交互过程,评价人机交互过程中人的分析人机交互过程,评价人机交互过程中人的活动,根据活动,根据“活动活动”设计计算机的设计计算机的“任务任务”
7、。(2)动作定义和设计动作定义和设计 根据人机交互活动,定义人机界面每一根据人机交互活动,定义人机界面每一个动作的精确内容。个动作的精确内容。(3)人机对话语言设计人机对话语言设计 定义人机对话语言的语法和语义,实定义人机对话语言的语法和语义,实现语言中的每一个动作和命令。现语言中的每一个动作和命令。(4)用户环境设计用户环境设计 将支撑人机界面的软件、硬件集成起来构将支撑人机界面的软件、硬件集成起来构成一个用户环境。应考虑空间、光线、温度等因素。成一个用户环境。应考虑空间、光线、温度等因素。(5)原型设计原型设计 根据用户要求设计原型、请用户对原型评审。根据用户要求设计原型、请用户对原型评审
8、。以通过评审的原型为基础设计人机界面。不借助原型的帮以通过评审的原型为基础设计人机界面。不借助原型的帮助,软件工程师很难设计出用户满意的人机界面。助,软件工程师很难设计出用户满意的人机界面。3.1计算机系统工程计算机系统工程2023-3-10103.1.4 数据库工程数据库工程q在某些以信息处理为核心的基于计算机的系统中,在某些以信息处理为核心的基于计算机的系统中,信息的存取常常是系统工作的枢纽信息的存取常常是系统工作的枢纽q数据库系统是基于计算机系统的重要组成部分,它数据库系统是基于计算机系统的重要组成部分,它将有关的硬件、软件、数据和数据库管理人员组合将有关的硬件、软件、数据和数据库管理人
9、员组合起来为用户提供信息服务起来为用户提供信息服务q开发一个数据库系统是一项复杂、庞大的软件工程开发一个数据库系统是一项复杂、庞大的软件工程项目,人们也常称之为数据库工程项目,人们也常称之为数据库工程3.1计算机系统工程计算机系统工程2023-3-1011数据库工程的任务数据库工程的任务(1)可行性论证可行性论证 调查用户的信息需求和对信息处理的要求,进行可行性论调查用户的信息需求和对信息处理的要求,进行可行性论证,提出成本预算和工作计划等证,提出成本预算和工作计划等(2)论证、选择和购置支持数据库系统的硬件、软件和网络论证、选择和购置支持数据库系统的硬件、软件和网络环境,特别是数据库管理系统
10、环境,特别是数据库管理系统(DBMS) 3.1计算机系统工程计算机系统工程2023-3-1012数据库工程的任务数据库工程的任务(3)数据库设计与实现。数据库设计与实现。 软件工程师和数据库管理员根据用户对数据库系统的要求软件工程师和数据库管理员根据用户对数据库系统的要求进行需求分析和数据分析,产生需求说明和数据说明。进行需求分析和数据分析,产生需求说明和数据说明。q以需求说明和数据说明为基础进行概念设计产生依赖用户以需求说明和数据说明为基础进行概念设计产生依赖用户的数据库概念模型;的数据库概念模型;q以概念模型为基础进行逻辑设计,产生依赖于以概念模型为基础进行逻辑设计,产生依赖于DBMS的逻
11、的逻辑模型;辑模型;q以逻辑模型为基础进行物理设计产生一个完整的、可实现以逻辑模型为基础进行物理设计产生一个完整的、可实现的数据库。的数据库。根据软件工程的原则,每一步骤结束后都应进行评审。根据软件工程的原则,每一步骤结束后都应进行评审。评审通过往下进行,否则向前迭代,重复前面步骤。评审通过往下进行,否则向前迭代,重复前面步骤。最后要对数据库系统进行测试,并生成各种文档。最后要对数据库系统进行测试,并生成各种文档。3.1计算机系统工程计算机系统工程2023-3-1013数据库工程的任务数据库工程的任务(4)数据库的数据数据库的数据q按照系统确定的范围和用户的需要收集、整理、储存起来按照系统确定
12、的范围和用户的需要收集、整理、储存起来的。的。q数量大、类型多数量大、类型多(含数字、文字、图形、图象、声音等含数字、文字、图形、图象、声音等)、关系复杂关系复杂(数据之间有一对一、一对多,多对多的对应关数据之间有一对一、一对多,多对多的对应关系系)、需要及时补充、修改和更新等特点。、需要及时补充、修改和更新等特点。q数据的存储应有利于数据的查询、修改并尽量减少数据的数据的存储应有利于数据的查询、修改并尽量减少数据的冗余。冗余。(5)数据库管理人员数据库管理人员 数据库工程的重要组成部分,负责管理数据库资源,收集数据库工程的重要组成部分,负责管理数据库资源,收集和确定用户需求,参与数据库系统的
13、论证、设计与实现,和确定用户需求,参与数据库系统的论证、设计与实现,参与数据的收集、整理、分类和储存,负责数据库的管理参与数据的收集、整理、分类和储存,负责数据库的管理和维护,并为用户提供培训和有关资料等等。和维护,并为用户提供培训和有关资料等等。3.1计算机系统工程计算机系统工程2023-3-10143.2 可行性研究可行性研究3.2.1 引言引言q开发基于计算机的系统会受到时间、技术和资源的开发基于计算机的系统会受到时间、技术和资源的限制。限制。q接受项目之前必须根据客户提供的时间、资源和技接受项目之前必须根据客户提供的时间、资源和技术力量进行可行性研究,避免盲目性。术力量进行可行性研究,
14、避免盲目性。q可行性研究与风险分析相互关联,项目风险越大,可行性研究与风险分析相互关联,项目风险越大,开发高质量软件的可行性就越小。开发高质量软件的可行性就越小。第三章第三章 计算机系统工程计算机系统工程2023-3-1015可行性研究可行性研究q经济可行性经济可行性 q技术可行性技术可行性 q开发方案的选择性开发方案的选择性3.2可行性研究可行性研究2023-3-10163.2.2 经济可行性经济可行性q计算机迅速发展的原因在于,计算机的应用给社会计算机迅速发展的原因在于,计算机的应用给社会带来了巨大的经济效益。带来了巨大的经济效益。q基于计算机系统的成本效益分析,给出系统开发基于计算机系统
15、的成本效益分析,给出系统开发的成本论证,并将估算的成本与预期的利润进行对的成本论证,并将估算的成本与预期的利润进行对比。比。q项目开发成本受项目的特性、规模等因素制约。项目开发成本受项目的特性、规模等因素制约。q系统分析员很难直接估算基于计算机系统的成本和系统分析员很难直接估算基于计算机系统的成本和利润,得到完全精确的成本利润,得到完全精确的成本-效益分析结果十分困效益分析结果十分困难。难。3.2可行性研究可行性研究2023-3-1017经济可行性经济可行性基于计算机系统的成本基于计算机系统的成本 购置并安装软件、硬件及有关设备的费用。购置并安装软件、硬件及有关设备的费用。 系统开发费用。系统
16、开发费用。 系统安装、运行和维护费用。系统安装、运行和维护费用。 人员培训费用。人员培训费用。 在系统分析和设计阶段只能得到预算,即估算成在系统分析和设计阶段只能得到预算,即估算成本。在系统开发完毕并交付用户运行后,费用的统本。在系统开发完毕并交付用户运行后,费用的统计结果就是实际成本。计结果就是实际成本。3.2可行性研究可行性研究2023-3-1018经济可行性经济可行性 成本效益分析成本效益分析系统效益系统效益经济效益经济效益系统为用户增加的收入,可以用直接的或统计的方系统为用户增加的收入,可以用直接的或统计的方法估算。法估算。估算项目的开发成本是否超过预期的利润估算项目的开发成本是否超过预期的利润分析系统开发对其他产品或利润的影响分析系统开发对其他产品或利润的影响社会效益社会效益 用定性的方法估算。用定性的方法估算。 3.2可行性研究可行性研究2023-3-1019例例3.1 开发计算机辅助设计开发计算机辅助设计(CAD)系统取代当前的手工设计过程系统取代当前的手工设计过程系统分析员为手工设计系统和系统分析员为手工设计系统和CAD目标系统进行成本效益分析目标系统进行成本效益分析T