软件工程复习提纲

软件工程复习提纲
软件工程复习提纲

一、选择

1.软件需求规格说明书的内容不应包括(D)

A.主要功能B软件的性能

C.用户界面及运行环境

D.算法的详细描述

2.数据字典……基本功能是(B)

A数据库设计B数据定义

C数据通信D数据维护

3、面向对象的分析方法主要是建立三类模型即(C)

A.系统模型、ER模型、应用模型

B.对象模型、动态模型、应用模型

C.对象模型、动态模型、功能模型

D.ER模型、对象模型、功能模型

4.软件概要设计(架构设计)结束后得到(C)。

A.初始化的软件结构图

B.模块的接口图和详细算法

C.优化后的软件结构图

D.程序编码

5.软件测试的目标是(B)

A.证明软件是正确的

B.发现错误,降低错误带来的风险

C.删除软件中所有的错误

D.与软件调试相同

6.系统因错误而发生错误时,仍然能在一定程度上完成预期的功能,则把该软件称为(D)

A.系统软件

B.操作系统

C.测试软件

D.容错软件

7.详细设计的基本任务是确定每个模块的(A)设计

A.算法B调用关系C输入输出数据D.功能

8.面向数据流的设计方法把(B)映射成软件结构

A.系统结构

B.数据流

C.控制结构

D.信息

9.下面几种白箱测试技术,哪种是最强覆盖准则(D)

A.语句覆盖

B.条件覆盖

C.判定覆盖

D.条件组合覆盖

10.提高测试的有效性非常重要,成功的测试是指(A)

A.发现了至今为止尚未发现的错误。

B.说明了被测试程序符合相应的要求。

C.证明了被测试的程序正确无误。

D.未发现被测试程序的错误。

11.瀑布模型的存在问题是(B)

A.用户容易参与开发

B.缺乏灵活性

C.用户与开发者易沟通

D.适用可变需求

12.软件开发过程中,抽取和整理用户需求并建立问题域精确模型的过程叫(D)

A.生存期

B.面向对象设计

C.面向对象程序设计

D.面向对象分析

13.软件测试方法中的静态测试方法之一为(A)

A计算机辅助静态分析B黑盒法

C路径覆盖D边界值分析

14.在E-R模型中,包含以下基本成分(C)

A.数据、对象、实体B控制、联系、对象

C.实体、联系、属性

D.实体、属性、操作

15.在软件测试中,白盒测试方法通过分析程序的(C)来设计测试用例的方法。

A.应用范围

B.功能

C.内部逻辑

D.输入数据.

16.若有一个计算机类型的程序,它的输入量只有一个x,其范围是[ -1.0,1.0 ] 现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001设计这组测试用例的方法是(C)。

A.条件覆盖法

B.等价分类法

C.边界值分析法

D.错误推测法

17.内聚程度最低的是(D)内聚

A.过程

B.顺序

C.时间

D.偶然

18.确定测试计划是在(A)阶段制定的

A.总体设计

B.详细设计

C.编码

D.测试

19.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时

间),对于两个问题P1和P2,如果C(P1)>C(P2) 显然E(P1)>E(P2),则得出结论E (P1+P2)>E(P1)>E(P2)就是:(A)

A.模块化的根据

B.逐步求精的根据

C.抽象的根据

D.信息隐藏和局部化的根据

20.对象实现了数据和操作的结婚,是数据和操作(D)于对象的统一体中

A.结合

B.隐藏

C.抽象

D.封装

二.判断题

(×)1.如果通过软件测试没有发现错误,则说明软件是正确的。

(√)2.快速原型模型可以有效地适应用户需求的动态变化。

(√)3.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。

(×)4.数据流图与程序流程图的主要区别是程序流程图中各处理框之间有严格的时间上的顺序,而数据流图只反映数据段流向,不反映处理逻辑的先后。

(×)5.Jackson系统开发方法是一种典型的面向对象的分析设计方法。

(×)6.以结构化分析方法选定的系统模型就是数据流图。

(×)7.进行总体设计是加强模块间的联系。

(×)8.编码时尽量多余全局变量。

(√)9.用CASE环境或程序自动生成工具来自动生成一部分程序。

(×)10.软件测试是要发现软件中的所有错误。

三.简答题

1.简述原型模型、螺旋模型、XP模型的优缺点。

答:1.原型模型:

2.螺旋模型:优点:要求可变

缺点:建设周期相对较长

3.XP模型:优点:有利于提高开发效率

缺点:不利于大团队、大项目开发

2.为什么对需求文档进行同行评审?

答:1.同行评审,是软件工作产品验证的活动

2.其目的是为了及早和高效地从软件工作产品中识别并消除缺陷

3.重点在于发现软件工作产品中的缺陷。

4.使大量人员对软件系统中原本不熟悉的部分更加了解

5.同行评审还提高了项目的连续性,培训了后备人员

3.业务模型、功能模型、数据模型各是什么含义?

答:1.功能模型是描述系统能做什么,即对系统的功能、性能、接口和界面进行定义。

2.业务模型是描述系统在何时、何地、由何角色、按什么业务规则去做,以及做的

步骤或流程,即对系统的操作流程进行定义。

3.数据模型是描述系统工作前的数据来自何处,工作中的数据存到什么地方,工作

后的数据放到何处,以及这些数据之间的关联,即对系统的数据结构进行定义。

模型之间的关系:

功能模型和业务模型是在需求分析时建模,是两个基本点。数据模型是一个中心,在设计时建模。功能模型和业务模型给数据模型提供数据与维护数据,数据模型支持功能模型和业务模型的正常运行。

4.试说黑盒测试和白盒测试的区别和联系。

答:1.黑盒测试又称功能测试,主要关注被测试软件的功能实现。

2.白盒测试就是对程序执行路径的测试。

3.黑盒测试和白盒测试的联系是:一般宏观上用黑盒测试,微观上用白盒测试,

系统集成人员用黑盒测试方法对系统进行测试,构件开发人员用白盒测试方法

对构件进行测试,

5.编码四大原则?详述之

答:模块化、抽象、逐步求精、信息隐藏

6.简述瀑布模型、增量模型、迭代模型的优缺点。

答:1.瀑布模型:优点:简单易学

缺点:逆转性差

2.增量模型:优点:分阶段提交

缺点:有时候用户不同意此模型

3.迭代模型:优点:需求可变

缺点:风险大

7.业界存在哪三种需求分析方法各有什么特点。

答:对于系统软件和应用软件:1.面向功能分析:简单明了

2.面向对象分析:复杂抽象

对于以关系数据库为平台的信息系统软件:3.面向数据分析:抓住了本质

三种需求分析方法均离不开面向流程分析,功能、对象、数据在流程中产生,又为流程服务.

8.请说明“第三者插足”模式和“列变行”模式之间的关系。

答:1. “第三者插足”模式是为了解决关系的原子化问题。

2. “列变行”模式是为了解决实体本身的原子化问题。

“第三者插足”模式和“列变行”模式,是进行规范化数据库设计的两只手,我们要两手抓,两手都是硬。

