软件工程----第一章 软件和软件工程

概念:计算机软件是由专业人员开发并长期维护的软件产品。完整的软件产品包括:可以在各种不同规模及体系结构的计算机上运行的程序,程序运行过程中产生的各种结果,以及各种描述信息,这些信息可以以硬拷贝或是各种电子媒介形式存在。软件工程包括过程,各种方法(实践)以及各类工具,以协助专业人员构建高质量的计算机软件。

1.1软件的本质

1.1.1定义软件

软件是:(1)指令的集合(计算机程序),通过执行这些指令可以满足预期的特征,功能和性能需求;(2)数据结构,使得程序可以合理利用信息;(3)软件描述信息,它以硬拷贝和虚拟形式存在,用来描述程序操作和使用。

1. 软件是设计开发的,而不是 传统意义上生产制造的。

2. 软件不会“磨损”。

3. 虽然整个工业向着基于构件的构造模式发展,然而大多数软件仍是根据实际的顾客需求定制的。

1.1.2软件应用领域

(1)系统软件(2)应用软件(3)工程/科学软件(4)嵌入式软件(5)产品线软件(6WEB应用软件(7)人工智能软件

1. 开放计算2.网络资源3.开源软件

1.1.3遗留软件

1.2软件工程

软件工程是:(1)将系统化,规范的,可量化的方法应用于软件的开发,运行和维护,即将工程化方法应用于软件。(2)在(1)中所述方法的研究。

软件工程是一种层次化的技术。支持软件工程的根基在于质量关注点。

软件工程的基础是过程层。软件过程将各个技术层次结合在一起,使得合理,及时地开发计算机软件成为可能。过程定义了一个框架,构建该框架是有效实施软件工程技术必不可少的。

软件工程方法为构建软件提供技术上的解决方法。方法覆盖面很广,包括沟通,需求分析,设计建模,编程,测试和技术支持。软件工程方法依赖于一组基本原则,这些原则涵盖了软件工程所有技术领域,包括建模和其他描述性技术等。

软件工程工具为过程和方法提供自动化或半自动化的支持。这些工具可以集成起来,使得一个工具产生的信息可被另外的一个工具使用,这样就建立了软件开发的支撑系统,称为计算机辅助软件工程。

1.3软件过程

软件过程是工作产品构建时所执行的一系列活动,动作和任务的集合。

活动主要实现宽泛的目标(如与利益相关者进行沟通),与应用领域,项目大小,结果复杂性或者实施软件工程的重要程度没有直接关系。

动作(如体系结构)包含了主要工作产品(如体系结构设计模型)生产过程中的一系列任务。

任务关注小而明确的目标,能够产生实际产品(如构建一个单元测试)。

过程框架定义了若干个框架活动,为实现完整的软件工程过程建立了基础。这些活动可广泛应用于所有软件开发项目,无论项目的规模和复杂性如何。此外,过程框架还包含一些适用于整个软件过程的普适性活动。一个通用的软件工程过程框架通常包含一下5个活动:沟通,策划,建模,构建,部署。

典型的普适性活动包括:软件项目跟踪和控制,风险管理,软件质量保证,技术评审,测量,软件配置管理,可复用管理,工作产品的准备和生产。

不同项目所采用的项目过程可能有很大不同,这些不同主要体现在一下方面:
1,活动,动作和任务的总体流程,以及相互依赖关系。

2,在每一个框架活动中,动作和任务细化的程度。

3,工作产品的定义和要求的程度。

4,质量保证应用的方式。

5,项目跟踪和控制活动应用的方式

6,过程描述的详细程度和严谨程度

7,客户和利益相关者对项目参与的程度

8,软件团队所赋予的自主权

9,队伍组织和角色明确程度

过程模型说明:强调对过程活动和任务的详细定义,识别和应用。其目的是提高软件质量,项目的可管理性以及对于交付时间和项目费用的可预测性,并对软件工程师构建系统所必需的工作提供指导。

敏捷过程模型:强调项目的灵活性,并在一些基本原则的指导下,采用非正式的方式(支持者认为这并不会降低过程的有效性)执行软件过程。

1.4软件工程实践

通用的框架活动---沟通,策划,建模,构建和部署。

1.4.1实践的精髓

1. 理解问题(沟通和分析)

2. 计划解决问题(建模和软件设计)

3. 实施计划(代码生成)

4. 检查结果的正确性(测试和质量保证)

1.4.2一般原则

1,存在价值

2,保持简洁

3,保持愿景

4,关注使用者

5,面向未来

6,计划复用

7,认真思考

1.5软件神话

真或假

1.6小结

 

软件已经成为以计算机为基础的系统和产品中的关键部分,并且成为世界舞台上最重要的技术之一。在过去的50年里,软件已经从解决特定问题和信息分析的工具发展为独立的产业。然而,如何在有限的时间内,利用有限的资金开发高质量的软件仍然是我们所面对的难题。

软件————程序,数据和描述信息————覆盖了科技和应用的很多领域。遗留软件仍旧给维护人员带来了特殊的挑战。

软件工程包含过程,方法和工具,这些工具使得快速构建高质量的复杂的计算机系统成为可能。软件过程包含了五个框架活动:沟通,策划,建模,构建和部署,这些活动运用于所有软件项目。软件工程实践遵照一组核心原则,是一个解决问题的活动。

猜你喜欢

转载自blog.csdn.net/archar_saber/article/details/79165135