软件工程之系统工程

大耗子 2020年03月06日 256次浏览

文章链接:https://codemouse.online/archives/2020-03-06-104840

基于计算机的系统

  • 概念
    通过处理信息来完成某些预定义目标而组织在一起的元素的集合或排列

系统元素

  • 组成基于计算机系统的元素:软件、硬件、人员、数据库、文档、规程

    • 软件:指计算机程序、数据结构和相关的工作产品,
      以实现所需要的逻辑方法、规程或控制
    • 硬件:指提供计算能力的电子设备、支持数据流的互连设备(如网络交换器)和提供外部世界功能的电子机械设备(如传感器等)
    • 人员:指硬件和软件的用户和操作者
    • 数据库:指通过软件访问并持久存储的大型的有组织的信息集合
    • 文档:指描绘系统的使用和/或操作的描述性信息(如模型、规格说明、硬复制手册、联机帮助文件等)
    • 规程:指定义每个系统元素的特定使用或系统所处的过程性语境的步骤

系统的层次结构

基于计算机的系统本身可以成为一个更大的基于计算机系统中的一个元素,称其为那个更大系统的宏元素。这样,基于计算机的系统可呈现一个层次结构。
例如:
例子

系统工程的任务

  • 概念:
    计算机系统工程是一个问题求解的活动,其目的是分析基于计算机的系统的功能、性能等要求,并把它们分配到基于计算机系统的各个系统元素中,确定它们的约束条件和接口。

  • 识别用户的要求
    标识系统的功能和性能范围,确定系统的功能、性能、约束和接口。

  • 系统建模和模拟

    • 硬件系统模型:描述基于计算机系统中的硬件配置、通信协议、拓扑结构、以及确保基于计算机系统的安全性、可靠性、性能等要求的措施。
    • 软件系统模型:描述各软件子系统的功能、性能等要求,它们在硬件系统中的部署情况,软件子系统之间的交互。
    • 人机接口模型:描述人如何与基于计算机的系统进行交互,包括用户环境、用户的活动等。
    • 数据模型:描述基于计算机的系统使用了哪些数据库管理系统,它们之间的数据转换方式。
  • 成本估算及进度安排
    对将开发的基于计算机的系统进行成本估算,并作出进度安排。

  • 可行性分析
    从经济、技术、法律等方面分析所给出的解决方案是否可行,通常只有当解决方案可行并有一定的经济效益和/或社会效益时才开始真正的基于计算机的系统的开发。

  • 生成系统规格说明

可行性分析

  • 概念:
    开发一个基于计算机的系统通常都受到资源(人力、财力、设备等)和时间上的限制,可行性分析主要从经济、技术、法律等方面分析所给出的解决方案是否可行,能否在规定的资源和时间的约束下完成。

经济可行性分析

  • 成本:

    • 购置软硬件费用
    • 系统开发费用
    • 系统安装、运行、维护费用
    • 人员培训费用
  • 效益

    • 经济效益
    • 社会效益
  • 货币的时间价值

  • 投资的回收期

  • 纯收入

技术可行性分析

  • 技术可行性主要根据系统的功能、性能、约束条件等,分析在现有资源和技术条件下系统能否实现。

  • 技术可行性分析通常包括

    • 风险分析:不成熟的技术,人员流动,成本估算
    • 资源分析:人员,硬件,软件
    • 技术分析:当前的科学技术是否支持

法律可行性分析

  • 研究系统开发过程中可能涉及到的合同、侵权、责任以及各种与法律相抵触的问题。

  • 1990年我国颁布了《中华人民共和国著作权法》,其中将计算机软件作为著作权法的保护对象。1991年国务院颁布了《计算机软件保护条例》。

方案的选择和折衷

  • 要在多个可行的实现方案中作出选择。
  • 方案评估的依据是待开发系统的功能、性能、成本、开发时间、采用的技术、设备、风险以及对开发人员的要求等。
  • 由于系统的功能和性能受到多种因素的影响,某些因素之间相互关联和制约。因此,在必要时应进行折衷。

可行性分析的结论

  • 可以立即开始进行
  • 需要推迟到某些条件(例如资金、人力、设备等)落实之后才能开始进行
  • 需要对开发目标进行某些修改之后才能开始进行
  • 因为某种原因(如:技术不成熟、经济上不合算等)不能进行

系统工程的步骤

系统工程的步骤