1 软件工程
当单个的程序开发技术已经不能扩展从而应用到大型的、复杂的软件系统中时,就需要软件工程。
软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。
软件工程的4项基本原则:
1.选取适合的开发范型
2.采用合适的设计方法
3.提供高质量的工程支持
4.重视开发过程的管理。
软件生存周期:
软件生存周期是软件的产生直到报废或停止使用的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段。这种按时间划分的方法是软件工程中的一种思想原则,即按部就班、逐步推进。
软件生存周期的6个阶段:
1问题的定义及规划
2需求分析
3软件设计
4程序编码
5软件测试
6运行维护
(问题定义->可行性分析->需求分析->概要设计->详细设计->编码和单元测试->系统测试->软件维护)
软件生存周期模型:
描述软件开发过程中各种活动如何执行的模型。主要有以下几个模型:
1.瀑布模型
2.增量模型
3.螺旋模型
4.喷泉模型
问题 | 答案 |
什么是软件 | 计算机程序和相关文档。 |
什么是优良软件的特点 | 具备所需功能和性能,且可维护、可靠、可用。 |
什么是软件工程 | 关于软件生产的各个方面的工程学科。 |
什么是基本的软件工程活动 | 软件描述、软件开发、软件验证及软件进化。 |
软件工程和计算机科学有何区别 | 计算机科学侧重理论和基础。软件工程侧重软件开发和交付的实际活动。 |
软件工程和系统工程有何区别 | 系统工程侧重基于计算机系统的开发的所有方面,包括硬件、软件和过程工程。软件工程只是这些总体过程的一部分。 |
软件工程面临的主要挑战是什么 | 不断增长的多样性、减少交付时间以及开发可靠的软件的要求。 |
什么是软件工程的成本 | 软件开发成本约占60%,测试成本占40%. |
什么才是最好的软件工程技术和方法 | 由于所有的软件项目都必须进行专业化的管理和开发,所以不同的技术应适用于不同类型的系统。 |
Web给软件工程带来了哪些不同 | Web带来了软件服务的可用性,以及开发高品质的基于服务的分布式系统的可能性。 |
2 软件过程
软件工程中系统化的方法有时候也叫软件过程。所有软件过程都包含4项基本活动:
基本活动 | 描述 |
1.软件描述 | 客户和工程师定义所要生产的软件以及对其操作的一些约束。 |
2.软件开发 | 软件得以设计和编程实现。 |
3.软件有效性验证 | 软件经过检查以保证它就是客户所需要的。 |
4.软件进化 | 软件随不同的客户和变化的市场需求而进行修改。 |
3 体系结构设计
体系结构模型:
1.分层体系结构
2.容器体系结构
3.客户端-服务器体系结构
4.管道和过滤器体系结构