9.请说明“三层结构”与“三个模型”之间的关系。

答:三个模型从根本上满足了B/A/S(Browser/Application/Server)三层结构的需求:B 层(又称浏览层)对应功能模型,A层(又称业务逻辑层)对应业务模型,S层(又称数据库服务器层)对应数据模型。这是一种奇妙的、天衣无缝的巧合!

10.什么是软件危机?为什么会产生软件危机?

答:软件在开发和维护过程中所遇到的一系列严重问题

1.如何开发软件,以满足对软件日益增长的需求

2.如何维护数量不断膨胀的已有软件

产生软件危机的原因:

1.与软件本身的特点有关

2.软件维护中数据的膨胀

11.概要设计说明书和详细设计说明书有何区别?

答:《概要设计说明书》,一是要覆盖《需求规格说明书》的全部内容,二是要作为指导详细设计的依据。它注重框架上的设计,它是软件系统的总体结构设计、全局数据库(包括数据结构)设计、外部接口设计、功能部件分配设计、部件之间的内部接口设计,它要覆盖需求规格说明书中的功能点列表、性能点列表、接口列表。

《详细设计说明书》,一是要覆盖概要设计说明书的全部内容,二是要作为指导程序设计的依据,它注重微观上和框架内的设计,它是各子系统的公用部件实现设计、专用部件实现设计、存储过程实现设计、触发器实现设计、外部接口实现设计、部门角色授权设计和其他详细设计等。

两者的设计者不同,在一般情况下,《概要设计说明书》是由系统设计师负责,《详细设计说明书》则由高级程序员负责。

四.设计题

1.某旅馆的电话服务如下:

可以拨分机号码和外线号码。分机号是从7201至7299.外线号码先拨9,然后是市话号码或长话号码。长话号码是以区号和市话号码组成。区号是从100到300中任意的数字串。市话号码是以局号和分局号组成,局号可以是455、466、888、552中任意一个号码。分局号是任意长度为4的数字串。

要求:写出在数据字典中,电话号码的数据条目的定义(即组成)。

答;

电话号码=[分机号码|外线号码]

分机号=7201 (7299)

外线号码=9+[市话号码|长话号码]

长话号码=区号+市话号码

区号=100 (300)

市话号码=局号+分局号

局号=[455|466|888|552]

分局号=4{0....9}4

3.某“调整工资”处理模块接受一个“职称”的变量,根据职称的不同(助教,讲师,副教授,教授)作不同的处理,其中若是助教还必须输入工龄,只有工龄超过两年才能调整工资,请用等价类划分法设计测试用例.

答:划分等价类:

输入条件合理等价类不合理等价类

职称○1教授○2副教授○3讲师○5四种职称之外

职称/工龄○4助教及其工龄大于2年○6助教及其工龄等于

2年

○7助教及其工龄小于

2年

设计测试用例:

输入数据预期结果覆盖范围

教授输入有效调整工资○1

副教授输入有效调整工资○2

讲师输入有效调整工资○3

助教(工龄大于2年)输入有效调整工资○4

助教(工龄等于2年)输入有效不调整工资○6

助教(工龄小于2年)输入有效不调整工资○7

四种职称之外输入有效不调整工资○5

4.北京地区电话号码由地区码和数字串组成,地区码可以为空或者3位数字,数字串由前缀和后缀组成,前缀为非0或1开头的3位数,后缀为4位数字,试用等价分类法来设计测试用例,要求测试到所有有效和无效的等价类,并且所用测试用例最少

软件详细设计说明书模板

New Project 1: 详细设计说明书

1. 前言 2. 摘要 3. 系统详细需求分析 3.1. 详细需求分析 3.1.1. 详细功能需求分析 3.1.2. 详细性能需求分析 3.1.3. 详细信息需求分析 3.1. 4. 详细资源需求分析 3.1.5. 详细组织需求分析 3.1.6. 详细系统运行环境及限制条件需求分析3.1.7. 信息要求 3.1.8. 性能要求 3.2. 接口需求分析 3.2.1. 系统接口需求分析 3.2.2. 现有软、硬件资源接口需求分析

3.2.3. 引进软、硬件资源接口需求分析 4. 总体方案设计 4.1. 系统总体结构 4.1.1. 系统组成、逻辑结构 4.1.2. 应用系统结构 4.1.3. 支撑系统结构 4.1.4. 系统集成 4.1. 5. 系统工作流程 4.2. 分系统详细界面划分 4.2.1. 应用分系统与支撑分系统的详细界面划分 4.2.2. 应用分系统之间的界面划分 5. 应用分系统详细设计 5.1. XX分系统详细需求分析 5.1.1. 功能详细需求分析 5.1.2. 性能详细需求分析

5.1.3. 信息详细需求分析 5.1.4. 限制条件详细分析 5.2. XX分系统结构设计及子系统划分5.3. XX分系统功能详细设计 5.4. 分系统界面设计 5.4.1. 外部界面设计 5.4.2. 内部界面设计 5.4.3. 用户界面设计 6. 数据库系统设计 6.1. 设计要求 6.2. 信息模型设计 6.3. 数据库设计 6.3.1. 数据访问频度和流量 6.3.2. 数据库选型 6.3.3. 异构数据库的连接与数据传递方式

软件工程复习提纲(20160615)

软件工程复习提纲 Chapter1 1.开发文档都有哪些?用图来表示它们之间的关系。 2.说明软件工程研究的内容。 3.软件工程的7条基本原理有何现实意义。 4.怎样理解ISO9000的文档体系?质量手册、程序文件、质量记录三者有何联系和区别? 5.怎样理解CMMI,如何用CMMI去管理软件企业? 6.是否存在这一种现象:搞系统软件的公司不需要采用CMMI和ISO9000模式?CMMI和ISO9000 模式只适用于搞应用软件的企业?如果是,为什么,如果不是,又为什么? 7.软件工程与信息系统工程有何异同? 8.怎样理解元数据? Chapter2 1.为什么要选择软件开发模型?软件开发模型与软件生存周期有什么关系? 2.简述瀑布模型、增量模型、迭代模型、原型模型的优缺点。 3.软件公司的ISO9000或CMM管理体系与软件开发模型有关吗,为什么? 4.你对“生存周期模型裁剪指南”有什么看法? 5.“图书馆信息系统”的开发选用什么开发模型合适? Chapter3 1.立项的具体表现形式是什么? 2.立项建议书的编制者为什么主要是软件公司的市场销售人员,而不是开发人员? 3.什么叫风险分析,技能风险与技术风险有何区别? 3.合同、任务书、立项建议书三者有何异同?有何关系? 4.对软件项目和产品的“功能、性能、接口”三项指标如何理解? Chapter4 1.需求分析的目的是什么,需求分析的难点在哪里? 2.需求分析的理论基础有哪几条? 3.为什么说需求分析是面向流程的? 4.解释术语:元数据、实体、中间数据。 5.用户需求报告与需求规格书有何差异? 6.需求描述有哪几种工具?你喜欢哪一种,为什么?

