软件工程期末复习(超详细!!!)
一:软件工程概述
软件工程学的存在价值:促进软件项目成功。
软件的概念:
软件(software):软件是计算机系统中与硬件相互依存的另一部分。它包括程序、数据
及其相关文档的完整集合。
(1)能够完成预定功能和性能的可执行指令(program)
(2)使得程序能够适当地操作信息的数据结构(data)
(3)描述程序的操作和使用的文档(document)
软件危机:
软件危机定义:软件在开发和维护过程中遇到的一系列严重问题。
软件危机包含两层含义:
如何开发软件。
如何维护数量不断膨胀的已有软件。
软件工程(Software Engineering):
是研究和应用功能如何以系统化的、规范的、可度量的方法去开发、运行和维护软件,即
把工程化应用到软件上。
软件生存周期:
是指软件产品从考虑其概念开始到该软件产品交付使用,直至最终退役为止的整个过程。
一般包括计划、分析、设计、实现、测试、集成、交付、维护等阶段。
计划阶段
确定待开发系统的总体目标和范围。
研究系统的可行性和可能的解决方案,对资源、成本及进度进行合理的估算。
分析阶段
分析、整理和提炼所收集到的用户需求,建立完整的分析模型,将其编写成软件需求规格
说明和初步的用户手册。
设计阶段(总体设计和详细设计)
设计阶段的目标是决定软件怎么做。
软件设计主要集中于软件体系结构、数据结构、用户界面和算法等方面。
实现阶段(编码)
实现阶段是将所设计的各个模块编写成计算机可接受的程序代码。
测试阶段
设计测试用例,对软件进行测试,发现错误,进行改正。
运行和维护阶段
应当在软件的设计和实现阶段充分考虑软件的可维护性。
维护阶段需要测试是否正确实现了所要求的修改,并保证在产品的修改过程中,没有做其
他无关的改动。
维护常常是软件生命周期中最具挑战性的一个阶段,其费用是相当昂贵的。
软件工程三要素:工具、方法、开发过程
瀑布模型:
问题定义、可行性研究、需求分析、概要设计、详细设计、编码、测试、运行与维护。