搜档网
当前位置:搜档网 › 软件工程——原理、方法与应用(第3版本)史济民-顾春华-版知识点整理(完整版)410

软件工程——原理、方法与应用(第3版本)史济民-顾春华-版知识点整理(完整版)410

软件工程——原理、方法与应用(第3版本)史济民-顾春华-版知识点整理(完整版)410
软件工程——原理、方法与应用(第3版本)史济民-顾春华-版知识点整理(完整版)410

1. 软件生存周期:

1) 需求分析

2) 软件分析

3) 软件设计

4) 编码(测试)

5) 软件测试

6) 运行维护

2. 7种模型:

(1)瀑布模型

特点:线性模型,每一个阶段必须完成规定的文档

使用场合:需求明确的中、小型软件开发

(2)快速原型模型

特点:用户介入早,通过迭代完善用户需求,应用快速开发工具适用场合:需求不明确的小型软件开发

(3)增量模型

特点:每次完成一个增量,可用于oo开发

适用场合:容易分块的大型软件开发

(4)螺旋模型

特点:典型迭代模型,重视风险分析,可用于oo开发

适用场合:具有不确定性的大型软件开发

(5)构件集成模型

特点:软件开发与构件开发平行运行

适用场合:领域工程,行业的中型软件开发

(6)转换模型

特点:形式化的需求规格说明书,自动的程序变换系统

适用场合:理想化模型,尚无成熟工具支持

(7)净室模型

特点:形式化的增量开发模型,在洁净状态下实现软件制作

适用场合:开发团队熟悉形式化方法,中小型软件开发

3. 统一过程

定义:描述了软件开发过程中各个环节应该做什么、怎么做,什么时候做以及为什么要这样做,描述了一组以某种顺序完成的活动

四个阶段:

i. 初始阶段

ii. 细化阶段

iii. 构造阶段

iv. 迁移阶段

4. 敏捷过程

定义:是指一种以人为核心,以迭代方式循序渐进开发的方法。

5. 软件可行性研究

内容:

1) 经济可行性

2) 技术可行性

3) 运行可行性

4) 法律可行性

步骤:

1) 对当前系统进行调查和研究

2) 导出新系统的解决方案

3) 提出推荐方案

4) 编写可行性论证报告

6. 风险识别

定义:

1) 项目风险

2) 技术风险

3) 商业风险

风险预测:

1) 风险发生的可能性(极罕见,罕见,普通,可能,极可能)

2) 风险发生后的后果(灾难性的,严重的,轻微的,可忽略的)

项目风险:在预算、进度、人力、资源、客户及需求等方面潜在的问题技术风险:设计,实现,接口和维护等方面的问题

商业风险:包括市场,商业策略,推销策略等方面的风险

7. 项目实施计划

1) 项目实施计划

2) 质量保证计划

3) 软件测试计划

4) 文档编制计划

5) 用户培训计划

6) 综合支持计划

7) 软件分发计划

8. 结构化分析基本任务与指导思想

基本任务:

1) 编写软件需求规格说明书

2) 建立系统分析模型

指导思想:抽象与分解

基本步骤:

1) 自顶向下对系统进行功能分解,画出分层DFD图

2) 右后先前定义系统的数据和加工,编制DD和PSPEC

3) 最终写出SRS

9. SA模型(结构化分析模型)的组成

10. 数据流图

组成符号:

1) 圆框代表加工;

2) 箭头代表数据的流向;

数据名称总是标在箭头的边上;

3) 方框表示数据的源点和终点;

4) 双杠(或单杠)表示数据文件或数据库;

11. 大型复杂的软件系统

SRS:需求规格说明书

通常把这种不需再分解的加工称为“基本加工”,把上述逐步分解称为“自顶向下,逐步细化”

12. 将分析模型转化为软件的设计模型

分析模型设计模型

状态转换图(STD)

过程设计

控制规格说明(CSPEC)

加工规格说明(PSPEC)

数据流图(DFD)

接口设计

体系结构设计

数据设计

数据字典(DD)

实体联系图(E-R)

13. DFD<——>SC图

把DFD图转换为最终SC图,仅仅完成了软件设计的第一步。

传统的软件工程将软件设计分成两步走:

1) 总体(或结构)设计——用最终SC图表示

2) 模块设计:——用逐步细化的方法来实现

14. 传统软件工程方法与面向对象的区别、各自的优缺点

区别:

前者是面向过程的语言,一切以算法为核心

后者是面向对象的语言,构成类的封装机制,跟好的实现了代码的服用性能,依

高内聚、低耦合的思想核心

传统的软件工程主要指结构化软件工程方法

优点:

1) 整体思路清楚,目标明确

2) 设计工作中阶段性非常强,有利于系统开发的总体管理和控制

3) 在系统分析时可以诊断出原系统中存在的问题和结构上的缺陷

缺点:

1) 用户要求难以在系统分析阶段准确定义,致使系统在交付时产生许多问

2) 不能适应事务变化的要求

3) 系统的开发周期长

面向对象:

优点:

1) 加强了对问题空间和软件系统的理解

2) 改进包括用户在内的与软件分析有关的各类人员之间的交流

3) 对需求的变化具有较强的适应性

4) 很好地支持软件复用

5) 确保从需求模型到设计模型的一致性

缺点:

1) 用户与分析员和管理之间的问题

2) 开发周期长

3) 结构化程度较低,开发初期难以锁定功能要求

15. 软件需求

定义:是指一个软件系统必须遵循的条件或具备的能力

三个层次:业务需求、用户需求、功能需求

特征:

i. 功能性

ii. 可用性

iii. 可靠性

iv. 性能

v. 可支持性

vi. 设计约束

16. 软件需求工程

定义:是一门应用有效的技术和方法,合适的工具和符号,来确定,管理和描述目标系统及其外部行为特征的学科。

17. 需求分析

四大步骤:

1) 需求获取

2) 需求建模

3) 需求描述

4) 需求验证

18. 需求获取的常用方法

1) 常规的需求获取方法

a) 建立联合分析小组

b) 用户访谈

c) 问题分析的确认

2) 用快速原型法获取需求

19. 面向对象的需求建模

1) 画用例图

a) 确定参与者(泛指所有存在于系统外部并与系统进行交互的人,硬件或其他

系统)

b) 确定用例

c) 绘制和检查用例图

2) 写用例规约

a) 用例规约的内容

b) 用例规约示例

c) 用例模型的检查

3) 描述补充规约

4) 编写术语表

5) 调整用例模型

20. 需求管理的内容

1) 特定实践

a) 获得对需求的理解

b) 获取需求承诺

c) 管理需求变更

d) 维护对需求的双向可追溯性

e) 标识项目工作与需求的一致性

2) 管理流程

a) 需求确认

b) 需求跟踪

c) 需求变更

需求变更的流程:

变更申请->审批->更改->重新确认

21. 面向对象开发的全过程

OOA分析模型->OOD设计模型->OOP实现模型->OOT的迭代过程

22. OOA的优点

1) 同时加强了对问题空间和软件系统的了解

