软件的定义:
软件一词所指包括程式及支持程式安装、操作、修复和升级所需的所有信息及材料。他把程式定义为一组能够在计算机上运行的指令,把编程制品定义为程式和使程式智能、可用及可扩展的元素的集合。在这种定义方式下,软件即指编程制品。
软件工程的定义:
软件工程是指将工程学、科学、原理和方法按照一定规则应用到软件研发过程中以确保质量并节约成本。
我们主要考虑规则和质量,因为其他几个方面已被广泛的接受和理解。
在复杂的工程和科学领域,已定义的专业规则提供了一个框架,这个框架是在过去的教训上建立的。通过把这些规则应用到设置管理、编码标准或命名惯例中,一个软件组织就能够避免重复解决以前遇见过的问题。这些规则对于软件工程的价值就是软件组织必须注意和参考的东东。在这里我把这种规则理解为:逻辑推理的方法;
质量是指一个产品在一定程度上满足用户的需求。质量的依据可以包括:功能满足、出错率、性能、可扩展性、可用性,同时也包括所有其他对用户重要的产品特征。
软件工程过程的定义:
软件工程过程是将用户需求转化为软件所需的软件工程活动的总集,这个过程我把他称作逻辑推理过程中所有活动的总集;
这个过程可能包括投入、需求分析、规格说明、设计、实施、验证、安装、使用支撑和文档化,还可能包括短长期的修复和升级以满足用户增长的需求。
由于用户的需求和使用环境具有不可预知性,因此软件工程过程是一个学习改进的过程。这可能需要专门的研究用户需求,将其具体化在需求定义中,并随着在设计和实现过程中获得的更多知识进行调整。
软件工程过程的范围:
软件工程过程开始于实现软件中某项任务的决定。
但它不包括如下这些与系统有关的活动:定义系统的总体目标和需求;在软硬件之间划分系统的功能;定义软硬件的接口;进行软硬件之间的整合和测试;整个系统的可接受性的测试和操作。
虽然上述这些活动是必不可少的,它们或许还需要相当的软件技能,但它们应当划分在系统设计或者系统管理当中,而不应该是软件工程过程的一部分。
软件过程架构(及我们理解的在工程过程中各个阶段的产出标准化[模版]): 软件过程架构是一个标准化(框架)工具,在这个标准化(框架)在一个项目的具体过程被定义了。 1、制定软件工程的各个阶段的产出标准化模版及框架,这个框架却需要提供项目间的共同属性,在具体项目中应当反映特殊性。
2、在各个阶段的产出标准化需要制定关键检查点,任务,允许采用的通用技术、方法和度量的说明。
3、 需要提供了一个评估和改进软件工程过程各个阶段产出标准化的工具
以上就是标准化(框架)的许多好处,又可以根据具体项目带来灵活性。