- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]软工期末复习提纲
第1章 软件工程概述
什么是软件
软件的定义:
软件是计算机程序、规程以及运行计算机系统可能需要的相关文档和数据。
程序=程序+文档。
软件是包括程序、数据及其相关文档的完整集合。
软件的特点
软件是一种逻辑实体,不是类似计算机硬件那样的物理实体,具有抽象性。
软件的生产与硬件不同:无明显的制造过程;通过软件工程师的智力劳动,把知识和技术转化成信息的一种产品;复杂的过程;等。
不存在硬件那样的机械磨损和老化问题,但存在软件退化问题
开发和运行常常受到计算机系统的限制。
软件的开发至今尚未完全摆脱手工艺的开发方式,大部分软件是“定制”的。
软件是复杂的;感性认识的复杂性;理性认识的复杂性。
研制成本高。
投入运行还涉及许多社会因素。
什么是软件危机
所谓软件危机就是计算机软件在开发和维护过程中所遇到的一系列严重问题
其产生原因和解决途径是什么
原因:软件本身存在的复杂性。与软件开发所使用的技术和方法有关。
解决途径:对程序设计方法进行研究;引入软件工程。
第2章 软件生命周期模型
什么是软件生命周期?软件生命周期模型有哪些种?
软件生命周期是指软件产品从考虑其概念开始,到该软件产品不再使用为止的整个时期。
6个基本活动为:
制定计划
需求分析与定义
软件设计
程序编写
软件测试
运行/维护
瀑布模型
V模型和W模型
原型方法(prototyping)
演化模型
增量模型
螺旋模型
喷泉模型
构件组装模型
快速应用开发模型
RUP
敏捷模型
第3章 系统需求分析及可行性分析
什么是可行性分析
可行性分析
指对项目的范围、时间限制、问题域的关键问题(即业务背景)以及该软件开发所必需的技术方案进行论证。
可行性分析主要集中在以下四个方面:
经济可行性分析
技术可行分析
法律可行性分析
实施方案的选择
可行性分析的其目的是什么
目的就是在该项目进入实际的软件开发过程之前用最小的代价论证该项目是否能做,是否值得做。
第4章 软件需求分析
软件需求分析的目标和任务是什么?
需求分析是一项必须的软件工程活动。它在系统需求分析和软件设计之间起到桥梁的作用:
它使得软件开发人员在系统分析的基础上深入描述软件的功能和性能、指明软件和其他系统元素的接口,建立软件必须满足的约束条件。
它允许软件开发人员对关键问题进行细化,并构建相应的分析模型:数据、功能和行为模型。
分析模型成为设计模型的基础,需求规格说明书也为软件测试人员和用户提供了软件质量评估的依据。
它能准确表达用户对系统的各项要求。
其任务是要准确地定义新系统的目标。回答系统必须“做什么”的问题并编制需求规格说明书。
作为目标系统的参考,需求分析的任务就是借助于(业务)系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的“做什么”的问题。
什么是数据建模?什么是功能建模?什么是行为建模?
第5章 结构化需求分析
结构化需求分析的工具有哪些?
数据建模: E-R图
功能建模:数据流图
系统行为建模:状态图、Petri网
数据词典 (DD,Data Dictionary)
会使用数据流图对系统进行功能建模?
数据流图是描述信息流和数据从输入移动到输出时被系统的功能变换的图形化技术。是软件需求分析中功能建模的工具。
会使用状态图对系统进行行为建模?
状态迁移图可以用来描述系统或对象的状态,以及导致系统或对象的状态改变的事件,从而描述系统的行为。
会撰写系统数据字典?
数据词典(DD,Data Dictionary):对于数据流图中出现的所有被命名的图形元素加以定义,使得每一个图形元素的名字都有一个确切的解释。
其定义应是严密的、精确的,无二义性的,它由以下内容组成:
数据流词条
数据元素词条
数据文件词条
加工词条
外部实体
第6章 软件设计
软件设计的目的是什么?软件设计都要对哪些内容进行设计?
首先,设计通常是开发活动的第一步。
设计定义为:“应用各种技术和原理,对设备、过程或系统做出足够详细的定义,使之能够在物理上得以实现”。
软件设计是软件工程过程中的技术核心,也是后续开发步骤及软件维护工作的基础。
软件设计的最基本目标就是回答“概括地描述系统如何实现用户所提出来的功能和性能等方面的需求”
软件设计的最终目标是要取得最佳方案。
“最佳”是指在所有候选方案中,就节省开发费用,降低资源消耗,缩短开发时间的条件,选择能够赢得较高的生产率、较高的可靠性和可维护性的方案。
概要设计的内容?详细设计的内容?
概要设计步骤
制定设计规范
软件系统结构的总体设计
处理方式设计
数据结构设计
可靠性设计
编写概要设计阶段的文档
概要设计文档
详细设计的步骤
确定软件各个功能模块内的算法以及各功能模块的内部数据组织。
选定某种表达形式来描述各种算
文档评论(0)