2) 改进包括用户在内的软件分析有关的各类人员的交流

3) 对需求的变化具有较强的适应性

4) 很好地支持软件复用

5) 确保从需求模型到设计模型的一致性

23. 分析类的类型

边界类:提供了对参与者或外部协议交互的接口

控制类:用于封装一个或几个用例所特有的流程控制行为实体类:用于对必须存储的信息和相关的行为建模24. 面向对象设计的两个层次

1) 系统架构设计

1) 系统高层结构设计

2) 确定设计元素

3) 确定任务管理策略

4) 实现分布式机制

5) 设计技术存储方案

6) 人机界面设计

2) 系统元素设计

1) 类/对象设计

2) 子系统设计

3) 包设计

25. OOD

a) 任务:将分析阶段建立的分析模型转换为软件设计模型

b) 广义地说,对象也是一种模块,再模块设计中要求的高内聚、低耦合等性质

c) 可重复使用的软件组件称之为构件

d) 现有的可复用构件,大多数是在对象的基础上创建的

e) 模块是一个拥有明确定义的输入、输出和特性的程序实体

26. 试比较3种不同的设计思想

a) 面向过程的思想:

i. 各模块功能可能相互交叉或重叠,模块间常常存在数据的共享或数据结构的

共享

b) 面向功能的思想:

i. 各模块的功能单一,如能将它们与其他模块的数据共享降到最低限度,就可

以在某些应用中重用

c) 面向对象的思想:

i. 各模块是一个个独立的单位,不仅重用性较好,而且易于测试,联调和维护

27. 软件设计一般包括

1) 数据设计(DD、E-R)

2) 体系结构设计(DFD)

3) 接口设计(DFD)

4) 过程设计(STD,控制规格说明、加工规格说明)

28. 传统的软件设计

1) 概要设计

i. 结构设计

ii. 接口设计

iii. 编写概要设计文档

2) 详细设计

i. 确定各个软件部件的数据结构和操作,产生描述各软件部件的详细设计文档

29. 软件测试

黑盒测试

定义:是根据被测试程序的功能来进行测试,也称为功能性测试

方法:

i. 等价分类法

ii. 边界值分析法

iii. 错误猜测发

iv. 因果图法

白盒测试

定义:以程序的结构为依据,又称结构测试

常用方法:

i. 逻辑覆盖法

ii. 路径测试法

30. 软件的维护

定义:在一个软件产品交付使用后对其进行修改,以纠正故障、改进其性能和其

属性,或使产品适应改变了的环境

分类:

i. 完善性维护

ii. 纠错性维护

iii. 适应性维护

iv. 预防性维护

31. 可维护性

定义:是衡量维护容易程度的一种软件属性

取决于:

i. 可理解性

ii. 可修改性

iii. 可测试性

三者一起构成了软件的质量属性

32. 文档的作用

1) 帮助维护人员读懂程序

2) 方便被维护软件的测试

33. 横向复用和纵向复用

定义:按复用活动所应用的领域范围

“标准函数库”是一种典型的原始横向复用机制

横向复用

定义:是指复用不同应用领域中的软件元素

纵向复用

定义:是指在一类具有较多公共性的应用领域之间,对软件构件进行复用主要活动:

i. 实施领域分析

ii. 开发软件构件

iii. 建立软件构件库

软件工程(第五版)--习题及答案--第三章

一、判断题 1、(√)软件需求分析阶段要确定软件系统要“做什么”。 2、(×)软件需求规格说明书可作为可行性研究的依据。 3、(√)需求分析员可以参加最后的需求评审工作。 4、(×)画数据流图时可以加少量的控制流,使加工之间有时序的关系。 5、(√)结构化分析模型的核心是数据词典。 6、(×)在数据流图中,带有箭头的线段表示的是控制流。 7、(×)在软件生产过程中,需求信息的来源是项目经理。 8、(√)需求分析阶段的任务是确定软件的功能。 二、选择题 1、需求分析最终结果是产生(B)。 A、项目开发计划 B、需求规格说明书 C、设计说明书 D、可行性分析报告 2、数据流图(DFD)是(A)方法中用于表示系统的逻辑模型的一种图形工具。 A、SA B、SD C、SP D、SC 3、需求规格说明书的作用不包括(C)。 A、软件验收的依据 B、用户与开发人员对软件要做什么的共同理解 C、软件可行性研究的依据 D、软件设计的依据 4、数据词典是用来定义(D)中的各个成分的具体含义。 A、流程图 B、功能结构图

C、结构图 D、数据流图 5、结构化分析方法(SA)是一种面向(B)的分析方法。 A、数据结构 B、数据流 C、结构化数据系统 D、对象 6、在数据词典中,以下哪一项表示允许重复0至任意次(A)。 A、{ } B、0{ } C、0{ }n D、{ }n 7、以下数据流图符号中哪一个表示加工(B)。 A、B、C、D、 8、软件开发的需求活动,其主要任务是(D)。 A、给出软件解决方案 B、给出系统模块结构 C、定义模块算法 D、定义需求并建立系统模型 9、结构化分析的核心是(A)。 A、自顶向下的分解 B、用DFD建模 C、用DD描述数据需求 D、自底向上的抽象 10、需求分析的任务是(A)。 A、正确说明让软件“做什么” B、用DFD建模 C、用DD建立数学模型 D、给出需求规格说明书 11、对于分层的DFD,父图与子图的平衡是指(B)。 A、父图与子图的输入输出数据流必须相同 B、子图必须继承父图的输入与输出流 C、父图与子图相应的输入输出数据流名字保持一致

软件工程概要设计说明书模板

概要设计说明书模版 摘要 大家在平时的系统开发中需要编写一些文档模板,这是 ISO软件工程模板标准贴出,供大家参考。 1.引言 1.1编写目的 [说明编写这份概要设计说明书的目的,指出预期的读者。] 1.2背景 a.[待开发软件系统的名称;] b.[列出本项目的任务提出者、开发者、用户。] 1.3定义 [列出本文件中用到的专门术语的定义和外文首字母组词的原词组。] 1.4参考资料 [列出有关的参考资料。] 2.总体设计 2.1需求规定 [说明对本系统的主要的输入输出项目、处理的功能性能要求。包括] 2.1.1系统功能 2.1.2系统性能 2.1.2.1精度 2.1.2.2时间特性要求 2.1.2.4可靠性 2.1.2.5灵活性 2.1.3输入输出要求 2.1.4数据管理能力要求 2.1.5故障处理要求 2.1.6其他专门要求 2.2运行环境 [简要地说明对本系统的运行环境的规定。] 2.2.1设备 [列出运行该软件所需要的硬设备。说明其中的新型设备及其专门功能。]

