软件工程定义(了解 名词解析)
- 《计算机科学技术百科全书》中的定义
软件工程是应用计算机科学理论和技术以及工程管理的原则和方法,按预算和进度实现满足用户要求的软件产品的工程,或以此为研究对象的学科。
基于计算机系统的六大元素(了解 名词解析)
- 软件
软件是指计算机程序、数据结构和一些相关的工作产品,用以实现所需的逻辑方法、规程或控制。 - 硬件
硬件是指提供计算能力的电子设备、支持数据流的互连设备(如网络交换器、电信设备)和支持外部功能的机电设备(如传感器、马达等)。 - 人员
人员是指硬件和软件的使用者和操作者。 - 数据库
数据库是指通过软件访问并持久存储的大型的有组织的信息集合。 - 文档
文档是指描绘系统的使用和/或操作的描述性信息(如模型、规格说明、使用手册、联机帮助文件、Web站点)。 - 规程
规程是指定义每个系统元素或其外部相关流程的具体使用步骤。
系统的建模与模拟(理解)
一个基于计算机的系统通常可考虑建立一下模型:
- 硬件系统模型
硬件系统模型描述基于计算机系统中的硬件(包括计算机、受系统控制的其他硬件设备等)配置、通信协议、拓扑结构,以及确保基于计算机系统的安全性、可靠性、性能等要求的措施。 - 软件系统模型
基于计算机系统中的软件部分(软件系统)通常可分解成若干个子系统。软件系统模型描述各软件子系统的功能、性能等要求,各软件子系统在硬件系统中的部署情况,以及软件子系统之间的交互。 - 人机接口模型
人机接口模型描述人如何与基于计算机的系统进行交互,包括用户环境、用户的活动、人机交互的语法和语义等。 - 数据模型
数据模型主要描述基于计算机的系统使用了哪些数据库管理系统,如果使用多个数据库管理系统,还应描述它们之间的数据转换方式,必要时可给出主要的数据结构。
系统模型通常可用图形描述,并加以相应的文字说明,共同完成整个基于计算机的系统的全部要求。必要时,在系统建模后可构造原型,进行系统模拟,以分析所建的模型能否满足整个基于计算机的系统的要求。
可行性分析(了解定义)
开发一个基于计算机的系统通常都受到资源(如人力、财力、设备等)和时间上的限制,可行性分析主要从经济、技术、法律等方面分析所给出的解决方案是否可行,能否在规定的资源和时间的约束下完成。
- 经济可行性
经济可行性主要进行成本效益分析,从经济角度,确定系统是否值得开发。 - 技术可行性
技术可行性主要根据系统的功能、性能、约束条件等,分析在现有资源和技术条件下系统能否实现。技术可行性分析通常包括风险分析、资源分析和技术分析。 - 法律可行性
法律可行性主要研究系统开发过程中可能涉及到的合同、侵权、责任以及各种与法律相抵触的问题。我国颁布了《中华人民共和国著作权法》。其中将计算机软件作为著作权法的保护对象。国务院颁布了《计算机软件保护条例》。这两个法律文件是法律可行性分析的主要依据。
需求工程概述(了解)
需求工程定义:
Alan Davis把需求工程定义为“直到(但不包括