软件工程导论重点
第一章重点:
软件的概念:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。
软件危机概念: 软件危机暴发于上个世纪六十年代末。
主要表现为:软件的发展速度远远滞后于硬件的发展速度,不能满足社会日益增长的软件需求。软件开发周期长、成本高、质量差、维护困难。 软件工程概念:
概括地说,软件工程是指导计算机软件开发和维护的工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。 软件工程的目标:
软件工程的目标是运用先进的软件开发技术和管理方法来提高软件的质量和生产率,也就是要以较短的周期、较低的成本生产出高质量的软件产品,并最终实现软件的工业化生产。
基本目标:
? 付出较低的开发成本 ? 达到要求的软件功能 ? 取得较好的软件性能 ? 开发的软件易于移植 ? 需要较低的维护费用
? 能按时完成开发工作,及时交付使用
软件生存期概念和包含内容:
软件也有一个孕育、诞生、成长、成熟和衰亡的生存过程,我们称这个过程为软件生命周期或软件生存期。 ? 软件生存期分为三个时期 软件定义 软件开发 运行维护
软件工程的方法:
软件工程包含技术和管理两方面的内容,是技术和管理紧密结合所形成的工程学科。
通常将软件开发全过程中使用的一整套技术方法的集合称为方法学(methedology),也称为范型(paradigm)。
目前使用最广泛的软件工程方法学:传统方法学(结构化方法学),面向对象方法学。
软件工程三要素:
三要素:方法、工具和过程。
第二章重点:
生存期模型有哪些: ? 瀑布模型
? 快速原型模型 ? 增量模型 ? 螺旋模型 ? 喷泉模型 ? 统一过程
? 基于构件的开发模型 ? 敏捷过程
前四种面向过程 后四种面向对象 给一个模型,判断出是哪一模型的
第三章重点:
结构化分析方法的概念:
传统的分析建模方法称为结构化分析(structured analysis,SA)方法。 三大建模:(未完待续!!!) 功能建模:
功能建模的思想就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。功能模型
用数据流图来描述。 数据建模:
在结构化分析方法中,使用实体—关系建模技术来建立数据模型。
这种技术是在较高的抽象层次(概念层)上对数据库结构进行建模的流行技术。
实体—关系模型表示为可视化的实体—关系图(entity-relationship diagram,ERD),也称为ER图。
ER图中仅包含3种相互关联的元素:数据对象(实体)、描述数据对象的属性及数据对象彼此间相互连接的关系。 行为建模对应的概念,设计和图
状态转换图(简称状态图)通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。状态图中使用的主要符号如图所示。
第四章重点:
结构化设计的概念:
如果一个程序的代码块仅仅通过顺序、选择和循环这三种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。
建议从高级语言中取消GOTO语句;嵌套;子模块
自顶向下(Top-Down)、逐步细化(Stepwise Refinement)
第九章重点:
软件工程的观点:
(1)详细设计应能直接地容易地翻译成代码程序。 (2)源程序应具有可移植性。 (3)编译程序应具有较高的效率。 (4)尽可能应用代码生成的自动工具。 (5)可维护性。 程序设计语言的选择:
? 在选择编程语言时,可以考虑以下因素。
(1)应用领域:目标系统的应用领域不同,需要采取的系统开发范型也不同,所以要考虑支持相应范型的编程语言。 (2)系统用户的要求。 (3)编程语言自身的功能。
(4)编码和维护成本及开发环境。 (5)编程人员的技能。 (6)软件可移植性。