2.2.2支持软件 [列出支持软件,包括要用到的操作系统、编译(或汇编)程序、测试支持软件等。] 1 2.2.3接口 [说明该系统同其他系统之间的接口、数据通信协议等] 2.2.4控制 [说明控制该系统的运行的方法和控制信号,并说明这些控制信号的来源。] 2.3基本设计概念和处理流程 [说明本系统的基本设计概念和处理流程,尽量使用图表的形式。] 2.4结构 [给出系统结构总体框图(包括软件、硬件结构框图),说明本系统的各模块的划分,扼要说明每个系统模块的标识符和功能,分层次地给出各模块之间的控制与被控制关系。] 2.5功能需求与系统模块的关系 [本条用一张矩阵图说明各项功能需求的实现同各模块的分配关系。] [系统模 块1] [系统模 块2] [……] [系统模 块m] [功能需 求1]  √ [功能需 求2] √ [┇] [功能需 求n] √ √  2.6人工处理过程 [说明在本系统的工作过程中不得不包含的人工处理过程。] 2.7尚未解决的问题 [说明在概要设计过程中尚未解决而设计者认为在系统完成之前必须解决的各个问题。] 3.接口设计 3.1用户接口 [说明将向用户提供的命令和它们的语法结构,以及相应的回答信息。]

实用软件工程第3版课后习题答案_IT168文库

《实用软件工程》第3版 习题参考答案 习题 1 1.1 开发文档都有哪些?用图示表示它们之间的关系。 开发文档包括目标程序、源程序、详细设计说明书、概要设计说明书、需求规格说明书、用户需求报告、软件合同,它们之间的关系如下图所示。 1.2 简述软件工程研究的内容。 软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。 其中软件开发方法的内容又涵盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护、版本升级。 常用的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型。 软件支持过程由所支持的CASE工具组成,常用的CASE工具有Power Designer和Rational Rose。 软件管理过程主要有CMMI、ISO9000、微软企业文化和敏捷文化现象。 1.3 详细解释软件的定义、程序的定义及软件工程的定义。 软件的定义:软件=程序+数据+文档。这里的程序是指程序系统。这里的数据不仅包括初始化数据、测试数据,而且包括研发数据、运行数据、维护数据,也包括软件企业积累的项目工程数据和项目管理数据中的大量决策原始记录数据。这里的文档指的是软件开发过程中的分析、设计、实现、测试、维护文档、管理文档。 现在有一种新提法正在引起关注,这种提法是:软件=知识+程序+数据+文档。 程序是计算机为完成特定任务而执行的指令的有序集合。从应用的角度可理解为: 面向过程的程序=算法+数据结构 面向对象的程序=对象+信息 面向构件的程序=构件+构架 软件工程是研究软件开发和软件管理的一门工程学科。 1.4 软件工程的7+1条基本原理有什么现实意义? 软件工程的7条基本原理是在面向过程的程序设计时代(结构化时代)提出来的,但在

软件工程-概要设计说明书

文档编号:HHIT-SECD-S101-01T-03 版本号:V1.0 酒店宾馆客房管理系统概要设计说明书 项目名称酒店宾馆客房管理系统的设计与实现 项目负责人 项目开发单位 项目成员 起止时间2013.6.21----2013.6.22 2013年6月22日

软件工程课程设计项目组任务分派单(组长用) 班级:组别:组长姓名:时间:2013 年06 月22 日 准等信息; 2、本表在每次任务完成后,由组长按照完成标准验收,并给出每个组员成绩评定(每人平均70 分制),除组长保留一份外,应及时上报任课老师(电子和纸质文档同时上报)。

目录 1引言 (4) 1.1编写目的 (4) 1.2背景 (4) 1.3定义 (4) 1.4参考资料 (4) 2总体设计 (5) 2.1需求规定 (5) 2.2运行环境 (5) 2.3基本设计概念和处理流程 (6) 2.4结构 (9) 2.5功能需求与程序的关系 (10) 2.6人工处理过程 (10) 2.7尚未解决的问题 (10) 3接口设计 (10) 3.1用户接口 (10) 3.2外部接口 (11) 3.3内部接口 (11) 4运行设计 (12) 4.1运行模块组合 (12) 4.2运行控制 (12) 4.3运行时间 (13) 5系统数据结构设计 (13) 5.1逻辑结构设计要点 (13) 5.2物理结构设计要点 (14) 5.3数据结构与程序的关系 (14) 6系统出错处理设计 (15) 6.1出错信息 (15) 6.2补救措施 (15) 6.3系统维护设计 (16)

1引言 1.1编写目的 【】 想要做一个好的客房管理系统,首先必须知道用户的需求,这样我们才会开发出真正满足用户的软件产品,在系统的需求分析阶段,开发者应该明确一个好的客房管理系统必须要做什么。 1.2背景 宾馆客房管理系统是宾馆客房管理不可缺少的,对于宾馆的管理者和使用者来说都是非常重要的,在以往,人们使用手工登记来记录管理宾馆的日常事务,操作流程虽然简单,但随着宾馆的数量越来越多,宾馆的规模越来越大,宾馆的入住率越来越高。简单的手工登记已经无法满足管理的要求,我们需要一个客房管理系统,来满足客房管理的需求。面对如此庞大的信息量,一个成功的客房系统可以提供预定房间功能、登记信息功能、开放/退房功能等。为管理者与用户供充足的信息和快捷的数据处理手段,从而实现客房管理的系统化、规范化和自动化,达到信息准确、统一管理的目标。 1.3定义 PL/SQL: 一种用于访问查询数据库的语言 主键:数据库表中的关键域。值互不相同。 JAVA语言 Visio2003绘图工具 1.4参考资料 ①王先国等.软件工程实践教程. 北京:电子工业出版社,2010 ②李龙澎.软件工程课程设计.北京:机械工业出版社,2010 ③张海藩.软件工程导论.北京:清华大学出版社,2008 ④酒店宾馆客房管理项目开发计划书 ⑤酒店宾馆客房管理项目开发学期规格说明书 【】

软件工程可行性研究报告

竭诚为您提供优质文档/双击可除软件工程可行性研究报告 篇一:软件工程可行性分析报告实例(图书管理系统) 可行性分析报告实例 本实例以一个图书管理系统为例,介绍软件工程技术方法以及软件工程各阶段主要文档。 本文介绍可行性分析报告。可行性分析报告包括: ? ? ? 封面(略)目录(略)可行性分析报告内容 -1- -2- -3- -4- 项目开发计划实例 项目开发计划内容如下: ?