广州市合鸿达大厦及输变电工程可行性研究报告-广州中撰咨询

广州市合鸿达大厦及输变电工程可行性研究报告 (典型案例〃仅供参考) 广州中撰企业投资咨询有限公司 地址:中国·广州

目录 第一章广州市合鸿达大厦及输变电工程概论 (1) 一、广州市合鸿达大厦及输变电工程名称及承办单位 (1) 二、广州市合鸿达大厦及输变电工程可行性研究报告委托编制单位 .. 1 三、可行性研究的目的 (1) 四、可行性研究报告编制依据原则和范围 (2) (一)项目可行性报告编制依据 (2) (二)可行性研究报告编制原则 (2) (三)可行性研究报告编制范围 (4) 五、研究的主要过程 (5) 六、广州市合鸿达大厦及输变电工程产品方案及建设规模 (6) 七、广州市合鸿达大厦及输变电工程总投资估算 (6) 八、工艺技术装备方案的选择 (6) 九、项目实施进度建议 (6) 十、研究结论 (7) 十一、广州市合鸿达大厦及输变电工程主要经济技术指标 (9) 项目主要经济技术指标一览表 (9) 第二章广州市合鸿达大厦及输变电工程产品说明 (15) 第三章广州市合鸿达大厦及输变电工程市场分析预测 (15) 第四章项目选址科学性分析 (15) 一、厂址的选择原则 (15) 二、厂址选择方案 (16) 四、选址用地权属性质类别及占地面积 (17) 五、项目用地利用指标 (17) 项目占地及建筑工程投资一览表 (17) 六、项目选址综合评价 (18)

第五章项目建设内容与建设规模 (19) 一、建设内容 (19) (一)土建工程 (20) (二)设备购臵 (20) 二、建设规模 (20) 第六章原辅材料供应及基本生产条件 (21) 一、原辅材料供应条件 (21) (一)主要原辅材料供应 (21) (二)原辅材料来源 (21) 原辅材料及能源供应情况一览表 (21) 二、基本生产条件 (23) 第七章工程技术方案 (24) 一、工艺技术方案的选用原则 (24) 二、工艺技术方案 (25) (一)工艺技术来源及特点 (25) (二)技术保障措施 (25) (三)产品生产工艺流程 (25) 广州市合鸿达大厦及输变电工程生产工艺流程示意简图 (25) 三、设备的选择 (26) (一)设备配臵原则 (26) (二)设备配臵方案 (27) 主要设备投资明细表 (28) 第八章环境保护 (28) 一、环境保护设计依据 (29) 二、污染物的来源 (30) (一)广州市合鸿达大厦及输变电工程建设期污染源 (30) (二)广州市合鸿达大厦及输变电工程运营期污染源 (30)

软件工程复习资料

软件概念:与计算机系统操作有关的程序、数据以及相关文档的完整集合 软件特点:逻辑实体、智力产品,制造即拷贝2无磨损和老化,不遵循“浴盆曲 线”,但存在退化问题3尚未摆脱手工方式,软件移植的需要,复杂(问题复杂性/ 程序结构复杂性),软件开发的性质如成本、进度、质量等难以估计控制,维护困难,可复用性软件分类:按功能:系统软件/支撑软件/应用软件2按工作方式:实时处理/分时/交互/批处理3按服务对象:项目 / 产品(定制 / 通用)4按失效影响:关键/ 非关键5规模:微型、小型、中型、大型、甚大型、极大型 软件危机的表现:软件开发成本和进度失控,维护代价高2用户不满意3软件 质量不可靠4软件不可维护 5无文档资料6 计算机系统中软件成本比重加大7软件开发生产率提高不能满足要求软件危机的原因软件的规模和复杂性2人类智力的局限性3协同工作的困难性4缺乏方法学和工具5用户描述不精确、二义、遗漏,双方理解有偏差缓解软件危机的途径组织管理、协同配合的工程2软件工程的理论模型、技术方法3软件工具 软件工程的三要素1过程:管理部分2方法:技术手段3工具:自动或半自 动地支持软件的开发和管理三要素的关系:相互关联与支持 软件生命周期:可行性研究-需求分析-概要设计-详细设计-实现-集成测试-确认 测试-使用与维护-退役 软件开发和测试活动之间的关系软件 开发和软件测试都是软件生命周期中的重要组成部分,软件测试是保证软件开发产物 质量的重要手段。测试是贯穿于整个开发流程了,而不是在编码完成才开始。 瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工 作,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。最终得到软件产品优点是使用时间最长、应用面比较广泛的开发模型2是其他一些开发模型的基础3当前一阶段完成后,只需要去关注后续阶段缺点不能适应用户需求的变化2到最后阶段才能得到可运行的软件版本适用场合:对于规模较小,软件需求较为稳定的项目,采用模型能够显著提高软件开发的质量和效率 演化模型(原型模型)演化模型是一种全局的软件(或产品) 生存周期模型。属于 迭代开发方法。该模型可以表示为:第一次迭代(需求->设计->实现->测试->集成)->反馈->第二次迭代(需求->设计->实现->测试->集成)->反馈->……优点:1支持需求的动态变化2有助于获取用户需求,便于用户对需求的理解3尽早发现软件中的错误缺点1需要为系统的每个新版本交付文档,不划算2新需求的不断增加,使系统结构退化,变更成本上升3不支持风险分析 螺旋模型1将瀑布模型与原型模型进行有机结合2增加风险分析步骤优点1支持 需求的动态变化2有助于获取用户需求,便于用户对需求的理解3尽早发现软件中的错误4支持风险分析,可降低或者尽早消除软件开发风险5适合于需求动态变化、开发风险较大的系统缺点建设周期长适用场合在需求不明确的情况下,适合用螺旋模型进行开发,便于风险控制和需求变更。特别适合于大型复杂的系统 喷泉模型:软件复用与生命周期中多项开发活动集成,主要支持面向对象的开发 方法优点1软件系统可维护性较好2各阶段相互重叠,表明了面向对象开发方法各阶段间的交叉和无缝过渡3整个模型是一个迭代的过程,包括一个阶段内部的迭代和跨阶段的迭代4模型具有增量开发特性,即能做到“分析一点、设计一点、实现一点,测试一点”,使相关功能随之加入到演化的系统中5模型由对象驱动,对象是各阶段活动的主体,也是项目管理的基本内容6该模型很自然地支持软部件的重用缺点由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。 OO 为什么好oo 解决问题的思路是从现实世界中的客观对象入手,运用人类的 自然思维方式来构造软件系统,而传统的结构化方法从功能入手和信息工程化方法从信息入手。在面向对象方法中,把一切都看成是对象。OO 方法用类和对象作为系统的基本构成单位。对象对应问题域中的事物,其属性与操作刻画了事物的静态特征和动态特征,它们之间的继承关系、聚合关系、消息和关联如实地表达了问题域中事物之间实际存在的各种关系面向对象方法的特点(1)从现实世界中客观存在的事物出发来建立软件系统,强调直接以问题域中的事物为中心来思考问题、认识问题,把它们抽象地表示为系统中的对象,作为系统的基本构成单位。这可以使系统直接映射问题域,保持问题域中事物及其相互关系的本来面貌(对象) (2)用对象的属性表示事物的状态特征;用对象的操作表示事物的动态特征(属性与操作)(3)对象的属性与操作结合为一体,成为一个独立的、不可分的实体,对外屏蔽其内部细节(封装)(4)对事物进行分类。把具有相同属性和相同操作的对象归为一类,类是这些对象的抽象描述,每个对象是它的类的一个实例(分类)(5)复杂的对象可以用简单的对象作为其构成部分(聚集:一个(较复杂的)对象由其他若干(较简单的)对象作为其构成部分,称较复杂的对象为聚集,称较简单的对象为成分,称这种关系为聚集)(6)通过在不同程度上运用抽象的原则,可以得到较一般的类和较特殊的类。特殊类继承一般类的属性与操作,从而简化系统的构造过程及其文档,有利于复用(继承:特殊类拥有其一般类的全部属性与操作,称作特殊类对一般类的继承)(7) 类具有封闭性,把内部的属性和服务隐藏起来,只有公共的服务对外是可见的(类的封闭性)(8) 对象之间通过消息进行通讯,以实现对象之间的动态联系(消息)(9) 通过关联表达类之间的静态关系(关联) 自顶向下,逐步求精:从顶层开始逐层向下分解,直至系统的所有模块都小 到易于掌握为止 抽象从事物中舍弃个别的非本质的特征,而抽取共同的、本质特征的做法叫抽象。 过程抽象:将完成一个特定功能的动作序列抽象为一个函数名和参数表(模块)例: 比较字符串: int Compare (CString, CString)。数据抽象:将诸多数据对象的定义(描述)抽象为一个数据类型名,以后可通过该数据类型名来定义多个具有相同性质的数据对象例:Eg: 1, 2, 3,—>Integer ;软件工程书;人工智能书—>书类 封装把对象的属性和操作结合成一个独立的系统单位,并尽可能隐蔽对象的内部 细节。只是向外部提供接口,降低了对象间的耦合度使对象能够集中完整地描述并对应一个具体事物。意义:体现了独立性,使对象外部不能随意存取对象的内部数据,使其所含的信息对那些不需要这些信息的模块不可访问。对象的内部的修改对外部的影响很小,减少了修改引起的“波动效应”。公开静态的、不变的操作,而把动态的、易变的信息隐藏起来。 模块化将一个软件划分为一组具有相对独立功能的部件,每个部件称为一个模 块;当把所有的模块组装在一起时,便可获得满足用户需求的软件系统。为什么要进行模块化:模块化体现了“分而治之”的问题分析和解决方法。模块化的目的①进行功能分解,把复杂的大的功能划分成简单的小的子功能,尽量降低每个模块的成本。②尽量使每个模块间的接口不能太多,太多会使接口成本增加。兼顾二者可取得最佳的划分状态,确保软件总成本最低模块设计原则1信息隐藏2高内聚度(强)3低耦合度(松)什么是信息隐藏(1)模块应该设计得使其所含的信息(过程和数据)对那些不需要这些信息的模块不可访问(2)模块之间仅仅交换那些为完成系统功能所必须交换的信息信息隐藏的优点(1)支持模块的并行开发(设计和编码)(2)模块的独立性更好(3)便于系统功能的扩充(4)便于测试和维护,减少修改影响向外传播的范围模块化、信息隐藏,局部化是什么关系局部化与信息隐藏是一对密切相关的概念。局部化就是指将一些使用上密切相关的元素尽可能放在一起。对一个模块来说,局部化是期望模块所使用的数据尽可能是在模块内部定义的。因此,局部化意味着减少模块之间的联系,有助于实现模块之间的信息隐藏。在软件测试和维护期间经常需要修改一些模块的内容。信息隐藏和局部化降低了模块之间的联系,使得在修改一个模块时对其他模块的影响降到最低。“隐藏”的意思是,有效的模块化通过定义一组相互独立的模块来

