软件工程.ppt
《软件工程.ppt》由会员分享,可在线阅读,更多相关《软件工程.ppt(85页珍藏版)》请在三一文库上搜索。
1、1,第二章 计算机系统工程,软件工程课件,软件工程,2,第二章 计算机系统工程,2.1 基于计算机的系统 2.2 计算机系统工程 2.3 系统分析与结构设计 2.4 可行性研究 2.5 其他系统描述方法,软件工程,3,某些元素的一个集合或排列,这些元素被组织起来以实现某种方法,过程或借助处理信息进行控制。基于计算机系统的系统元素:,2.1 基于计算机的系统,软件工程,4,软件 计算机程序、数据结构、相关文档 硬件 电子计算设备(如CPU, 存储器)和外部机电设备(如传感器、马达等) 人 硬件和软件的用户 数据库 一个大型的有组织的信息集合 文档 手册、表格和其它用以描述系统使用和操作的信息 过
2、程 定义每一种系统元素的特定使用步骤,或系统驻留的过程性环境,计算机系统的系统元素,软件工程,5,计算机系统的层次结构,基于计算机的系统本身可以成为一个更大的基于计算机系统中的一个元素,并称为那个更大系统的宏元素。例如:,软件工程,6,2.2 计算机系统工程,计算机系统工程是一个问题求解活动,目的是揭示、分析所期望的功能,并把它们分配到各个单独的系统元素中去。 系统工程师的任务是: 与用户合作确认用户的目标和约束 导出功能、性能、接口、设计约束和信息结构的表示 将它们分配到每一个系统元素中,软件工程,7,系统工程的实施,识别用户要求 评价系统的可行性 进行经济分析和技术分析 把功能分配给硬件、
3、软件、人、数据库和其它系统元素 建立成本和进度限制 生成系统规格说明,形成所有后续工程的基础,软件工程,8,识别用户要求,系统工程的第一步就是识别用户要求 分析员必须考虑以下问题: 功能和性能 可靠性和质量 总的系统目标 为此,必须了解系统应解决的问题,这些问题是如何提出的 设想这些问题如何解决才能满足要求 了解问题的结构,软件工程,9,对同一功能,可以分配给不同的系统元素。为了选取一种最有效的分配方案,应对每一方案使用一组权衡准则进行评价。 此外,还要考虑: 成本与进度限制 制造需求 市场与竞争情况 有效的技术 将来可能的扩充,软件工程,10,为选取最有效的分配方案,使用一组权衡准则进行评价
4、 项目考虑 商业考虑 技术分析 生产评估 人员问题 环境界面 法律考虑,软件工程,11,项目考虑 在预估的成本与进度范围内所选的系统配置能否实现? 与成本与进度估算相关的风险有哪些? 商业考虑 所选的系统配置是最可能有效益的解决方案吗? 能否成功地占领市场? 最终的报偿是否能表明所冒的开发风险是值得的?,软件工程,12,技术分析 是否具备开发所有系统元素的技术实力? 能否确保功能和性能得到满足? 能否对这种系统配置进行充分的维护? 是否具备技术资源? 与技术相关的风险有哪些? 生产评估 生产工具与设备是否有效? 必需的过程是否短缺? 是否充分地实施了质量保证?,软件工程,13,人员问题 开发人
5、员是否得到培训? 是否存在政治问题? 用户是否了解这个系统将要做什么? 环境界面 所提交的系统配置与系统的外部环境的接口是否合适? 机器与机器、人与机器之间的通信是否以智能方式处理?,软件工程,14,法律考虑 这种配置是否会引入违法的责任风险? 对责任问题是否给予了足够的保护? 是否存在潜在的破坏问题? 一旦将功能和性能分配给每一个系统元素,系统工程师将通过硬件工程、软件工程、人类工程和数据库工程等建立相应系统元素的需求模型,确定其功能和性能范围,接口要求。,系统分析和结构设计,软件工程,15,计算机系统工程师选择硬件元件的某种组合以构成基于计算机系统的硬件元素 通过硬件需求分析,为硬件的所有
6、元件确定精确的功能、性能和接口需求。以及设计约束条件(如尺寸,环境)及测试准则。 设计一个初步的硬件配置方案,包括通信协议、拓扑结构等。 确定质量需求,包括安全性、可靠性、可用性等方面的质量标准。,硬件和硬件模型,软件工程,16,软件与软件模型,为实现要求的功能和性能,必须制作或获取一系列软件部件 软件元素分为两类 通过软件需求分析,确认分配给软件的功能和性能。 按照功能分解的结果,提出软件系统分解为一系列子系统的构想,描述各子系统的功能和性能要求,以及各子系统之间的交互。 各子系统在硬件系统中的部署情况。,软件工程,17,人类工程,是应用从心理学和方法论导出的知识来确定和设计高质量HCI的多
7、学科活动 根据分配给人的各项活动,建立人员活动(任务)网络图,描述人机交互的环境。 根据用户分类和每一类用户的特点,针对用户要求的每一个动作和机器产生的每一个动作,建立“对话”方式构想。 设计用户界面原型,将硬件、软件和其他系统元素组合起来形成简化的用户环境,模拟和评价人机交互的所有步骤。,软件工程,18,数据库工程(包括数据库分析、设计和实现) 对于使用数据库的系统,信息仓库往往是所有功能的核心 系统工程师建立数据库模型: 定义数据库中包含的信息,查询的类型,数据存取的方式和数据库的容量等。 如果使用多个数据库管理系统,还要描述它们之间的数据转换方式和必要的数据结构。,数据库和数据库模型,软
8、件工程,19,可行性研究,可行性研究从 经济 技术 法律 用户操作 等方面分析所给出的解决方案是否可行。 这是项目立项的依据。只有当解决方案可行且有一定经济效益或社会效益时才能开始系统开发。,软件工程,20,建立成本和进度的限制,开发一个基于计算机的系统必须有足够的资金投入和(交付)时间约束,这是与客户在合同或任务书中已经达成协议的。 因此,在系统工程阶段必须进行 任务分解 成本估算 进度安排 资源计划,软件工程,21,生成系统需求规格说明,系统需求规格说明是在后续阶段中开发硬件系统、软件系统、数据库系统和人机接口系统的时候使用的一个文档。 它描述了一个基于计算机系统的功能和性能,以及管理该系
9、统开发的一些限制条件。 它界定每个被分配的系统元素。例如,它给软件工程师指明了软件在整个系统和各种子系统环境中的作用。系统需求规格说明还描述了系统的输入输出(数据与控制)信息。,软件工程,22,2.3 系统分析与结构设计,软件工程,23,硬件工程阶段,软件工程,24,软件工程,25,软件工程,26,软件工程阶段,软件工程,27,软件工程,28,软件工程,29,系统分析和结构设计的主要活动,分析待开发系统的特定的预期使用要求,以规定系统需求 系统需求规格说明应描述: 系统的功能与性能; 业务、组织和用户需求; 安全性、保密性、人类工程(人机工程学)、接口、运行和维护需求; 设计限制和鉴定需求。
10、系统需求规格说明应形成文档。,软件工程,30,根据评价准则评价系统需求,并将评价结果形成文档 评价准则包括: 获取需要的可追溯性; 获取需要的一致性; 可测试性; 系统结构设计的可行性; 运作和维护的可行性。 3. 建立系统的顶层结构,软件工程,31,结构中应标出硬件配置、软件配置和人工操作过程等系统元素。 应确保所有系统需求都已分配到各个系统元素中。 分配到各个系统元素中的系统需求和系统结构应形成文档。 根据评价准则评价这些系统元素的系统需求和结构,并将评价结果形成文档 评价准则包括:,软件工程,32,系统需求的可追溯性; 与系统需求的一致性; 所使用的设计标准和方法的适宜性; 软件部分满足
11、指定需求的可行性;运行和维护的可行性。,软件工程,33,业务过程建模,业务过程建模的目的是定义一个能有效利用信息进行业务活动的体系。 从企业信息技术需求的全局角度出发,不仅需要说明适用的计算体系架构,还需要开发适用于企业计算资源的特定配置的软件系统架构。 数据体系架构 应用体系架构 技术基础设施,软件工程,34,数据体系架构,数据体系架构描述业务功能的信息需求。 架构的基本单元是业务对象。一个业务对象包括一组属性以及对质量、特征或数据的描述。 数据体系架构还要描述业务对象之间的关系。关系表明对象之间是如何相联系的。 例如,“消费者”和“产品A”两个对象之间可以通过“购买”关系发生联系。 在业务
12、活动中流动的数据对象可以通过数据库组织起来,为业务需要提供所需的信息。,软件工程,35,应用体系架构,应用体系架构描述为实现某些业务需求,在数据体系架构范围内参与数据加工的那些组件构成的系统。 从软件工程角度可认为应用体系架构就是执行变换的程序(软件)系统。 从更广泛的意义来看,应用体系架构应当将人员角色(信息的变换者和使用者)和待实现的业务过程联系在一起。,软件工程,36,技术基础设施,技术基础设施为数据体系架构和应用体系架构提供组织基础。 基础设施包括用来支持应用和数据的硬件和软件,包括计算机、操作系统、网络、通信链路、存储技术和用于实现这些技术的体系结构(如客户服务器)。,软件工程,37
13、,产品工程,产品工程的目的是将用户期望的业经定义的一组能力转化为实际产品。 为此,产品工程也要给出系统架构和基础设施。这个系统架构包括 4 个系统构件: 软件 硬件 数据(数据库) 人员 基础设施则包括能集成各种构件的技术和用于支持构件的信息(如文档、CDROM、视频)。,软件工程,38,产品工程层次图,软件工程,39,全局视图由需求工程得到。 全局性需求由客户提出,包括 信息和控制要求 产品功能和行为 产品整体性能 设计和接口约束条件 其他特殊要求。 一旦这些需求确定下来,需求工程的工作就是将这些功能和行为分配到上述 4 个系统构件中。,软件工程,40,系统构件工程是一组并发活动,分别处理
14、软件工程 硬件工程 人类工程 数据库工程 这些系统构件。 特别需要重视 各个系统构建的工程规范的建立 维持相互之间的积极沟通,需求工程要建立便于沟通的接口机制。,软件工程,41,对软件工程来说,需要进行分析和设计建模活动,以及包括编码、测试和支持任务在内的构造和部署活动。 分析的任务是使用数据、功能和行为模型来描述需求 设计的任务是将分析模型映射到数据设计、结构设计、接口设计和软件构件级设计中。,软件工程,42,系统模型模板,为了开发系统模型,使用了“结构模板”。 系统工程师把各种系统元素分配到模板内的五个处理区域: (1)用户界面; (2)输入; (3)系统功能与控制; (4)输出; (5)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程
链接地址:https://www.31doc.com/p-2614919.html