? ? -5- 封面(略)目录(略)项目开发计划报告内容 篇二:软件工程项目可行性分析报告 可行性与项目计划研究报告 1.引言 1.1项目的背景,研究的目的和意义 背景:经过一段时间的调查我们发现周边网吧的管理系统不尽相同,而其实现的功能都基本相同。大多数网吧的管理系统仅仅实现了计时收费的目的。所以我们觉得现在大多数网吧的管理系统功能还不够完善,做得还不够人性化。因此我们想尝试改进现有的网吧管理系统,使其功能更人性化,提供的服务更齐全,以改变现状 我们也从网上找了几个别人做的系统简单地看了一下 项目名称:****** 项目发起者:******** 面向用户:****** 1.2项目的目前研究现状 此项目现阶段还处于可行性分析阶段,具体实施将等到所学知识的进一步健全以及对项目有进一步的认识 1.3参考资料(作者、标题、出版单位、发表日期、编

号、页号)《软件工程》高等教育出版社史济民等 《数据库系统教程》高等教育出版社施伯乐等 《Java面向对象编程》电子工业出版社孙卫琴 《Java编程思想》机械工业出版社bruceexkel 等 2.系统的技术可行性 2.1系统的简要描述 功能:网吧管理帮助网吧管理员管理网吧管理员可以通过该系统对上网人员(会员、非会员)记时收费、充值,对出售的食品饮料等计费,对网吧内的各台机器进行控制,以及提供一些特殊的服务(如在节假日对上网费打折等等)而被控制端有登陆、登离、呼叫网管、修改密码、买东西、查看个人信息(余额、姓名等等) 特点:由于上网顾客需要食品和饮料,而大多数网吧内也有这些商品出售,但 往往是买一次东西结算一次,搞得网管十分头疼,而且效率也不高。上网顾客往往对这样的购物方式也不满意,他们希望可以不用离开座位就可以获得所需的商品。为了解决这个问题,我们将在网吧管理系统中添加了购物系统。在购物系统中,上网人员可以看到各种商品及其价格,点击购买后网管可以在服务器端看到顾客的请求,并将所需商品送给顾客,而计费系统会自动将商品的费用添加进计费系统中。

软件工程概要设计报告模板

项目概要设计报告 软件工程 专业班级:软件工程专业1班 授课教师: 学号: 姓名: 手机: 项目名称:酒店管理系统概要设计

1.引言 1.1编写目的 通过软件开发,进一步掌握并加强软件工程的方法和技术,提高自己的软件开发实际能力,提高自己的创造能力、工程设计能力、解决问题能力、综合分析能力以及锻炼自己创造性的思维。 一个完善成熟的酒店管理系统,能让工作人员从烦琐的手工操作中解脱,它不仅仅记录着酒店客人的信息、提供查询、报表打印等一系列简单的工作,其管理系统本身就代表着一种管理方法,随着它的深入,将带动企业的运作,为管理和决策提供支持。 1.2项目背景 如今人们商务或休闲娱乐出行的频率上升,酒店的市场需求也随之增高。酒店管理系统的引入能使酒店内部集中管理,集中控制,快速反应其经营状况,大大降低工作人员的劳动强度,提高工作效率,给客户带来极大的便利,同时也带来良好的经济效益和社会效益。开发酒店管理系统的主要为了实现对酒店管理内部各种管理的电子化和自动化,提高酒店的办公效率,使其成为高效率高质量的酒店。 项目提出者: 项目开发者: 系统用户:酒店内工作人员及入住酒店客户

1.3定义 此文中提及的系统均指酒店管理系统 1.4参考资料 《软件工程导论》 《软件工程》 《C++面向对象程序设计》 2.任务概述 2.1目标 信息存储档案化、信息加载及时化、传递规范化、管理专业化 2.2设备 操作系统:Windows XP、Win8 开发工具:DevCpp、Visual Studio 数据库系统:SQL Server 2.3要求 为销售提供全面而准确的信息; 为客户提供更加周到快捷的服务,客户可提前挑选所需房型,更加贴心化; 为财务提供严密的财务系统; 将酒店封装得更加全面,多样、丰富、安全性得以提高。 2.4条件、假定和限制

软件工程(第二版)课后习题

第一d ìy ī章zhāng 1.什么s h ?n m e 是s h ì软件ru ǎnji àn 危机w ēi j ī?为什么w ai s h ?n m e 会h u ì产生ch ǎnsh ēng 软件ru ǎnji àn 危机w ēi j ī? 答d á:软件ru ǎnji àn 危机w ēi j ī是s h ì指z h ǐ在z ài 计算机j ìs u àn j ī软件ru ǎnji àn 的d e 开发k āi f ā和h ?维护w ?i h ù过程gu òch ?ng 中zh ōng 遇到y ùd ào 的一系列严重问题。 (1).软件维护费用急剧上升,直接威胁计算机应用的夸大。 (2).软件生产技术进步缓慢 2. 什么是软件生产工程化?工程化生产方法与早期的程序设计方法主要差别在哪里? 答:结构化程序设计地出现,使许多产业界认识认识到必须把软件生产从个人化方 式改变为工程化。采用工程的概念、原理、技术和方法开发与维护软件,把经过时 间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济 地开发出高质量的软件并有效地维护它,这就是软件工程,同时这也是工程化生产 方法。 3. 分别说明(1)软件开发方法与开发工具;(2)软件技术与软件管理的相互关系。

答:(1)工具和方法,是软件开发技术的两大支柱,它们密切相关。当一种方 法提出来并证明有效后,往往随之研制出相应的工具,来帮助实现和推行这种方法。新方法在推行初期,总有人不愿接受和采用。若将新方法融合于工具之中,使人们通过使用工具来了解新方法,就能更快促进新方法的推广。 (2)在工业生产中,即使有先进的技术和设备,管理不善的企业也不能获得良 好的效益。 软件在生产中不能按质按时完成计划,管理混乱往往是其中的重要原因。 所以对于一个理想的软件工程环境,应该同时具备技术和管理两个方面。 4.试从你的亲身实践,谈谈软件工具在软件开发中的作用。 答:用C++开发一个软件,是校园一卡通的模块。首先,要在编辑程序支持下在 计 算机中输入源程序。然后编译程序,把源程序翻译成目标程序。如果发 现错误,就 重新调入编辑程序对源程序进行修改。编译通过后,再调用连接程序吧 所有通过了 编译目标程序连同与之有关的程序连接起来,构成一个能在计算机上运 行的可执行 软件。编译程序,编辑程序,连接程序以及支持他们的计算机操作系统, 都属于软 件工具。离开这些工具,软件开发就是去了支持,变得十分困难和低效, 甚至不能 运行。

软件工程需求分析和概要设计SA实验实验报告

软件工程需求分析和概 要设计S A实验实验报 告 Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】

需求分析和概要设计实验报告 一.实验目的 1. 理解结构化分析和设计的软件工程范型; 2. 能运用常用的工具建立简单系统的分析模型和设计模型。 二.实验内容 图书管理系统的分析和设计。主要完成借书、还书、图书预定、图书查阅和图书管理等功能。要求建立系统的需求模型:DFD(data flow diagram)。 功能需求描述: 1. 借阅者可以通过网络查询书籍信息和预定书籍。 2. 借阅者能够借阅书籍和还书。 3. 图书管理员能够处理借阅者的借阅和还书请求,以及处理预定图书。三.实验结果 1.图书管理员处理借书第一层 图书管理员处理借书第二层 2.图书管理员处理还书第一层 3.图书管理员处理预定图书第一层 图书管理员处理预定图书第二层 四.实验分析 在本次实验中,我主要画出了图书管理员处理借书、还书以及预定图书的数据流程图。这是一个我们都很熟悉的环境,因此我们分析起来相对的会容易些,思路也会更加的清晰,在这个系统中,通过稍加细致的分析,我们可以了解到:

1. 图书管理员处理借书的时候,其主要过程是,先扫描读者信息,确认读者的合法性。接着,处理读者欲借阅的书。再接着,处理借书过程,同时修改读者和图书的有关信息。最后,系统将有关的信息反馈给我们的读者。 2. 图书管理员处理还书的时候,其过程相对的简单一些,只需直接处理读者欲还的书。同时修改读者和图书的有关信息。最后,系统将有关的信息反馈给我们的读者。 3. 图书管理员处理图书预定的时候,其主要过程是,先扫描读者信息,确认读者的合法性。接着,处理读者欲预定的书。再接着,处理预定图书过程,同时修改读者和图书的有关信息。最后,系统将有关的信息反馈给我们的读者。 在对这样的过程进行了分析后,再画数据流程图也就显得容易很多了。 通过本次的实验,我对数据流程图的重要性有了更加深刻的认识,数据流程图在我们设计系统过程中所扮演的角色是多么的重要,试想,如果一个系统在设计的过程中,不使用图的方式,而是将其用文字语言进行描述,这会是一个怎么样的情景。图的作用就是使我们对知识的理解非常的形象,易懂。一个非常复杂的问题,若是通过图形的方式向我们展示的话,会收到意想不到的结果。

ISO软件工程模板概要设计说明书

ISO软件工程模板概要设计说明书 摘要 大伙儿在平常的系统开发中需要编写一些文档模板,这此将我收集整理的ISO软件工程模板标准贴出,供大伙儿参考。(2002-07-22 18:06:09) By 风过留枫 1.引言 1.1编写目的 [说明编写这份概要设计说明书的目的,指出预期的读者。] 1.2背景 a.[待开发软件系统的名称;] b.[列出本项目的任务提出者、开发者、用户。] 1.3定义 [列出本文件中用到的专门术语的定义和外文首字母组词的原词组。] 1.4参考资料 [列出有关的参考资料。] 2.总体设计 2.1需求规定 [说明对本系统的要紧的输入输出项目、处理的功能性能要求。包括] 2.1.1系统功能 2.1.2系统性能 2.1.2.1精度 2.1.2.2时刻特性要求

2.1.2.4可靠性 2.1.2.5灵活性 2.1.3输入输出要求 2.1.4数据治理能力要求 2.1.5故障处理要求 2.1.6其他专门要求 2.2运行环境 [简要地说明对本系统的运行环境的规定。] 2.2.1设备 [列出运行该软件所需要的硬设备。说明其中的新型设备及其专门功能。] 2.2.2支持软件 [列出支持软件,包括要用到的操作系统、编译(或汇编)程序、测试支持软件等。] 1 2.2.3接口 [说明该系统同其他系统之间的接口、数据通信协议等] 2.2.4操纵 [说明操纵该系统的运行的方法和操纵信号,并说明这些操纵信号的来源。] 2.3差不多设计概念和处理流程 [说明本系统的差不多设计概念和处理流程,尽量使用图表的形式。] 2.4结构 [给出系统结构总体框图(包括软件、硬件结构框图),说明本系统的各模块的划分,扼要说明每个系统模块的标识符和功能,分层次地给出各模块之间的操纵与被操纵关系。] 2.5功能需求与系统模块的关系 [本条用一张矩阵图说明各项功能需求的实现同各模块的分配关系。] [系统模块1][系统模块2][……][系统模块m] [功能需求1]√

软件工程毕业设计说明书内容

1 引言 1.1 课题的提出 近年来随着计算机科学技术的高速发展,计算机技术也被广泛应用在我们生活的诸多领域,当然它在高校的信息化进程中也发挥着重要作用。通过先进的计算机网络技术管理高校资源,不仅提高了工作效率,而且提高了管理水平,更提高了服务质量[1]。 高校校友是一个知识体系密集、信息资源丰富、社会能力强的群体,是对自身母校有着特殊感情的群体,是潜藏在母校之外的独有的重要宝贵资源,它以桥梁和纽带的角色有效建立起学校和社会之间的联系,在学校的发展过程中发挥着重要的作用[2,3]。 1.2 课题的现状及其发展 目前世界上各种形式的校友录网站大约28万多个之多,大致有以下几类:1)以收费方式分,有收费校友录和免费校友录,其中以后者居多;2)以提供校友录服务的网站分大致有三种,有大专院校自己网站的校友录;有专门单独的校友录网站;有综合网站上的校友录;3)还有网络校友录和手机校友录之分[4]。 中国校友录发展现状:下面选取两个具有代表性的校友录来看看中国校友录网站发展的具体情况。1)中国人校友录是目前各种校友录中最具代表性、权威性的校友录。它有完善的界面服务,在校友录基本的留言、相册等功能之上,中国校友录还开通了手机校友录,同学大搜捕,星级会员等增值服务。还包括了其他信息服务内容,可以进行天气预报,股市,热点新闻的信息定制,并针对毕业班同学为他们提供全面就业信息及咨询。2)世纪同学录,现有注册用户440914人,注册班级120864个(数据截止到2004年1月10日)[5]。 1.3 本课题的主要工作 本次课题设计的是中北大学校友录管理系统,主要工作任务是实现以下系统功能:校友成员注册、登录、留言,上传并浏览照片、通讯录、系统后台管理。具体实现:校友数据的添加、修改、删除、和查询,已完成校友数据的收集及进行数据电子化;用户之间的互动,包括上传照片,相互留言,查看信息;对中北大学校友录管理系统的用户权限进行管理,以保证数据资源的合理利用。通过提供完善的校

(完整word版)软件工程第四版第1章参

一.基本概念 1.软件就是程序吗?如何定义软件? 答:人们经过长期实践已经逐步认识到,软件≠程序,程序只是软件的关键要素,普遍接受的观点是:软件=程序+数据+文档。 2.文档有何作用?程序代码属不属于文档? 答:文档指的是在软件开发和维护过程中形成的文字记录。从软件计划、分析、设计、实现(编码和测试)、维护等开发活动中形成的各种文件。文档属于软件的一部分,是软件维护和升级的重要依据,并且文档内容要与代码同步更新。没有文档的软件维护不但不能延长反而会缩短软件寿命。 文档包括需求规格说明书、设计说明书、用户使用说明书、在线帮助等,当然程序代码是必不可少的一种软件文档。 3.什么是软件危机?什么原因产生了软件危机? 答:软件危机指的是在计算机软件的开发和维护过程中所遇到的一系列严重问题。产生的原因是主客观不相适应。见书图1-2。 客观上:软件规模增大、功能要求越来越复杂,需求不断变化等; 主观上:传统的个体化开发观念和方法,无开发过程指导,无开发过程管理;由于主客观矛盾,必然产生软件质量差、开发超期、超预算、维护困难等现象。 4.软件工程定义有很多说法,用你自己的理解说明软件工程是干什么的? 参考:软件工程是指导计算机进行软件计划、开发和维护的工程学科; 软件工程是为解决软件危机而诞生的,解决的途径是:用工程化的理论、方法和技术来管理软件开发过程。任何产品的工程化就是有计划、有目标、有规范、有文档、有标准。 见1.4节。软件工程就是指导软件产品的工程化。