软件详细设计说明书

软件详细设计说明书 1 引言 1.1 编写目的 提示:说明编写这份详细设计说明书的目的,指出预期的读者范围。 1.2 背景 提示:应具体说明以下基本内容: ①待开发的软件系统的名称; ②列出本项目的任务提出者、开发者、用户以及将运行该项软件的单位。 1.3 定义 提示:列出本文件中用到的专门术语的定义和缩写词的原词组。 1.4 参考资料 提示:列出要用到的参考资料,如: ①本项目的经核准的计划任务书或合同、上级机关的批文; ②属于本项目的其他已发表的文件; ③本文件中各处引用的文件、资料,包括所要用到的软件开发标准。 列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。 2 程序系统的结构 提示:用一系列图表列出本程序系统内的每个程序(包括每个模块和子程序)的名称、标识符和它们之间的层次结构关系。 3 程序1(标识符)设计说明 提示:从本章开始,逐个地给出各个层次中的每个程序的设计考虑。以下给出的提纲是

针对一般情况的。对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往往与它所隶属的上一层模块的对应条目的内容相同,在这种情况下,只要简单地说明这一点即可。 3.1 程序描述 提示:给出对该程序的简要描述,主要说明安排设计本程序的目的意义,并且,还要说明本程序的特点(如是常驻内存还是非常驻?是否子程序?是可重入的还是不可重入的?有无覆盖要求?是顺序处理还是并发处理?.....等)。 3.2 功能 提示:说明该程序应具有的功能,可采用IPO图(即输入-处理-输出图)的形式。 3.3 性能 提示:说明对该程序的全部性能要求,包括对精度、灵活性和时间特性的要求。 3.4 输入项 提示:给出对每一个输入项的特性,包括名称、标识、数据的类型和格式、数据值的有效范围、输入的方式、数量和频度、输入媒体、输入数据的来源和安全保密条件等等。 3.5 输出项 提示:给出对每一个输出项的特性,包括名称、标识、数据的类型和格式、数据值的有效范围、输出的形式、数量和频度、输出媒体、对输出图形及符号的说明、安全保密条件等等。 3.6 算法 提示:详细说明本程序所选用的算法,具体的计算公式和计算步骤。 3.7 流程逻辑 提示:用图表(例如流程流程图、判定表等)辅以必要的说明来表示本程序的逻辑流程。

35~110kV输变电工程可行性研究报告深度要求

贵州电网公司 35~110kV输变电工程 可行性研究报告内容深度规定 贵州电网公司 2013年4月贵阳

前言 为规范贵州电网公司35~110kV输变电工程项目可行性研究工作的内容和深度,加强输变电项目前期工作的管理,满足项目立项审批的要求,提高电网项目投资效益,为工程项目顺利开展初步设计提供基础,特制定本规定。 本规定由贵州电网公司建设管理中心提出、归口并负责解释。由贵州电力设计研究院负责起草。 本规定由下列人员编审: 批准: 审定: 审核: 主要起草人:

目录 前言 1总则 (1) 2 可行性研究报告编制的基本要求 (1) 3 工程概述 (1) 4 电力系统一次 (2) 5 电力系统二次 (4) 6 变电站站址及工程设想 (5) 7 输电线路路径及工程设想 (9) 8 环境保护 (10) 9 节能 (10) 10 投资估算及经济评价 (10) 11 附件及附图 (11) 附录A 本规定用词说明 (13)

1总则 1.1 本规定适用于贵州电网系统内110kV输变电工程项目(包括变电和线路工程)的可行性研究工作。35kV输变电工程参照执行,并可适当简化。 1.2 可行性研究是工程项目前期工作阶段的一个主要设计文件,是编制可行性研究报告书的依据,并为工程的初步设计和推行的典型设计控制造价指标提供前提条件。 1.3 可行性研究工作须以电网规划为基础。必须贯彻国家的技术政策和产业政策,执行各专业有关的设计规程和规定,推进技术进步,控制工程造价。 2 可行性研究报告编制的基本要求 2.1 可行性研究工作重点是论证项目建设的可行性问题,确定工程建设规模、投产时间和评估项目投资的经济性。 2.2 可行性研究报告一般包括电力系统(一、二次)、变电站选址、线路选线、主要设计原则及工程设想、投资估算及经济评价等主要内容,并可根据工程项目具体情况做相应增减。 2.3 可行性研究报告应包括说明书,各专业相关图纸。设计文件与相关协议齐全,文字说明清楚,图纸清晰、正确。对设计方案应有分析比较。 3 工程概述 3.1 设计依据 3.1.1 报告编制的任务依据 1)经批准或上报的电网规划审查文件或上级主管部门指导性文件。 2)与本工程项目有关的其他重要文件。 3)与委托方签订的设计咨询合同或设计委托书。 3.1.2 报告执行的技术依据 1)国家和地方相关的法律、法规文件。 2)国家和电力行业相关的技术标准、规程和规范文本(注明标准、规程和规范的名称及最新版本编号)。 3)地方政府部门和各职能主管部门的相关规定。 3.2 工程概况

软件详细设计报告

计算机学院实验中心----Android手机客户端 学生姓名:宋同煜张宗森 指导老师:裴斐 专业:计算机科学与技术102

在移动互联网发展迅猛的今天,在Android完全开源及拥有庞大用户群的环境下,迫切需要为计算机学院实验中心网站开发Andriod手机客户端,方便计算机学院师生随时随地查看实验信息、登记实验等。 。 一、系统分析 需求分析 查询实验:教师及学生可以查询当周及上一周、下一周实验安排 登记实验:教师登录后可以登记实验 引言 为方便计算机学院教师及学生查询、登记实验,因此开发实验中心Android手机端软件 编写目的 本文档对计算机学院实验中心网站手机客户端的功能、用户界面、运行环境等作出详细说明。 项目背景 软件的开发名称:计算机学院实验中心 项目需求单位:计算机学院全体师生 项目开发单位:宋同煜张宗森 二、系统设计 系统目标 1.实现需求分析阶段的所有功能 2.主界面清晰、简单、操作易行 系统功能预览

该软件主要包括查询、登录、登记实验3个功能模块,主要操作如下: (1)运行软件后,首先检查网络连接是否正常,如果正常,获取当周实验安排信息,显示给用户,效果如图 (2)通过“菜单->登记实验”进入等级实验页面,要求输入用户名密码才可继续

点击“登录实验”后,提示登录后才能继续 (3)点击登录进入登录页面,如图 正确输入用户名密码后点提交 (4)用户名密码输入正确,就可以登记实验了,次页面包含实验名、课程名、班级、机房、

第几大节、实验日期等信息的填写,如图 (5)正确填写实验信息后,确认登记后点提交,返回登记结果

软件工程期末复习知识点整理

复习整理 、绪论 1. 软件的定义 软件是能够完成预定功能和性能的可执行的计算机程序,包括使程序正常执行所需要的数据,以及有关描述程序操作和使用的文档。(软件=程序+文档) 2.软件工程的定义 是指导计算机软件开发和维护的一门工程学科;采用工程化的原理与方法对软件进行计划、开发和维护;把证明正 确的管理技术和最好技术综合运用到软件开发中;研究经济地开发岀高质量的软件方法和技术;研究有效维护软件 的方法和技术。 3.软件危机的概念,及出现的原因 软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。 产生原因: ⑴软件规模越来越大,结构越来越复杂 ⑵软件开发管理困难而复杂。 ⑶软件开发费用不断增加。 ⑷软件开发技术落后。 ⑸生产方式落后,仍采用手工方式。 ⑹开发工具落后,生产率提高缓慢。 4.三种编程范型的特点 (1)过程式编程范型:把程序理解为一组被动的数据和一组能动的过程所构成;程序=数据结构 +算法;着眼于程序的过程和基本控制结构,粒度最小 (2)面向对象编程范型:数据及其操作被封装在对象中;程序=对象+消息;着眼于程序中的对 象,粒度比较大 (3)基于构件技术的编程范型:构件是通用的、可复用的对象类;程序=构件+架构;眼于适合 整个领域的类对象,粒度最大 二、软件生存周期与软件过程 1、软件生存周期的定义,把生存周期划分为若干阶段的目的是什么,有哪几个主要活动 定义:一个软件从开始立项起,到废弃不用止,统称为软件的生存周期 目的:软件生存周期划分为计划、开发和运行3个时期;把整个生存周期划分为较小的阶段, 给每个阶段赋予确定而有限的任务,就能够化简每一步的工作内容,使因为软件规模而增长而大大增加了软件复杂性变得较易控制和管理。 主要活动:需求分析、软件分析、软件设计、编码、软件测试、运行维护( P19) 2、软件生命周期划分为哪几个阶段 软件生命周期分为三个时期八个阶段: 软件定义:问题定义、可行性研究; 软件开发:需求分析、概要设计、详细设计、编码、测试; 软件运行:软件维护

输变电工程可行性研究报告

输变电工程可行性研究报告 第一部分输变电工程和项目总论 总论作为可行性研究报告的首要部分,要综合叙述研究报告中各部分的主要问题和研究结论,并对项目的可行与否提出最终建议,为可行性研究的审批提供方便。 一、输变电工程和项目背景 (一)项目名称 (二)项目的承办单位 (三)承担可行性研究工作的单位情况 (四)项目的主管部门 (五)项目建设内容、规模、目标 (六)项目建设地点 二、项目可行性研究主要结论 在可行性研究中,对项目的产品销售、原料供应、政策保障、技术方案、资金总额筹措、项目的财务效益和国民经济、社会效益等重大问题,都应得出明确的结论,主要包括: (一)项目产品市场前景 (二)项目原料供应问题 (三)项目政策保障问题 (四)项目资金保障问题 (五)项目组织保障问题

