1.软件是人们为了完成特定的功能而编制的一组指令集,它由计算机的语言描述,并且能在计算机系统上执行。
2.软件危机出现的原因:人们对软件产品认识的不足以及对软件开发的内在规律理解的偏差是软件危机出现的本质原因。
(1)忽视软件开发前期的需求分析
(2)开发过程缺乏统一的、规范化的方法论的指导
(3)文档资料不齐全或不准确
(4)忽视与用户之间、开发组成员之间的交流
(5)忽视测试的重要性
(6)不重视维护,或由于上述原因照成的维护工作困难
(7)从事软件开发的专业人员对这个产业认识不充分,缺乏经验
(8)没有完善的质量保证体系
3.IEEE对软件工程的定义为:(1)将系统化、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用与软件。(2)对(1)中所述方法的研究
4.软件研究的主要内容主要包括两个部分
(1)软件开发技术。主要研究软件开发方法、软件开发过程、软件开发工具和环境。
(2)软件开发过程管理。主要研究软件工程经济学和管理学。
软件工程三要素:工程、方法、工具。
5.常用的软件开发方法有以下几种
(1)结构化方法
(2)面向数据结构方法
(3)面向对象方法
(4)形式化方法
6.软件的诞生和生命周期是一个过程,我们总体上称这个过程为软件过程。
7.软件产品的生命周期是指从设计改产品的构想开始,到软件需求的确定、软件设计、软件实现、产品测试与验收、投入使用以及产品的不断更新,到最终改产品被市场淘汰的全过程。
8.传统的软件生命周期
9.软件开发模型
(1)瀑布模型
(2)增量模型
(3)螺旋模型
(4)喷泉模型
(5)基于组件的开发模型
(6)统一软件开发过程模型
10.练习题
11.可行性研究想要从多个方面进行评估,主要包括:战略可行性、操作可行性、计划可行性、技术可行性、社会可行性、市场可行性、经济可行性和风险可行性等。
12.需求分析的步骤:
(1)获取需求
(2)分析建模
(3)需求描述
(4)需求验证
13.结构化分析的方法
14.数据字典
数据字典类型题。
某旅馆的电话服务如下:可以拨分机号或外线号码。分机号是从8000至8999。 外线号码先拨0,然后是市话号码或长话号码。长话号码是以区号和市话号码组成。区号是从100到999中任意的数字串。市话号码是以局号和分局号组成。局号可以是866,766,566,466 中任意一个号码分局号是任意长度为4的数字串。
要求:写出在数据字典中,电话号码的数据条目的定义。
15.加工规格说明
判定表:
16.结构化分析示例(数据流图表示)
17.习题
18.软件设计在软件开发中处于核心地位,它是保证质量的关键步骤。
19.软件设计的原则:(1)模块化(高内聚低耦合)(2)抽象(3)逐步求精(4)信息隐藏(5)复用性设计(6) 灵活性设计
20.从工商管理角度来看,软件设计分为概要设计和详细设计。
21.数据库结构设计概念结构设计、逻辑结构设计和物理结构设计。
22.面向对象中的几个基本概念
(1)面向对象:按人们认识的客观世界的系统思维方式,采用基于对象的概念建立模型,模拟客观世界分析,设计,实现软件的方法。
(2)对象:现实世界中各种各样的实体
(3)类:具有相似内部状态和运动规律的实体的集合
(4)消息:指对象间相互联系和相互作用的方式
(5)类的特征:抽象、继承、封装、多态、重写、包、包的接口类
23.统一建模语言(UML)
(1)UML是一种标准的图形化建模语言,不是一种程序设计语言。
(2)UNL的主要内容由五类图定义:用例图、静态图、行为图、交互图、实现图
(3)UML“4+1”视图:用例视图、逻辑视图、过程视图、实现视图、部署视图
(4)用例之间的关系:包含、扩展、泛化
(5)类与类之间的关系:关联、依赖、泛化、实现等
习题
23.面向对象的分析主要以用例模型为基础
24.目标系统的类可以划分为:边界类、控制类和实体类
25.面向对象的3种建模
(1)描述系统数据结构的对象模型
(2)描述系统控制结构的动态模型
(3)描述系统功能的功能模型
(4)建立对象模型通常由五个层次组成:主题层、类与对象层、结构层、属性层、服务层
(5)建立动态模型:编写脚本,设计用户界面,画出UML顺序图或活动图,画出状态图
26.根据建模侧重点的不同,可以将软件体系结构的模型分为结构模型、框架模型、动态模型、过程模型和功能模型
27.客户机/服务器(C/S)体系结构3个主要的组成部分:服务器、客户机和网络。两层C/S结构一般有两种形态:瘦客户机模型和胖客户机模型
28.模型-视图-控制器(MVC)模型强调用户的输入、数据模型和数据表示方式分开设计,一个交互式应用系统有模型、视图、控制器2个部分组成,分别对应内部的数据、数据表示和输入/输出部分。
习题
1、面向对象模型主要由以下哪些模型组成?
29.面向对象设计的原则:模块化、抽象化、信息隐藏、低耦合、高内聚、复用性。
30.典型的面向对象设计模型
31. 软件测试是发现软件中错误和缺陷的主要手段
32.V模型示意图
33.W模型
34.软件测试分类
35. 画数据流图和E-R图