5.软件工程三要素是什么? 答:软件工程三要素是从计算机科学观点看软件工程,即从软件开发的技术层面应该有过程、方法和工具。见图1-4。 (2)“过程”是软件产品加工所经历的一系列有组织的活动,保证能够合理、高质量和及时地开发出软件。过程定义的活动集合及其序列见第2章。 (3)“方法”为软件开发提供“如何做”的技术,它涵盖了项目计划、需求分析、系统设计、程序实现、测试与维护等一系列活动的做法。如经常说的面向结构、面向对象、面向组件等开发方法,项目管理中估算、度量、计划等管理方法。软件工程以介绍方法为主,本书从第3章开始逐步介绍开发过程所用到的方法。 (4)“工具”为过程和方法提供自动的或半自动的支持。这些工具既包括软件也有硬件。 软件工具包括编程、建模、管理等开发工具。通过网络环境把这些软件工具集成起来搭建一个支持团队开发的平台,称之为计算机辅助软件工程(ComputerAided Software Engineering,CASE)。CASE集成了软件、硬件和一个存放开发过程信息的软件工程数据库,形成了一个软件工程环境。 6.软件工程的目标、过程和原则是什么? 答:目标、过程、原则是一切工程的三维框架,它是以工程的观点来看待软件开发。见书 1.5.2节 (1)软件工程的目标:降低成本,及时交付高质量的软件产品(高质量、高效率、高效益)。 (2)实现目标的过程:完成产品加工的过程。它包括:基本过程、支持过程和组织过程。

软件工程-原理、方法及应用(史济民第二版)答案

软——应 课习题 件工程原理、方法与用后答案最完整版 绪论 1.什么是软件危机?为什么会产生软件危机? 答:软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。 (1).软件维护费用急剧上升,直接威胁计算机应用的夸大。 (2).软件生产技术进步缓慢 2. 什么是软件生产工程化?工程化生产方法与早期的程序设计方法主要差别在哪里? 答:结构化程序设计地出现,使许多产业界认识认识到必须把软件生产从个人化方式改变为工程化。采用工程的概念、原理、技术和方法开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程,同时这也是工程化生产方法。 3. 分别说明(1)软件开发方法与开发工具;(2)软件技术与软件管理的相互关系。 答:(1)工具和方法,是软件开发技术的两大支柱,它们密切相关。当一种方法提出来并证明有效后,往往随之研制出相应的工具,来帮助实现和推行这种方法。新方法在推行初期,总有人不愿接受和采用。若将新方法融合于工具之中,使人们通过使用工具来了解新方法,就能更快促进新方法的推广。 (2)在工业生产中,即使有先进的技术和设备,管理不善的企业也不能获得良好的效益。 软件在生产中不能按质按时完成计划,管理混乱往往是其中的重要原因。所以对于一个理想的软件工程环境,应该同时具备技术和管理两个方面。 4.试从你的亲身实践,谈谈软件工具在软件开发中的作用。 答:用C++开发一个软件,是校园一卡通的模块。首先,要在编辑程序支持下在计算机中输入源程序。然后编译程序,把源程序翻译成目标程序。如果发现错误,就重新调入编辑程序对源程序进行修改。编译通过后,再调用连接程序吧所有通过了编译目标程序连同与之有关的程序连接起来,构成一个能在计算机上运行的可执行软件。编译程序,编辑程序,连接程序以及支持他们的计算机操作系统,都属于软件工具。离开这些工具,软件开发就是去了支持,变得十分困难和低效,甚至不能运行。5.什么是软件工程环境?谈谈你对环境重要性的认识。 答:方法与工具相结合,再加上配套的软、硬件支持就形成环境。例如在批处理时代,用户开发的程序是分批送入计算机中心的计算机的,有了错误,就得下机修改。程序员对自己写的程序只能继续地跟踪,思路经常被迫中断,效率难于提高。分时系统的使用,使开发人员从此能在自己的终端上跟踪程序的开发,仅此一点,就明显提高了开发的效率。 6. 何谓面向对象软件工程?简述它与传统软件工程在各型软件开发中的作用。 答:以面向对象程序设计为基础。 7. 软件按规模大小可分成哪几类?简述软件工程中各型软件开发中的作用。 答:按规模分为极小、小、中、大、甚大、极大。 (1)中小型软件:软件工程对改进软件质量,提高程序员生产率和满足用户的需求,有很大的作用。(2)大型软件:这类软件必须从头至尾坚持软件工程的方法,严格遵守标准文档格式和正规的复审制度,才能避免或减少混乱,真正开发出大型的软件。 8. 什么是形式化软件开发方法?实现这类开发的困难和出路在哪里?

软件工程概要说明书

四、概要设计说明书1.引言 1.1编写目的 1.2项目背景 1.3定义 1.4参考资料 2.任务概述 2.1目标 2.2运行环境 2.3需求概述 2.4条件与限制 3.总体设计 3.1处理流程 3.2总体结构和模块外部设计 3.3功能分配 4.接口设计 4.1外部接口 4.2内部接口 5.数据结构设计

5.1数据结构与程序的关系 6.运行设计 6.1运行模块的组合 6.2运行控制 6.3运行时间 1.引言 1.1编写目的 在需求分析阶段中,我们已经将系统用户对本系统的需求做了详细的阐述,这些用户需求已经在上一阶段的调研中获得,并在需求规格说明书中做到了详尽得叙述及阐明。 本阶段在系统的需求分析的基础上,对系统做概要设计。主要解决实现该系统需求的程序模块设计问题,包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,数据结构、模块结构的设计等。在以下的概要设计报告中将对在本阶段中对系统所做的所有概要设计进行详细的说明。 在下一阶段的详细设计中,程序设计员可参考此概要设计报告,在概要设计对系统所做的模块结构设计的基础上,对系统进行详细设计。

在以后的软件测试以及软件维护阶段也可参考此说明书,以便于了解在概要设计过程中所完成的各模块设计结构,或在修改时找出在本阶段设计的不足或错误。 1.2背景说明 开发软件名称:人事管理系统 项目任务提出者:福建工程学院计算机系 项目开发者:计算机科学与技术0701赵灿、陈顺庆小组 用户:福建工程学院计算机系 实现软件单位:计算机科学与技术0701赵灿、陈顺庆软件开发小组1.3定义 RSXG:人事管理系统 C/S:Client/server客户机/服务器 1.4参考资料 《实用软件工程(第二版)》-----------陆惠恩张成姝著清华大学出版社 2006年出版《Delphi 7.0 程序设计》 -----------田原官东李素若李文波著清华大学出版社北京交通大学出版社 2002年出版 《信息系统分析与设计》----------- 杨君岐, 邢战雷著西安电子科技大学出版社 2009年出版2.任务概述 2.1目标 1.方便基本信息的录入,实现录入的数据的高校验性。 2.查询信息的快捷、迅速。 3.添加、修改、浏览基本信息。 4.高安全性、保密性。为了使该人事管理系统有更高的可用性,所以必须实现以上要求。