(六)项目技术保障问题 (七)项目人力保障问题 (八)项目风险控制问题 (九)项目财务效益结论 (十)项目社会效益结论 (十一)项目可行性综合评价 三、主要技术经济指标表 在总论部分中,可将研究报告中各部分的主要技术经济指标汇总,列出主要技术经济指标表,使审批和决策者对项目作全貌了解。 四、存在问题及建议 对可行性研究中提出的项目的主要问题进行说明并提出解决的建议。 第二部分输变电工程和项目建设背景、必要性、可行性 这一部分主要应说明项目发起的背景、投资的必要性、投资理由及项目开展的支撑性条件等等。 一、输变电工程和项目建设背景 (一)国家或行业发展规划 (二)项目发起人以及发起缘由 (三)…… 二、输变电工程和项目建设必要性 (一)…… (二)……

(三)…… (四)…… 三、输变电工程和项目建设可行性 (一)经济可行性 (二)政策可行性 (三)技术可行性 (四)模式可行性 (五)组织和人力资源可行性 第三部分输变电工程和项目产品市场分析 市场分析在可行性研究中的重要地位在于,任何一个项目,其生产规模的确定、技术的选择、投资估算甚至厂址的选择,都必须在对市场需求情况有了充分了解以后才能决定。而且市场分析的结果,还可以决定产品的价格、销售收入,最终影响到项目的盈利性和可行性。在可行性研究报告中,要详细研究当前市场现状,以此作为后期决策的依据。 一、输变电工程和项目产品市场调研 (一)输变电工程和项目产品国际市场调研 (二)输变电工程和项目产品国内市场调研 (三)输变电工程和项目产品价格调查 (四)输变电工程和项目产品上游原料市场调研 (五)输变电工程和项目产品下游消费市场调研 (六)输变电工程和项目产品市场竞争调查

软件工程复习资料

1、下列哪一模型是软件的基础模型 A.瀑布模型 B.快速原型 C.增量模型 D.螺旋模型 2、划分软件生存周期的阶段时所应遵循的基本原则是 A.各阶段的任务尽可能相对独立 B.各阶段的任务在时间上连续 C.各阶段的任务尽可能相关性 D.各阶段的任务在时间上相对独立 3、下列哪个办法不属于解决软件危机的途径之一 A.采用软件工程的解决途径 B.研制新一代智能计算机 C.采用面向对象的软件设计方法 D.大力扶持软件企业 4、下列哪个不属于软件工程的内涵之一 A.扶持培养软件高手的学院 B.开发既可靠又能有效运行的软件 C.应用完善的科学与工程原理 D.经济地开发软件 5.造成大型软件开发困难的根本原因在于 A.开发人员缺乏足够的开发经验 B.项目开发进度不合理 C.软件系统的复杂性 D.对软件开发的资金投入不足 6.软件会逐渐退化而不会磨损,其原因在于 A.软件备件很难订购 B.不断的变更使组件接口之间引起错误 C.软件错误在经常使用之后会逐渐增加 D.软件通常暴露在恶劣的环境下 7.下面说法正确的是 A.大多数软件系统是不容易修改的,除非它们在设计时考虑了变化 B.由于软件是产品,因此可以应用其他工程制品所用的技术进行生产 C.一般来说,软件只有在其行为与开发者的目标一致的情况下才能成功 D.购买大多数计算机系统所需的硬件比软件更昂贵 8.Ariane 5火箭发射失败的事例告诉我们 A.(2)软件后备系统可以通过复制生成 B.(3)软件重用必须重新进行系统论证和系统测试 C. 选项(1)和(3) D.(1)系统环境的变化可能影响软件采集数据的精度、范围和对系统的控制

9.软件危机的主要原因是 A.软件本身的特点及开发方法。 B.软件工具落后。 C.软件生产能力不足。 D.对软件的认识不够。 10.下面的描述正确的是 A.软件质量是在开发过程中逐渐构建起来的。 B.软件质量是由产品的功能、性能、易用性等外在特性决定的。 C.运行正确的软件就是高质量的软件。 D.软件产品质量越高越好,最理想的情况是达到“零缺陷”。 11、可行性研究主要包括哪几项? A.技术可行性、经济可行性和操作可行性 B.技术可行性、经济可行性和道德可行性 C.技术可行性、法律可行性和操作可行性 D.技术可行性、操作可行性和法律可行性 12、成本/效益分析的目的是帮助()正确地作出是否投资于这项开发工程的决定。 A.系统分析员 B.客户组织的负责人 C.项目经理 D.软件开发人员 13、在进行成本/效益分析的时候,需要考虑() A.开发成本 B.运行费用 C.系统带来的经济效益 D.系统使用寿命 14、数据流图和数据字典共同定义了新系统的逻辑模型。 A.错 B.正确 15、可行性研究可行性研究需要的时间长短和所研究系统的规模关系不大。 A. 正确 B.错误 16、把可行性研究各个步骤的工作结果写成清晰的文档,请用户、客户组织的负责人及评审组审查,以决定是否继续这项工程及是否接受分析员推荐的方案。 A.正确 B.错误 17、结构化分析方法遵守的准则之一——定义软件需要完成的功能,需要建立的模型是 A.功能模型 B.数据模型 C.行为模型 D.动态模型 18、下列叙述中,()不属于数据字典的作用。 A.为用户与开发人员之间统一认识 B.为需求分析阶段定义各类条目

软件详细设计报告文档

软件详细设计报告文档 1. 引言 随着近些年来社会和科技的发展,越来越多的人使用电子设备查询各种信息,最常见的一个查询软件就是——电子词典,其主要的市场目标是学习外语的人群。从软件功能来看,英文电子词典一直高居榜首,虽说学习第二语言可以帮助我们更加方便的与全球进行交流的,但是作为一名炎黄子孙,中国上下五千年的文化渊远流长,因此我们此次项目所实施的功能是成语查询,该软件可以帮助人们随时随地更加方便地查询成语的意思以及用法,使其使用者可以更加深入的了解中国成语文化,使汉语文化可以发扬光大。 1.1 编写目的 本详细设计的编写目的在于描述成语词典的界面设计、查询功能、数据库收集与导入等。在简要描述视成语词典的整体环境搭建的基础上,详细说明查询模块,为以后的开发工作提供可靠的依据。 1.2 预期读者和阅读建议 本软件产品所针对的的预期读者,包括: ●用户; ●开发人员; ●测试人员; ●文档编写人员。 1.3 参考资料 编写此详细设计时所用到的参考文献及资料,包括: 2. 设计概述 2.1 限制和约束 起到限制和约束作用的各种可能存在的条件: ●技术条件; ●开发环境; ●时间限制;

●数据库内资源的多少。 实现的系统目标:在成语查询的首页有成语推荐,若要查询成语,输入其关键字或整体,点击“查询”按钮,系统进行自动查询,如果有任何意见或者建议,可以点击“我要留言”,进行反馈。 2.2 系统组织设计 通过系统组织表描述搜索系统由下列子系统组成,这些子系统与业务职能之间的关系。系统组织表如下: 子系统编号中文名称业务职能备注 1 环境搭建、界 面设计以及 查询模块 在UNIX下,基于php+apache+mysql的 环境下,进行界面和查询模块的开发, 包括查询结果的显示。 周婷婷 2 数据库模块收集成语的释意以及用法,加上post或 get内容的特殊符号处理,将其导入到数 据库中。 李燕 3 数据库模块收集成语的释意以及用法,将其导入到 数据库中,并加上分页函数类和首页成 语推荐。 宋彧婕 2.3 系统结构设计 2.3.1 整体结构 爬虫 索引 查询