软件设计说明书(概要+详细)

xxxxx/软件概要设计说明书软件概要设计说明书 设计负责人: 主要设计人: 2018年 06月 11日 公司(盖章): 审核意见: 审核人: 年月日

概要设计说明书版本记录 组员分工(概要设计)

xxxxxxx/软件概要设计说明书 目录 1 引言 (1) 1.1 标识 (1) 1.2 项目概述 (1) 1.3 系统概述 (1) 2 文档简介 (1) 2.1 目的 (2) 2.2 范围 (4) 2.3 读者对象 (6) 2.4 参考资料 (6) 2.5 名词解释................................................. 错误!未定义书签。 3 软件总体说明 (6) 3.1 设计指导思想 (6) 3.2 主要业务功能划分 (7) 3.2.1 逻辑视图 (7) 3.2.2 模块功能简介 (7) 3.3 软件边界 (9) 3.4 接口 (9) 3.5 物理视图(可删节) ......................................... 错误!未定义书签。 3.6 关键点考虑 (9) 3.7 开发环境配置 (10) 3.8 运行环境配置 (10) 3.9 测试环境配置 (10) 4 模块设计 (6) 4.1 模块1 (12) 4.1.1 技术概述 (12) 4.1.2 接口 (12) 4.1.3 数据结构 (12) 4.1.4 用户界面规范(可删节) (13) 4.1.5 用户界面流图(可删节) (14) 4.1.6 处理流程概述 (15) 5 数据库设计 (12) 5.1 数据库Schema设计 (16) 5.1.1 ER图 (16) 5.1.2 Schema描述列表 (16) 6 功能需求追溯 (20)

软件工程第五版习题及答案

《软件工程》(第五版)习题参考答案 第1章 一、判断题 1、(×)软件的维护与硬件维护本质上是相同的。 2、(√)软件在运行和使用中也存在退化问题。 3、(×)软件危机的产生主要是因为程序设计人员使用了不适当的程序设计语言。 4、(√)软件同其他事物一样,有孕育、诞生、成长、成熟和衰亡的生存过程。 5、(×)文字处理软件Word属于系统软件。应用软件 6、(√)原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性。 7、(√)软件开发过程中,一个错误发现得越晚,为改正它所付出的代价就越大。 8、(×)快速原型模型对软件开发人员的水平要求不高。 9、(√)喷泉模型适合于面向对象的软件开发。 10、(×)面向对象开发方法的主要缺点是在适应需求变化方面不够灵活。 二、选择题 1、软件是一种(C)。 A、程序 B、数据 C、逻辑产品 D、物理产品 2、软件开发方法是(A)。 A、指导软件开发的一系列规则和约定 B、软件开发的步骤 C、软件开发的技术 D、软件开发的思想 3、软件生存周期中花费最多的阶段是(D)。 A、详细设计 B、软件编码(最少) C、软件测试 D、软件维护 4、软件工程的三要素不包括(D)。 A、工具 B、过程 C、方法 D、环境 5、在软件生存周期中,能准确地确定“软件系统必须做什么”的阶段是(D)。 A、总体设计 B、详细设计(怎么做) C、可行性研究(能不能做) D、需求分析 6、瀑布模型本质上是一种(A)模型。 A、线性顺序 B、顺序迭代 C、线性迭代 D、能及早见到产品的 7、瀑布模型突出的缺点是不适应(D)的变动。 A、算法 B、程序语言 C、平台 D、用户需求 8、在软件开发模型中,提出最早、应用最广泛的模型是(A)。 A、瀑布模型 B、喷泉模型 C、快速原型模型 D、螺旋模型 9、瀑布模型不适合用于(A)的软件开发。 A、需求模糊不清 B、用户不能参与开发 C、用户对计算机不了解 D、开发人员对业务知识不熟悉 10、快速原型的主要优点不包括(D)。 A、能让用户参与开发、给出反馈 B、尽早把需求分析清楚,以降低风险

软件工程实验教案

《软件工程》实验教案 学院系部:计算机科学与技术系 专业: 课程名称:软件工程 主讲教师:周学清 使用教材:张海藩.《软件工程导论》.[M].清华大学出版社课时10课时(四个实验) 2015年下学期

一、课程的地位、作用与目的 本课程为计算机科学与技术专业的专业必修课程。软件开发是建立计算机应用系统的重要环节,因此,“软件工程”是本专业的一门工程性课程,也是一门十分重要的专业课程。软件工程研究的是在软件开发中应遵循的原理、可使用的方法和工具,用以指导软件开发过程,规范软件开发步骤,提高软件开发的质量。 二、课程内容与基本要求 软件工程主要讲述构建软件系统的方法、技术、流程、工具及规范。通过本课程的学习,掌握软件工程的基本概念、基本原理、实用的开发方法和技术;了解软件工程各领域的发展动向;用工程化的方法开发软件项目,掌握在开发过程中应遵循的流程、准则、标准和规范;掌握软件的可行性研究、软件的需求分析、软件的总体设计、软件的详细设计过程、软件的实现、软件的维护;特别是需求分析中数据流图的画法、由数据流图导出软件的基本结构的方法以及模块划分原则、模块的设计。掌握统一建模语言UML的应用;掌握面向对象分析、面向对象设计、面向对象实现的软件工程方法,其重点在于面向对象的模型建立;掌握软件项目管理的方法,能够通过计划、组织和控制等活动,合理配置和使用资源来达到软件开发的总体目标。引导学生重视软件测试工作,掌握软件测试技术。 三、集中实践场所及相关设施要求 1、实践场所选择 计算机实验室 2、设施要求 计算机、配套软件开发环境、相关作图软件(ROSE或starUML) 四、课程考核形式与成绩评定 理论课程占本课程80%,其实验课、作业、考勤成绩应占本课程总成绩的20%左右。五、教学参考书 1.张海藩.软件工程导论.北京:清华大学出版社,2003年,第四版 2.邓良松,刘海岩,陆丽娜.软件工程.西安:电子科技大学出版社,2004年9月 3.刘超,张莉.可视化面向对象建模技术.北京:北京航空航天大学出版社,1999年4.UML National Guide https://www.sodocs.net/doc/ce3294207.html,/uml. 5.周佰生,冯学民,樊东平译.统一软件开发过程.北京:机械工业出版社,2002年六、实验内容:

软件工程(郑人杰版)复习资料

软件工程复习 第一章:软件危机与软件工程 一.软件危机概念,软件危机产生的原因,解决软件危机的方法 二.软件工程概念,软件工程原理,软件工程途径 三.生命周期各阶段及其基本任务 四.软件开发模型如:瀑布模型,演化模型,螺旋模型几种模型的形式与特征 第二章:可行性研究 一.可行性研究的任务,可行性研究的步骤, 二.辅助工具如:数据流图,数据字典的画法及其在分析中的作用 三.成本/效益分析 第三章:需求分析 一.需求分析的任务,需求分析的步骤,ER模型, 二.辅助工具 三.验证软件需求 第四章:总体设计 一.总体设计的任务和过程 二.软件设计原理及概念 模块化,抽象化,信息隐蔽,模块独立性(耦合与内聚)三.启发式规则(模块的作用域与控制域) 四.辅助工具 五.面向数据流的方法 变换型分析与设计 事务型分析与设计 (结构化分析方法建立模型---变换设计与事务设计) 第五章:详细设计 一.结构化程序设计 二.详细设计工具(程序流程图与盒图,PAD图之间的转化) 三.JACKSON程序设计方法 四.程序复杂度的定量度量(McCabe方法) 第六章:编码设计 一.选择程序设计语言 二.程序的编码风格

三.程序设计途径 第七章:测试 一.测试的有关概念 二.软件测试的目的 三.软件测试的策略 四.软件测试用例设计 两种常用的测试方法 白盒测试中逻辑覆盖的各种测试方法(给定程序建立相应的控制流程图,设计测试用例,实现逻辑覆盖) 黑盒测试的各种测试方法(等价类划分、边界值分析等) 五.调试 第八章:维护 一.维护的方法 二.维护的特点 三.维护的过程 四.可维护性 第九章:面向对象的有关概念与特性 面向对象、对象、消息、类和实例、继承、重载、多态 第十章:面向对象方法的开发过程 一.软件开发模型 二.基于复用的面向对象开发过程的几个阶段 三.面向对象应用生存期与面向过程的软件生存期 四.类生存期、类的开发方法 第十一章:面向对象分析与模型化 一.对象模型、动态模型、功能模型的功能描述 二.面向对象分析方法建立对象—关系模型 三.面向对象分析方法建立动态模型 《软件工程》期末复习 第一章第一章软件工程概述

软件工程概要设计说明书

文档编号:001 版本号:1.0概要设计说明书 1.引言 1.1 编写目的 在本学生智能管理系统项目的前一阶段,也就是需求分析阶段中,已经将系统用户对本系统的需求做了详细的阐述,这些用户需求已经在上一阶段中对学生的实地调研中获得,并在需求分析中得到了详细的阐明。 本阶段已在系统的需求分析研究的基础上,对学生智能管理系统做概要设计。该阶段正式进入了实际开发阶段,它的目的就是进一步细化软件设计阶段得出的软件总体概貌,把它加工成在程序细节上非常接近于源程序的软件表示。概要设计说明书主要解决了实现本系统需求的程序模块设计问题。包括如何把本系统划分成若干个模块,决定各个模块之间的接口,模块之间传递的信息,以及数据结构,模块结构的设计等。在以下的概要设计报告中将对在本阶段中对系统所做的所有的概要设计进行详细的说明。 在下一阶段的详细设计中,程序设计员可参考此概要设计报告,在概要设计中对学生智能管理系统所做的模块设计的基础上,对系统进行详细设计。在以后的软件测试以及软件维护阶级也可参考此说明书,以便于了解在概要设计过程中所完成的各模块设计结构,或在修改时找出在本阶段设计中的不足或错误。 1.2 项目背景

本项目(学生智能管理系统)由西安邮电学院委托,由<科技1班软件开发小组>负责开发。 本系统与其他系统的关系如下: 1.3 定义 1.3.1 专门术语 SQL SERVER: 系统服务器所使用的数据库系统(DBMS)。 SQL: 一种用于访问查询数据库的语言。 总体设计:即对有关系统全局问题的设计,也就是设计系统总的处理方案,又称系统概要设计, 是根据逻辑设计对系统进行具体的物理设计。 接口设计:即对连接软件内各部分或者软件与外部之间交换数据、信息的通道的设计。 数据结构设计:方法是一种面向数据流的设计方法,它可以与结构化分析方法衔接。结构化设计方法采用结构图来描述系统的模块结构。 运行设计:包括运行模块的组合和运行控制。

软件工程中的需求分析

关于软件工程需求分析探究 来源:https://www.sodocs.net/doc/ce3294207.html, [摘要]我国的信息化已经走过了20多年的历程,但许多软件开发公司仍不得不在收集、编写和管理产品需求中疲于奔命。而缺乏用户参与、不完整的需求及不断变更需求,是导致信息技术项目不能按进度安排和资金预算完成全部功能的主要原因。 [关键词]用户软件开发软件工程 需求分析是软件工程中的一个重要环节。是关乎软件项目开发成败的重要因素。现在的软件项目中返工开销几乎占了总开发的一半,而导致返工的主要原因是需求分析不明确.从而引发项目开发中的一系列更改。这些更改可能导致浪费大量资源、软件项目无法按时完成等严重问题。所以,需求分析是软件设计和实现的基础,是软件项目迈向成功的重中之重。 一、软件工程中的需求分析概述 一个软件项目的开发主要分为五个阶段:需求分析阶段、设计阶段、编码阶段、测试阶段和维护阶段。而需求分析阶段所得到的结果。是软件项目开发中其他四个阶段的必备条件。从以往的经验来看,需求分析中的一个稍稍的偏差.就可能导致整个项目无法达到预期的效果。需求分析是指理解用户需求,就软件功能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程。在这个过程中。用户的确是处在主导地位,需求分析工程师和项目经理要负责整理用户需求,为之后的软件设计打下基础。需求分析阶段结束后.要求得到:1.SRS文档(System Requirement Specification);2.DRM文档;3 Acceptance Plan。从广义上理锯需求分析则包括需求的获取、分析、规格说明、变更、验证、管理的一系列需求工程。 二、软件工程中的需求工作流程 软件需求是指用户对目标软件在功能、行为、性能、设计约束等方面的期望。通过对问题及其环境的理解与分析,为问题涉及的信息、功能及行为建立模型,将用户需求精确化、完全化,最终形成需求规格说明,如图1所示,整个活动构成软件开发生命周期的需求分析阶段。在需要的开发中,问题的获取包括业务需求、用户需求、功能需求。业务需求的参与者主要是业务流程分析员,对企业目前的业务流程进行评估。确定进行何种程度的业务建模;用户需求重心是如何收集用户需求,确定角色和用例,获取需求的方法倾向组织访谈会:功能需求依赖于用户需求。是用户需求在系统上的一个映射,为用户做一个软件原型是一个很好的方法。 三、软件工程中的需求分析 需求分析包括提炼、分析和仔细审查已收集到的需求,以确保所有承担风险者都明白其含义。能找出其的错误、遗漏等地方。分析员通过评价来确定是否所有的需求和软件需求规格说明都达到了优秀需求说明的要求。分析的目的在于开发出高质量的需求。这样你能做出实用的项目估算并可以进行设计、构造和测试。通常。把需求中的一部分用多种形式来描述.如同时用文本和图形来描述。分析这些不同的视图将揭示出一些更深的问题,这是单一视图无法提供的。分析还包括与客户的交流以澄清某些混淆,并明确哪些需求是更为重要的。其目的是确保所有风险承担者尽早地对项目达成共识并对将来的产品有个相同而清晰的认识。

相关主题