软件工程复习资料-完整版

一、选择题: 1、用例图中,用来表示用例的符号为(B)。 A B. C. D. 2、协作图中包含的元素包括(A)。 A. 对象 B. 链 C. 激活 D. 消息 3、在类图中,哪种关系表达整体与部分的关系(D)。 A.泛化 B. 实现 C. 依赖 D. 聚合 4、下列各种图形符号中,用来表示组成关系的符号为(B)。 A. B. C. D. 5、(A)工具在软件的详细设计中不能使用。 A.DFD B. N-S图 C. 流程图 D. PDL 6、“软件危机”是指(C)。 A. 计算机病毒的出现 B. 利用计算机进行经济犯罪活动 C. 软件开发和维护中出现的一系列问题 D. 人们过分迷恋计算机系统 7、快速原型是利用原型辅助软件开发的一种新思想,它是在研究(A)的方法和技术中产生的。

A. 需求阶段 B. 设计阶段 C. 测试阶段 D. 软件开发的各个阶段 8、从严格意义上讲,下列4个选项中属于顺序图的元素是(ABCD)。 A. 对象 B. 参与者 C. 消息 D. 激活 9、下列UML图形中,(ABCD)属于UML的动态视图。 A. 协作图 B. 状态图 C. 活动图 D. 顺序图 10、数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是(D)。 A. 数据库设计 B. 数据通信 C. 数据关系描述 D. 数据定义 11、详细设计与概要设计衔接的图形工具是(D)。 A. DFD图 B. 程序图 C. PAD图 D. SC图 12、UML中,大多数建模者把节点分为(AC) A. 设备 B. 构件 C. 处理器 D. 显示器 13、(C)是一种特殊形式的状态机,用于对计算流程和工作流程建模。 A.时间图 B. 流程图 C. 活动图 D. 状态图 14、(A)描述从状态到状态的控制流程,常用来对系统的动态特征进行建模。 A. 状态图 B. 序列图 C. 协作图 D. 活动图 15、下列特点属于描述用例的特点的是(D)。 A. 相对独立:不需要与其他用例交互,即功能是完备的

35KV输变电工程的可行性实施报告

---------------------考试---------------------------学资学习网---------------------押题------------------------------WORD整理版 兴隆***35kV输变电工程可行性研究报告 1.工程概述受承德供电公司委托,我单位开展了承德市兴隆县“南天门35kV送变电工程可行性研究”的前期工作。南天门35kv送变电工程位于兴隆县东南部地区,该项工程的供电辐射面积包括南天门、挂兰峪乡等几个部分,站址选在大营盘村。位于以上地区的中心位置,本报告中总称南天门地区(下称该地区)。以下从几个方面就该地区的地理人文、资源、工农业发展、供电网络以及项目的必要性等情况对该地区的目前状况做整体概述。 南天门35kV送变电工程预计在2008年11月投产。 南天门35kV送变电工程本期的主要工作量如下; 1)建设南天门35kV变电所,主变容量2×10MVA; 2)建设挂兰峪110KV变电所至南天门变电所35KV线路一回 3)建设相应的无功补偿设备; 4) 建设与南天门变电所相关的通信网络; 5)切改10kV公用线路进南天门变电所7KM。 6)建设半壁山110KV变电所35KV出口一回; 7) 建设挂兰峪110KV变电所35KV出口一回; 通过对南天门35kV变电所送变电工程的可行性研究,本期工程的总投资为1187万元。 2. 电力系统 2.1 电力系统概况 2.1.1承德市兴隆县南天门地区概况 兴隆县位于河北省东北部,地处燕山山脉东段,古长城西侧,在东经117°12′—118°15′,北纬40°1′—40°42′之间。东与宽城县、迁西县接壤,西与北京市密云、平谷两县毗邻,南与天津市蓟县、唐山市、遵化市相连,北与承德县相接,是北京、天津、唐山、承德四城市的结合部。县境东西横距86公里,南北纵距57公里,总面积3123平方公里。 南天门乡位于兴隆县东南部,西邻半壁山镇;东邻迁西;南邻挂兰峪;该乡覆盖面积118平方公里,具有丰富的矿产资源,铁矿储量达到500万吨,具有硫铁矿500万吨,高钙石资源也很丰富。该乡还有丰富的农业资源,年产水果达5000吨。现有矿选企业20家。 至2007年6月底,我县境内拥有:220KV变电站1座,主变容量2台/240MVA,110KV变电站3座,主变容量6台/224.5MVA。其中分公司共辖两座110KV变电站,兴隆110KV变电站主变容量为2X40000KVA;半壁山110KV变电站主变容量为 1X31500KVA+1X50000KVA;直属35KV变电站六座,全部是无人值班站,主变专业学习参考资料 WORD整理版 总容量11台/62200KVA;用户站三座,主变总容量4台/25500KVA。35KV输电线路共9条/119.094KM,其中公用线路7条/110.251KM,专用线路2条/8.843KM,10KV配电线路共53条/1593.16KM,其中公用线路43条/1513.844KM,专用线路10条/79.316KM,配电变压器已达到1897台/209070KVA,其中综合配变1272台/99640KVA。 一、二、三期农网改造工程已经结束,但由于八卦岭乡负荷的迅速增长,现在矿选企业20家,仅靠10KV线路供电既不能满足电能质量的要求。由于电网基础差,设计保守,并受到农网投资规模的限制,尤其近几年随着经济的发展,人民生活水平也随之不断的提高,用电量增长迅速。负荷的增加给设备的安全可靠运行造成了隐患。同时电压质量下降,影响了用户正常的生产生活。居民客户、地方政府反映极其强烈,多次反映电压质量低,家用电器、水泵等无法正常使用。

软件工程课程复习大纲

软件工程课程复习大纲 第一章软件工程概论 本章作为全书的概论,主要讲述了软件、软件工程概念和软件开发的目标和本质。 基本要求: 1、“软件”概念: “软件”一词具有三层含义: (1)一为个体含义,即指计算机系统中的程序及其文档; (2)二为整体含义,即指在特定计算机系统中所有上述个体含义下的软件的总称,亦指计算机系统中硬件除外的所有成分; (3)三为学科含义,即指在研究、开发、维护以及使用前述含义下的软件所涉及的理论、方法、技术所构成的学科。 2、“软件工程”概念: (1)一方面,软件工程是一类求解软件的工程。它应用计算机科学、数学及管理科学等原理,借鉴传统工程的原则、方法、创建软件以达到提高质 量,降低成本的目的; (2)另一方面,软件工程也是一门指导计算机软件开发和维护的工程学科。 3、“模型”概念: 模型是在特定意图下所确定的角度和抽象层次上对物理系统的描述,通常包含对该系统边界的描述,给出系统内各模型元素以及它们之间的语义关系。 重点要求: 1、软件开发的本质:实现问题域中的概念和处理逻辑到运行平台的概念和 处理逻辑的映射。 第二章软件过程 本章围绕软件过程这一主题,讲解了三方面的内容: 一:介绍了软件生存周期过程。按照承担软件开发工作的主体,软件生存周期过程分三类:基本过程、支持过程和组织过程。每类过程又包含一些确定的过程,每一过程又是由一组确定的活动定义的。 二:介绍了几种常用的软件生存模型:瀑布模型、增量模型、演化模型、螺旋模型和喷泉模型等,分析了这些模型的优缺点及它们的适用情况等。 三、讲解了一个软件项目生存周期过程的规划和监控。一个软件项目生 存周期过程规划包括三个阶段:第一阶段的目标是选取一个适合该项目特点

系统软件详细设计说明书

系统软件详细设计说明书 1.引言 1.1编写目的 本详细设计说明书是针对网络信息体系结构的课程作业而编写。目的是对该项目进行详细设计,在概要设计的基础上进一步明确系统结构,详细地介绍系统的各个模块,为进行后面的实现和测试作准备。本详细设计说明书的预期读者为本项目小组的成员以及对该系统感兴趣,在以后想对系统进行扩展和维护的人员。 2. 系统的结构 ●ui:系统界面部分,负责接受用户输入,显示系统输出,负责其他模块功能的协调调用, 并含有站搜索功能,即在用户指定的已打开的ftp站点中搜索用户需要的资源。ui部分调用common部分的功能读取xml文件中保存的界面元素属性信息,用户最近访问过的10个ftp信息,用户选择的下载的ftp容列表及其他需要通过xml文件保存的信息。 ●client:实现ftp客户端的功能,ftp连接,ftp上传及下载:上传或下载用户指定的资源, 并返回相应的信息。

●search:资源实时检索部分,根据用户输入的资源名称关键字,资源类型和选择的检索方 式检索用户需要的资源,并验证资源的可用性,返回可用资源及其大小,速度等相关信息。 ●preview:资源预览部分,显示用户选择的资源的部分容,以使用户决定是否需要该资 源。preview部分调用common部分读取属性文件的容亦显示预览资源容的显示格式。3.模块1(ui)设计说明 3.1模块描述 实现用户界面的包,含有11个文件51个类,是本系统中最复杂的代码。 3.2功能 负责接受用户输入,显示系统输出,其他模块功能的协调调用,并含有站搜索功能,即在用户指定的已打开的ftp站点中搜索用户需要的资源。 3.3交互的模块 client,search,preview,common。 3.4 模块设计 该模块中的主要文件,文件中包含的主要类及其功能和与其它包的交互如下: ●MainFrame.java:MainFrame是含有主函数的类,也是lyra客户端开始执行的类, 它先后进行资源的初始化,显示主界面等工作,根据屏幕大小设置界面大小,设置界面的观感。 ●FtpFrame_AboutBox.java:显示关于窗口的类,当用户点击帮助菜单中的关于菜单 项时会弹出关于对话框。 ●Tools.java:FileTools是文件操作辅助类,可以实现文件的递归删除等。 ●XMLController.java: JDOMTes是操作xml文件的类,用JDOM来操作xml文件, 实现的功能有: (1)保存ftp服务器的文件列表(站搜索时使用),递归的从ftp服务器读取列表,并存入一个xml文件中(文件的命名方法是:ip+用户名.xml);以目录树的形式保存。 (2)根据文件名在文件中查找文件,站搜索时使用。 (3)保存ftp服务器的信息:ip,端口(默认端口21不保存),用户名(默认anonymous 不保存),密码,最多存10个;存在resource\settings\ serversinfor.xml文件中。 (4)读取已存储的ftp服务器信息。 (5)从type.xml读取搜索的类型。 ●Constants.java:放置系统运行时使用的一些常量,initcontent()函数对所有常量进 行初始化,这个函数在MainFrame中被调用一次。iconHashMap是hash表,用于存放文件的系统图标。 ●CustomizedController.java:包含自定义的控件类,java中的控件可能不能满足需求, 需要自己定义某些属性。这些控件会在创建界面时使用。其中含有的类有: (1)CustomizedJTable 是表格类,设置表格的某些属性,如字体等。 (2)CustomizedTableCellRenderer是表格单元格绘制器类,主要用于显示文件的系统图标,和文件名。 (3)LeftPanel类的父类是JTabbedPane,用户显示主窗口左边的面板。 (4)RightPanel类的父类是JPanel,用户显示右边的主题部分,包括右上边的搜索及服务器选项,和中间的显示服务器文件的TabbedPane。. (5)BottomPanel类是右下放显示下载和服务器信息的JTabbedPane。

软件工程考研资料

软件工程复习提纲 第一章软件工程基本概念 1、软件危机的概念:指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 2、软件危机包含两方面的问题:1)如何开发软件以满足对软件日益增长的需求; 2)如何维护数量不断膨胀的已有软件。 3、软件危机的原因:1)与软件本身的特点有关;2)和软件开发与维护的方法不正确有关。 4、软件危机的消除途径:解决软件危机,既要有技术措施(方法和工具), 又要有必要的组织管理措施。 5、软件工程的概念:软件工程就是为了经济地获得可靠的且能在实际机器上有效地运行的软件,而 建立和使用完善的工程原理。 6、软件工程的基本原理:1)用分阶段的生命周期计划严格管理 2)坚持进行阶段评审 3)实行严格的产品控制 4)采用现代程度设计技术 5)结果应能清楚地审查 6)开发小组的人员应该少而精 7)承认不断改进软件实践的必要性 7、软件工程方法学(3个要素):通常把在软件生命周期全过程中使用的一整套技术方法的集合称为 方法学,也称为范型。三要素:方法、工具和过程。 8、软件生命周期:从软件定义、软件开发和运行维护,直到最终被废弃,要经历一个漫长的时期, 通常把软件经历的这个漫长的时期称为生命周期。 1)软件定义:问题定义、可行性研究和需求分析; 2)软件开发:总体设计、详细设计、编码和单元测试、综合测试; (前两个称系统设计,后两个称系统实现) 3)运行维护:软件维护; 9、软件过程及其特点:为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任 务的工作步骤。 1)瀑布模型:a.阶段间具有顺序性和依赖性;①前一阶段的工作完成后,才 能开始后一阶段的工作;②前一阶段的输出文档是后一阶段的 输入文档,前一阶段的输出文档正确,后一阶段的工作才能获 得正确的结果。 b.推迟实现的观点;对于规模较大的软件项目来说,往往编码 开始得越早最终完成开发工作所需要的时间反而越长。 c.质量保证的观点;①每个阶段都必须完成规定的文档。 ②每个阶段结束前都要对所完成的文档进行评审,以便尽早发 现问题,改正错误。 优点:文档驱动。

相关文档
最新文档