软件工程考试要求(2011)

软件工程考试要求(2011)
软件工程考试要求(2011)

软件工程考试要求

一、文档(60分)

1.选题:可以选择《信息系统开发案例》(张基温主编,清华大学出

版社)中的任意一个案例来进行改造,也可以自选一个案例。

2.内容要求

2.1需求定义描述(5分)

项目的手工操作形式,实现的系统希望达到的功能描述,使用各

功能的角色描述,系统环境描述,系统的性能需求等内容。

2.2需求分析与设计(20分)

根据用户的需求,给出系统分析的结果,明确给出系统实现后的功能定义,角色定义等,设计系统的逻辑关系,系统接口以及达到系统性能的措施及解决办法等。采用结构化分析方法时要有系统的详细的数据流图和核心数据的数据字典,必要时进一步画出系统的E-R图和状态转换图。采用面向对象分析方法时画出系统详细的用例模型和对象模型,必要时进一步写出系统的动态脚本或画出系统的事件跟踪图。

2.3详细设计(20分)

以数据为中心的思想,分析系统的数据结构设计,系统的命名规

格定义等内容。

设计出系统的功能模块图或系统结构图。

结构化设计时采用过程模型工具(例如流程图、盒图或PAD图等)

------------------------------------- 精品文档

设计核心模块内容或算法描述。采用面向对象方法时给出核心类的核

心服务的详细内容或算法描述,设计出类之间的关联,指明继承关系。

采用数据库存储数据时给数据库表的设计及表间关联,采用文件存储数据时给出文件的设计结构。

给出系统核心的数据结构。

2.4测试报告(10分)

依据项目的特点,选择测试方法及测试策略,给出主要的测试内容,主要的测试用例,测试结果,以及测试报告等。

2.5学习这门课的体会,或者改进教学的建议(5分)

二、演示程序(20分)

1编码风格规范(10分)

程序说明,变量标识符命名规范,模块说明,接口说明,注释,输入数据合法性检验,程序风格,语句构造。

2程序量(5分)

3程序可执行性(5分)

三、平时成绩(20分)

注:

1上机编码演示程序在第12周星期三下午(11.23)在南一楼804检查,不到场者整个课程不计成绩。

------------------------------------- 精品文档

2文档于2010年12月16日星期五下午4:00~5:30以班级为单位交南一楼到西头311实验室。过时不收,视为矿考。胡华良负责收取。

3每人一个题目单独完成,不得照抄,发现文档中雷同部分超过30%的,全部视为抄袭,不计成绩。

以下是信息系统开发案例书中的选题:

第一辑信息系统开发案例

案例1工资管理系统

案例2车间统计系统

案例3厂内运输调度及管理系统

案例4电厂库房物资管理信息系统

案例5轧钢分厂生产调度管理信息系统

案例6XXX厂经营管理信息系统

案例7进、销、存决策支持系统

案例8零部件检验管理信息系统

第二辑信息系统开发案例

案例1土地管理信息系统

案例2福建省海洋环境地理信息系统

案例3湖南省防汛信息服务系统

案例4基于In ternet的图书信息检索系统

------------------------------------- 精品文档

--------------------------- 」

精品文档就在这里

各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有

精品文档

地方税务稽查信息系统(LTIS )

住房公积金计算机管理系统

信息系统开发案例 大连国际服装节网站开发系统 深圳市统计信息系统 某省中医药研究院附属医院信息管理系统 娱乐休闲型酒店管理信息系统 海洋船舶溢油应急信息系统 银行信贷管理系统 房产管理信息系统

案例5

案例6 第三辑

案例1

案例2

案例3

案例4

案例5

案例6

案例7

I精品文档就在这里

各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有

成绩按如下方式打:A+(100),A(95),A-(90),B+(85),B(80),B-(75),C+(70),C(65),C-(60),D+(50),D(40), D-(30),E+(20),E(10),E-(0)

精品文档

软件工程期末考试重点

软件工程期末考试重点 《软件工程》期末复习重点 第一章软件工程 1. 什么是软件工程。 A.把系统化的、规范的、可度量的途径应用于软件开发、运行和维护的过程,也就是把工程化应用于软件中;b.研究a中提到的途径。2. 软件工程的三要素:方法、工具和过程。 第二章软件过程 1. 软件生命周期分为哪几个阶段?每个阶段的基本任务是什么? a.软件定义:确定软件开发工程必须完成的总目标问题定义:要解决的问题是什么 可行性研究:上阶段所确定的问题是否有可行的解决办法?需求分析:目标系统必须做什么 b.软件开发:具体设计和实现在前一个时期定义的软件。概要设计:怎样宏观地解决问题 详细设计:应如何具体地实现这个系统 编码和单元测试:写出正确的、易理解、易维护的程序综合测试:通过各类型测试使达到预定要求。 c.运行维护:修正错误,使软件持久地满足用户需要。改正性维护:诊断和改正使用中的错误适应性维护:修改

以适应环境变化 完善性维护:根据用户的要求改进和扩充以完善预防性维护:修改以为将来的维护作准备 2. 常用的过程模型有哪些?各自的特点及不足。如:瀑布模型的不足是不能适应需求的动 态变更。 A.瀑布模型 特点: 可强迫开发人员采用规范化的方法。严格地规定了每个阶段必须提交的文档。要求每个阶段交出的所有产品都必须是经过验证的。 缺点:太理想化,于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。如果需求规格与用户需求之间有差异,就会发生这种情况。只适用于项目开始时需求已确定的情况。 B.快速原型模型 特点:快速 软件产品开发基本上是线性顺序进行。降低了规格说明文档变化的可能性。减少了后续阶段错误的可能性。 c.增量模型 1 优点: 人员分配灵活,刚开始不用投入大量人力资源。

需求分析考试重点答案回顾.doc

第一章 3.需求分析与需求工程之间的关系 那就是需求工程含义更广,包括需求获取、需求分析、需求定义 5.需求工程包含的活动?为什么重视需求工程? 需求工程包含需求开发和需求管理,而需求开发又包括需求获取、需求分析、需求规格说明、需求验证。 因为计算机应用于现实世界的广泛性,所以软件工程师的工作也具有行业上的广泛性,但是软件工程师不可能了解所有的领域,所以常常需要将工作中的很大一部分用来定义问题,然后再为其设计解决方案,定义问题就是需求工程的任务,开发软件系统最困难的部分就是准确说明开发什么,最为困难的概念性工作便是编写详细技术需求,这包括所有面向用户,面向机器和其他软件系统的接口,同时这也是一旦有错,最终将给系统带来极大损害的部分,并且以后要对他进行修改也极为困难。 第二章 3.解释下列名词,需求,规格说明,问题域特性和约束,并结合他们的含义说明需求工程的主要任务是什么? 需求是用户对问题域中的实体状态或事件的期望描述 规格说明:规格说明是解系统为满足用户需求而提供的解决方案,规定了解系统的行为特征。问题域的特性:在和解系统相互影响的同时,问题域是自治的,它有自己的运行规律,而且这些规律不会因解系统的

引入而发生改变,这种自治的规律性称为问题域特性,当这些特性非常明确时称之为约束。 需求工程的主要任务:1.需求工程必须说明软件系统将应用的环境及目标,说明用来达成这些目标的软件功能,还要说明在设计和实现这些功能时上下文环境对软件完成任务所用的方式、方法所施加的限制和约束。2需求工程必须将目标、功能和约束反映到软件系统中,映射为可行的软件行为,并对软件行为进行准确的规格说明。3需求工程还要妥善处理目标、功能和约束随着时间的演化情况。 1、进行需求开发,确定用户的期望效果R 2、研究问题背景,描述问题域特性E 3、构建解系统,描述解系统行为S,使得E,S->R。 5.业务需求、用户需求、系统需求之间的区别与联系? 业务需求:描述了组织为什么要开发系统,通常来自项目的投资人,购买产品的顾客,实际用户的管理者,市场营销部门等。 用户需求:就是执行实际工作的用户对系用所能完成的具体任务的期望,描述了系统能够为用户做些什么,主要来自系统的使用者——用户。 系统需求:一系列系统需求联系在一起可以帮助用户完成任务,达成用户需求,进而满足业务需求。 联系:业务需求->指导需求获取->用户需求->转化为系统需求

2010软件工程课程设计要求注意事项

2010软件工程课程设计要求 注意事项: 1.每2个同学组成一组,每组都要演示,因此每组最好有一个同学能够有笔记本。 2.每组派一个代表抽签,抽中几号题签就做几号项目。 3.所有系统,均要考虑简单的人员权限分配问题,登录该系统的用户应当可以修改 自己口令; 4.对于各种需要录入的信息,系统需求并没有给出全部需要录入的字段,请同学们 在做项目的时候增加上适当的字段,以使得你的项目更合理,比如在录入出租房屋信息的时候,应当录入房屋所在的区、楼层、租金、房屋朝向、是否有空调等等;在录入个人简历的时候需要录入学历、毕业大学、专业、英语水平等等。 5.当一个页无法显示全部列表信息的时候,要考虑分页处理,并且需要有上一页、 下一页的功能。 6.请注意每个项目中是否需要上传文件(图片、其它附件等)。 7.所有程序开发工具不限,数据库不限,但最后必须提供可执行文件,并进行演示。 成绩说明: 1、总成绩 个人总成绩=小组成绩*30%+个人成绩*70% 2、小组成绩 需求分析15%(文档格式规范、充分理解需求、对需求中不明确的地方能补充完整、主要业务用流程图和用例图加以表达清楚) 数据库设计10%(符合三范式、数据库的设计和实施是一致的、数据库的字段、表命名规范且类型选择合理、数据库字段有适当的约束、数据库设计有适当的注释) 系统设计(概要/详细)15%(文档格式规范、各功能模块有完整的实现说明、关键算法有类图和时序图) 项目管理5%(项目开发计划必须由粗到细通过GANT 图给出,每项任务要落实到人且规定该任务的起止日期和时间;明确每个阶段提交文档的日期和时间)代码质量10%(符合代码开发规范和命名规范、代码运行流畅、有适当的代码注释) 项目测试10%(有详细的测试用例和测试代码、有测试结果、有健壮性测试,测试文档规范) 用户安装及使用手册10%(安装手册和使用手册完整、详细,有实际价值,同时符合文档规范) 项目提交25%(满足项目的基本功能要求,系统运行速度较快、用户界面友好操作简单、对错误输入有一定的检查和提示、提交及时、讲解清楚)

软件工程重点整理

软件工程重点 (吐血整理——林新发) 红色的是重点中的重点 前面数字是课本页码 第一章概论 1 什么是计算机软件 计算机软件指计算机系统中的程序及其文档 3软件的特点 (1)软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确地估算 (2)软件是被开发的或被设计的,它没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大 (3)软件的使用没有硬件那样的机械磨损和老化问题 4软件的分类 (1)系统软件(如操作系统、编译程序等)、 (2)支持软件(如数据库管理系统、网络软件、软件开发环境等)、 (3)应用软件(如实时软件、嵌入式软件、科学和工程计算软件、事务处理软件、人工智能软件等) 6软件工程定义 软件工程是应用计算机科学、数学及管理科学等原理,以工程化的原则和方法制作软件的工程 7生存周期 软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为计算机软件的生存周期 软件生存周期大体可分为如下几个活动:计算机系统工程、需求分析、设计、编码、测试、运行和维护 12能力成熟度模型CMM(了解一下) 初始级、可重复级、已定义级、已管理级、优化级 18瀑布模型(重) 系统工程、需求分析与规约、设计与规约、编码与单元测试、集成测试系统测试、运行与维护 第二章系统工程 41系统工程的任务 (1)识别用户的要求,确定待开发软件的总体要求和范围,

(2)系统建模和模拟 (3)进行成本估算,做出进度安排 (4)进行可行性分析,即从经济、技术、法律等方面分析待开发的软件是否有可行的解决方案,并在若干个可行的解决方案中作出选择。 (5)生成系统规格说明书 42可行性分析 (1)经济可行性(成本、效益、货币的时间价值、投资回收期、纯收入) (2)技术可行性(风险分析、资源分析、技术分析) (3)法律可行性 第三章需求工程 48软件需求 指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。 包括:功能需求、性能需求、用户或人的需求、环境需求、界面需求、文档需求、数据需求、资源使用需求、安全保密要求、可靠性需求、软件成本消耗与开发进度需求、其他非功能需求 50需求获取方法与策略(重) 建立顺畅的通信途径、访谈与调查、观察用户操作流程、组成联合小组、用况 51 图3.2 53 创建用况模型的主要步骤 (1)确定谁会直接使用该系统,即参与者(Actor) (2)选取其中一个参与者 (3)定义该参与者希望系统做什么,参与者希望系统作的每件事将成为一个用况 (4)对每件事来说,何时参与者会使用系统,通常会发生什么,这就是用况的基本过程 (5)描述该用况的基本过程 54需求分析原则(重) 1.必须能够表示和理解问题的信息域 2.必须能够定义软件将完成的功能 3.必须能够表示软件的行为(作为外部事件的结果) 4.必须划分描述数据、功能和行为的模型,从而可以分层次地揭示细节

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

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

软件项目管理知识点整理好

第1章、 1、什么是项目 项目(Project),是指一系列独特的,复杂的并相互关联的活动。这些活动有着一个明确的目标或目的,必须在特定的时间、预算、资源限定内,依据规范完成。项目参数包括项目范围、质量、成本、时间、资源。 2、软件项目的特征 (1)复杂性:了解软件产品中每一美元、没一英镑、每一欧元是如何花费的,要比其它工程制品更复杂。 (2)一致性:通常,传统的工程师会用物理系统,以及水泥、钢铁这样的物理材料来工作,这些物理系统有一定的复杂性,但都服从一定的物理定律。而软件开发者,必须与客户需求保持一致。不仅因为从事该工作的人员可能不是同一个人,而且对于组织来说,由于集体记忆会有差错、内部交流不够通畅,决策也会有失误。 (3)可变性:软件可以方便的修改,这是软件的长处之一。然而。软件系统一旦与物理系统相连,一有必要,就要改变软件来适应其它组件,而不是改变其他组件来适应软件。所以,相对于其他组件,软件系统可能要经常变更。 (4)不可见性:有形制品(比如桥)的建造过程,可以立即看到,而软件的进展不能立即可见。 3、课本第八页的重要概念 (1)检查点:指在规定的时间间隔内对项目进行检查,比较实际现状与计划之间的差异,并根据差异进行调整。可将检查点视作一个固定采样的时间点,时间间隔,根据项目周期长短不同而变化,频率过小失去意义,频率过大增减管理成本。常见的间隔,每周一次,项目经理需要召开例会并上交周报。 (2)里程碑:是完成阶段性工作的标志,不同类型的项目里程碑不同。在软件项目的生命周期里,重要的里程碑节点是相同的,如项目立项、项目启动、需求分析、系统设计、软件编码、系统试运行、项目验收这些阶段完成时间均可作为里程碑。 (3)基线:指一个、一组配置项在项目生命周期的不同时间点上,通过正式评审进入正式受控的一种状态。软件项目中,需要的基线、配置基线等都是一些重要的项目阶段里程碑,但相关交付物要通过正式评审并作为后续工作的基准和出发点。基线一旦建立,变化要受到控制。 4、SMART原则 (1)绩效指标必须是具体的(Specific) (2)绩效指标必须是可以衡量的(Measurable) (3)绩效指标必须是可以达到的(Attainable) (4)绩效指标是实实在在的,可以证明和观察(Realistic) (5)绩效指标必须具有明确的截止期限(Time-bound) 5、PMBOK 项目管理知识体系,指项目管理知识体系的意思,具体是美国项目管理协会(PMI)对项目管理所需的知识、技能和工具进行的概括性描述 PMBOK的5个阶段:项目启动、项目规划、项目执行、项目监控与项目收尾 PMBOK的九大知识领域:项目集成管理、项目范围管理、项目时间管理、项目成本管理、项目人力资源管理、项目沟通管理、项目风险管理、项目质量管理、项目采购管理

软件工程课程设计选题

软件工程课程设计选题 1、俄罗斯方块 设计俄罗斯方块游戏程序,用户可以通过平移和转动自动落下的不同形状物体,填满一行来得分。开发智力和反应能力。 要求 (1)界面的左侧是游戏区域。新的图形会在顶部刷新,并且自动下落,可以通过方向左右键平移和方向上键顺时针旋转来控制图形落下的位置。 (2)界面的右侧是选项和显示区,显示现在的得分,以及开始游戏、暂停游戏、结束游戏按钮。 2、商品销售统计 编写商品销售统计程序,商品的信息有:商品的名称,计量单位(重量或件),单价。所有商品的信息事先已存入计算机,屏幕上显示所有商品的名称,选择商品名,输入商品计量单位(如重量,件数等),根据单价算出总价。客户一次购物可能购买多种商品,程序应计算出客户应付的钱款数。 要求 (1)第一部分用于输入商品的信息并允许修改和删除; (2)第二部分实现销售统计。程序运行时由用户选择进入哪一部分功能,并能在运行时在两部分之间切换。第二部分运行时,首先显示所有商品名称及代码(商品数目较多时,应考虑分屏显示),用户输入商品代码及商品重量或件数,用户一次操作可输入若干商品的购买信息,然后输入一个特殊的代码表示本次购物结束。此时。程序计算出应付钱款数并显示。 3、校园卡管理系统 针对校内通用的校园卡需要统一管理这一需求而推出。通过这个程序,可以较为方便地实现用户的登陆以及个人信息的查询更改等服务,同时管理员将以特定的帐号登陆,实现对所有用户信息及账户信息的管理。 要求 (1)以用户身份登陆可查询个人信息,并对相关信息作出修改,提交后新信息将写入数据库,取代原有信息。可查询个人的帐户信息,包括帐户余额、今日消费、末次充值情况等。可实现网上充值,通过与银行卡的连接,只要用户输入正确密码,即可从银行卡往校园卡转帐,同时帐户信息中末次充值情况将自动更新。可修改个人的登陆信息,对登陆密码作出修改。 (2)以管理员身份登陆,可查阅所有用户的信息,以及他们对应的帐户信息。可对用户信息作出相应的增删改操作,并自动将修改写入数据库,实现更新。通过输入任意确定条件,即可查询该用户的所有信息,包括个人信息及账户信息,同时在此基础上,实现增删改。 4、中国象棋打谱软件 中国象棋打谱软件提供给用户的一个能将对弈过程保存成文件并可以重对弈过程即复盘。主要功能有: 1. 制作棋谱, 2. 保存棋谱, 3. 演示棋谱。 要求

软件需求工程复习题

需求工程练习题 一、单选题(每空1分,共20分,请在备选答案中选择唯一一个正确的选项) 1、产品特性可以称为质量属性,在众多质量属性中,对于开发人员来说重要的属性有哪些 (B ) A 有效性、效率、灵活性、互操作性 B 可维护性、可移植性、可重用性、可测试性 C 完整性、可靠性、健壮性、可用性 D 容错性、易用性、简洁性、正确性 2、需求包括11个方面的内容,其中网络和操作系统的要求属于(B),如何隔离用户之间的数据属于(C),执行速度、相应时间及吞吐量属于(D),规定系统平均出错时间属于(A )。 A 质量保证 B环境需求 C安全保密需求 D 性能需求 3、需求分析过程应该建立3种模型,它们分别是数据模型、功能模型、行为模型。以下几种图形中,(B)属于功能模型,(A)属于数据模型,(C)属于行为模型。 A 实体-联系图(ERD) B 数据流图(DFD) C 状态转换图(STD) D鱼骨图 4、常用的需求分析方法有:面向数据流的结构化分析方法(SA),面向对象的分析方法(OOA),下列(D)不是结构化分析方法的图形工具。 A决策树 B数据流图 C数据字典 D快速原型 5、软件开发中,原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性。其中,(B)和(C)用完就可以丢弃,而(A)围绕原型修改、增加。 A 进化型 B 探索型 C实验型 D 以上都是 6、(D)用于描述数据的处理过程。 A 数据字典 B决策树 C决策表 D 数据流图 7、DFD的基本符号不包括下列哪种(A) A 数据字典 B 加工 C 外部实体 D 数据流 E 数据存储文件 8、DD的主要字典条目包括以下哪种(E) A数据流 B文件 C 数据项 D加工 E以上都是 9、常用的动态分析方法不包括以下哪种(B) A 状态迁移图 B 层次方框图 C时序图 D Petri网 10、需求分析阶段的文档包括以下哪些(E) A 软件需求规格说明书 B数据要求说明书 C初步的用户手册 D修改、完善与确定软件开发实施计划 E以上都是 11、需求验证应该从下述几个方面进行验证:(C) A 可靠性、可用性、易用性、重用性B可维护性、可移植性、可重用性、可测试性 C一致性、现实性、完整性、有效性 D 功能性、非功能性 12、风险管理的要素包括哪项(D) A风险评价 B风险避免 C风险控制 D以上都是 13、下列描述中错误的是(D) A每一个集成的需求变更必须能跟踪到一个经核准的变更请求。 B变更过程应该做成文档,尽可能简单,当然首要的是有效性。 C所有需求变更必须遵循过程,按照此过程,如果一个变更需求未被采纳,则其后过程不再予以考虑。 D可以从数据库中删除或修改变更请求的原始文档

软件工程(清华钱乐秋版)期末复习重点

1、什么是软件工程 在《计算机科学技术百科全书》中软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。 2、软件生存周期分哪几个阶段分别简述各个阶段的任务。 答:软件生存周期有计算机系统工程、需求分析、设计、编码、测试、运行和维护6个阶段。 A 计算机系统工程的任务是确定待开发软件的总体要求和范围,以及该软件与其他计算机 系统元素之间的关系,进行成本估算,做出进度安排,并进行可行性分析,即从经济、技术、法律等方面分析待开发的软件是否有可行的解决方案,并在若干个可行的解决方案中做出选择。 B 需求分析主要解决待开发软件要“做什么”的问题,确定软件的功能、性能、数据、界面 等要求,生成软件需求规约。 C 软件设计只要解决待开发软件“怎么做”的问题。软件设计通常可分为系统设计和详细设 计。系统设计的任务是设计软件系统的体系结构,包括软件系统的组成成分、各成分的功能和接口、成分间的连接和通信,同时设计全局数据结构。详细设计的任务是设计各个组成成分的实现细节,包括局部数据结构和算法等。 D 编码阶段的任务是用某种程序设计语言,将设计的结果转换为可执行的程序代码。 E测试阶段的任务是发现并纠正软件中的错误和缺陷。测试主要包括单元测试、集成测试、确认测试和系统测试。 F软件完成各种测试后就可交付使用,在软件运行期间,需对投入运行的软件进行维护,即可发现了软件中潜藏的错误或需要增加新的功能或使软件适应外界环境的变化等情况出现时,对软件进行修改。 3、简述各类软件过程模型的特点。 答:典型的软件过程模型有:瀑布模型、演化模型(增量模型、原型模型、螺旋模型)、喷泉模型、基于构件的开发模型和形式方法模型等。 A瀑布模型中,上一阶段的活动完成并经过评审后才能开始下一阶段的活动,其特征是: 接受上一阶段活动的结果作为本阶段活动的输入; 依据上一阶段活动的结果实施本阶段应完成的活动; 对本阶段的活动进行评审; 将本阶段活动的结果作为输出。 B 增量模型将软件的开发过程分成若干个日程时间交错的线性序列,每个线性序列产生软 件的一个可发布的增量版本,后一个版本是对前一个版本的修改和补充,重复增量发布的过程,直至产生最终的完善产品。 C 原型方法从软件工程师与客户的交流开始,其目的是定义软件的总体目标,标识需求。 然后快速制定原型开发的计划,确定原型的目标和范围,采用快速设计的方式对其建模,并构建模型。被开发的原型应交付给客户使用,并收集客户的反馈意见,这些反馈意见可在下

软件工程知识点

第一章软件工程概述 一、软件的定义和特性(P2—P3) 定义:软件=程序+数据+文档 程序:按照事先设计的功能和性能要求执行的指令或语句序列 数据:程序能正常操纵信息的数据结构 文档:描述程序操作和使用的文档 特性: (1)软件是一种逻辑实体,具有抽象性,不是一般的物理实体; (2)软件的成产与硬件存在某些相同点,但有根本上的不同,软件开发是人的智力的高度发挥,而不是传统意义上的制造,它更依赖于开发人员的素质,智力,人员和组合,合作和管理; (3)软件维护与硬件维修有着本质的差别,软件维护没有硬件维护那样有可替换的标准零件; (4)软件在运行和使用期间没有硬件那样的机械磨损,老化问题,但存在退化问题; (5)基于构件的开发方法由于其自身的特点越来越受到人们的重视,这些技术可以减少开发时间、提高质量,并提高复用水平。 * 掌握P4图1-2(b)软件失效率曲线 二、计算机软件的发展经历了几个阶段?各有何特征?(P1—P2) 共经历了四个阶段 特征:第一阶段——程序规模小且主要采用个体工作方式,开发的系统大多采用批处理技术 第二阶段——引入人机交互的概念,实时系统出现,产生了第一代数据库管理系统,程序编制采用了合作的工作方式,出现了早期的软件危机 第三阶段——分布式系统出现,嵌入式系统得到广泛应用,低成本硬件 第四阶段——强大的桌面系统和计算机网络迅速发展时期,面向对象技术得到广泛应用,人工智能技术和专家系统开始应用于软件。 三、什么是软件危机?其产生的原因是什么? 定义:软件危机是指由于落后的软件生产方式无法满足迅速增长的计算机软件应用需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。(P4) 原因:(P5) (1)用户对软件需求的描述不准确、不全面,甚至有错误,以及在开发过程中,不断提出或者修改需求; (2)用户和开发人员对软件需求的理解存在差异,导致所开发的软件产品和用户需求不一致; (3)大型软件项目需要组织一定的人力共同完成,各类人员的信息交流不及时、不准确,有时还可能产生误解,软件开发人员对大型软件缺少开发经验,管理人员缺少相应的管理经验; (4)软件开发人员不能有、独立自主的处理大型软件的全部关系和各个分支,因此容易产生疏漏和错误; (5)开发技术落后,缺乏有效的方法学和工具方面的支持,过分依赖程序设计人员在软件开发过程中的技巧和创造性,加剧软件产品的个性化 (6)软件产品的特殊性和人类智力的局限性,导致人们无法处理“复杂问题”,因为软件是逻辑产品,软件开发进展情况较难衡量、软件开发质量难以评价、管理和控制软件开发过程相当困难。 四、什么是软件工程?它的目标和内容是什么? 定义:将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中,并对方法的研究。(P6) 目标:在给定的成本和进度前提下,开发出具有可修改性、可理解性、可维护性、有效性、可靠性、可适用性、可重用性、可移植性、可跟踪性和互操作性并且满足用户需求的软件产品。(P7) 内容:主要内容包括软件开发技术和软件工程管理两方面。(P6) 要素:方法,工具,过程 五、什么是软件生存周期?它有哪几个活动? 定义:(software life cycle)把软件产品从形成概念开始,经过定义、开发、使用和维护直到最后退役的全过程。 活动:软件定义、软件开发、软件使用维护和退役(P9)

需求工程期末复习

第一章:需求工程导论 1.需求工程定义: 是所有需求处理活动的和,它收集信息、分析问题、整合观点、记录需求并验证其正确性,最终反映软件被应用后与其环境互动形成的期望效应。 2.需求工程的基本活动: 1)需求开发:需求获取,需求分析,需求规格说明,需求验证 2)需求管理 3.各个活动的目的: 1)需求获取的目的是从项目的战略规划开始建立最初的原始需求; 2)需求分析的目的是保证需求的完整性和一致性; 3)需求规格说明的目的是将完整、一致的需求与能够满足需求的软件行为以文档的方式明确地固定下来; 4)需求验证的首要目的是保证需求及其文档的正确性,即需求正确的反映了用户的真实意图;另一个目标是通过检查和修正,保证需求及其文档的完整性和一致性; 5)需求管理的主要工作是跟踪后继阶段中的需求实现与需求变更情况,确定需求得到了正确的理解并被正确的是想到了软件产品中。 4.软件需求规格说明定义: 软件需求开发用来确定系统需求中应该由软件满足的部分,将其映射为软件行为,产生软件需求规格说明。 第二章:需求基础 5.软件系统能够与问题域进行交互和相互影响的原因在于,软件系统中的某些部分对问题域中的某些部分具有模拟特性。 6.需求分类: 1)功能需求:业务需求,用户需求,系统需求 2)性能需求 3)质量属性 4)对外接口 5)约束 第三章:(不考) 第四章:需求获取概述 7.需求工程需要获取的内容主要有三种: 1)需求 2)问题域描述 3)环境与约束 8.需求获取信息的主要来源: 1)涉众 2)硬数据 3)相关产品 4)重要文档 5)相关技术标准和法规 9.获取信息的方法: 1)传统方法:问卷调查,面谈,文档分析,文档检查,需求剥离 2)集体获取方法:头脑风暴,专题讨论会,JAD,JRP 3)原型

山东大学-软件工程复习重点整理

第一章 1.1软件工程(SE)的定义、向、作用: SE:在将有关软件开发与应用的概念科学体系化的基础上,研究如有计划、有效率、经济的开发和利用能在就算机上正确运行的软件的理论和技术的工程法学,一些开发和维护软件的法、过程、原则。是一个系统工程,既有对技术问题的分析与综合,也有对开发过程和参与者的管理。 SE的向:面向对象模式,结构化模式,基于过程的模式等 SE的作用:付出较低的开发成本,达到要求的软件功能,取得较好的软件性能,开发的软件易于移植,需要较低的维护费用,能按时完成开发工作,及时交付使用。 1.2开发模式:软件开发的全部过程,活动和任务的结构框架,它能直观的表达的表达软件开发全过程,明确要完成的主要活动,任务和开发策略。 1.3说明错误、故障和失效的含义及联系(并举例): 错误:是在软件生产过程中人为产生的错误(需求说明中的错误,代码中的错误) 故障:是在功能实现过程中产生的问题;是错误导致的结果,是在软件中一个错误的表现(一个错误可能产生多个缺陷,静态存在的) 失效:是相对于系统指定行为的偏离,系统违背了它应有的行为(动态存在的) 联系:当一个开发者编写程序时,会在代码中出现错误。当这个程序被编译或集成到一个系统中时,系统就存在故障。当你运行这个系统时,可能会导致失效,即人们产生错误,故障是错误的结果(部观角:从开发者的角度看待问题),当故障执行时出现失效(外部视角:从用户角度看到的问题)。并不是所有的错误会导致故障,并非每个缺陷都对应相应的失败。1.4软件质量应从哪几个面衡量,论述之: (1产品的质量)(2过程的质量)(3商业环境背景下的质量) (1)产品的质量:用户从失败的数目和类型等外部特征进行评价,如果软件具有足够的功能并且易于学习和使用,用户就断定软件是高质量的;开发者从缺陷的数目和类型等部特征来作为产品质量的依据。 (2)过程的质量:有很多过程都会影响到最终的产品质量,只要有活动出了差错,产品的质量就会受到影响;开发和维护过程的质量与产品的质量是同等重要的。 (3)商业环境背景下的软件质量:将技术价值和商业价值统一起来。 1.5软件系统的系统组成(系统的要素有哪些):对象(实体)+ 活动+ 关系+ 系统边界活动:活动是发生在系统中的某些事情,通常描述为由某个触发器引发的事件,活动通过改变属性把一个事物变成另一个事物。 对象:活动中涉及的元素称为对象。 关系:是指活动与对象之间的关系。 系统边界:即系统包含的功能与系统不包含的功能之间的界限。 1.6现代软件工程大致包含几个阶段及各个阶段的文档: (1)需求分析:主要包括问题定义、可行性分析、需求分析《需求规格说明书》

软件工程导论第五版复习重点(必考题)

(最后部分为每年必考题) 第一章 1. .软件工程的定义:软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。它借鉴传统工程的原则、方法,以提高质量,降低成本为目的. 2. 软件危机的概念:软件危机是指计算机软件的开发和维护过程中所遇到的一系列严重的问题。 3. 产生软件危机的原因:(1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。 (2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。(3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。 4. 面向对象方法学的四个要点:1.把对象作为融合了数据及在数据上的操作行为的统一的软件构件 2.把所有对象都划分成类3.按照父类(或称为基类)与子类(或称为派生类)的关系,把若干个相关类组成一个层次结构的系统(也称为类等级)。4.对象彼此间仅能通过发送消息互相联系。 5. 软件生命周期:软件定义(问题定义,可行性研究,需求分析)、软件开发(总体设计,详细设计,编码,单元测试,总体测试)、运行维护(持久地满足用户的需要) 6. 瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型,概念.方法.优缺点.区别。 7. 微软过程把软件生命周期划分为成5个阶段:规划阶段,设计阶段,开发阶段,稳定阶段,发布阶段。 第二章 1.可行性包括:技术可行性,经济可行性,操作可行性。 2. 系统流程图是概括地描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形势描绘组成系统的每个部件(程序,文档,数据库,人工过程等)。系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据加工处理的控制过程,因此尽管系统流程图的某些符号和程序流程图的符号形式相同,但是它却是物理数据流图而不是程序流程图。4. 书库流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理部件,它只描绘数据在软件中流动和被处理的逻辑过程。数据流图是系统逻辑功能的图形表示。 5. 用系统流程图描绘一个系统时,系统的功能和实现每个功能的具体方案是混在一起的。有数据元素组成的数据的方式只有下述3种基本类型:顺序(即以确定次序连接两个或多个分量)。选择即从两个或多个可能的元素中选取一个重复即把指定的分量重复零次或多次

软件工程课程设计要求

软件工程课程设计要求 1.软件工程课程设计简介 软件工程课程设计为软件工程课程的必修实践环节,目的是使学生巩固课堂所学的理论知识并加深理解,增强感性认识,培养观察、分析和解决问题的能力,初步建立正确的软件工程概念。通过本课程,使得学生初步能够将掌握软件工程中的理论知识应用于软件项目开发过程中具体的问题。通过实习能够提高学生的动手能力,团队协作能力以及项目管理能力。 2.课程设计的基本要求 学生选择附录2中任意一个项目,按照软件工程中的开发方法和项目管理方法来进行软件项目开发,按期分阶段的完成老师布置的各个阶段的项目文档。 在课程设计过程中,要求学生通过查阅资料来了解所开发项目的背景知识,选择适当的软件开发方法来进行系统建模,然后选择适当的平台进行系统开发。 3.实习内容以及时间分配 具体实习的内容见下面的附件,时间分配如下: 查阅资料,完成系统需求分析,确定系统开发平台,撰写需求分析说明书(10学时) 完成系统概要设计,撰写系统概述设计说明书(10学时) 完成系统详细设计,撰写系统详细设计说明书(10学时) 系统编码实现(20学时) 软件测试,撰写软件测试说明书(10学时) 准备材料完成项目答辩。(4学时) 4.考核方式以及成绩评定 考核方式分为以下两个部分:系统文档(50%),最终系统的实现及源代码(50%)。系统文档为软件实习中各个阶段产生的软件工程文档,每个文档将从文档的格式、语言

表述能力、系统分析能力和各种CASE工具运用能力方面来进行考核。系统实现及源代码包括系统最后可运行的程序,实现的源代码以及最后的项目完成情况。 5.推荐教材与主要参考书 陈明,软件工程,清华大学出版社 附录1.软件工程课程设计题目简介 网上在线销售系统 要求实现一个简单的网上销售系统,在此系统下能够为各个商户分配资源空间,各个商户能够对自己的资源空间进行管理(包括添加货物,删除货物,更新信息等)并能够统计目前物品的销售情况和当前遇到情况。当消费者浏览商户的主页时,能够对指定的商品进行订货。系统管理员能够对不法商品和信息进行管理,能够对商户的销售情况进行统计分析,能够删除分配给商户的资源空间…,系统能够按照商品销售热度,将较为热门的商品及商户信息自动发布到系统主页上,系统管理员也能手工地对主页信息进行管理。 BLOG系统 要求实现一个简单的但功能完善的网上Blog系统,用户通过网上注册能够获得自己的BLOG空间,能够在其空间里面进行日记的发布、修改和删除,能够按照一定的模板对自己空间的主页进行修改,用户能够向自己的空间内上传一些资源。日志的浏览用户能够对日志发表看法或评论,日志作者能够对这些评论进行回复。系统能够自动监控系统中不法信息的发布,将信息提交给管理员进行审核,系统管理员能够搜索系统中所有的信息内容,并能够对这些内容进行管理。系统能够根据用户日志空间的访问量,已经日志的访问数量,将最热的日志和日志空间发布到BLOG系统的主页上…。 RSS信息聚合系统 要求实现一个离线的RSS信息阅读器,能够对指定网站上的RSS信息进行订阅和管理,当RSS信息更新后,通过此工具能够将更新的内容反映到界面上,能够让用户方便地浏览当前的RSS内容,当用户点击相应的RSS内容链接后,能够通过浏览器将此RSS新闻的详细内容打开,供用户浏览。同时用户也能够取消对指定网站的RSS信息的

软件需求工程选择题

选择题 1.软件生命周期包括哪些阶段A A. 需求、设计、编码、单元测试、接收测试和维护阶段。 B. 设计、编码、单元测试、接收测试和维护阶段。 C. 需求、设计、编码、单元测试和接收测试阶段。 D. 需求、设计和编码阶段。 2. 好的软件需求具有哪些特性A A. 一致性和全面性。 B. 易读性和充分性。 C.充分性。 D.易读性。 3.RUP的十大要素是:开发一个前景、达成计划、标识和减小风险、分配和跟踪任务、检 查商业理由、设计组件构架、对产品进行增量式的构建和测试、验证和评价结果、_________和_________。A A. 管理和控制变化及提供用户支持。 B. 迭代的开发和提供用户支持。 C. 迭代的开发和管理和控制变化。 D. 建立模版和迭代的开发。 4.下列哪个不是RUP的核心工作流C A. 业务建模 B. 分析和设计 C. 用户需求了解。 D. 需求 5.RAD的缺点不包括___D______。 A. 如果用户不能持续地参与整个生命周期中,最终产品会受到负面影响。 B. 要求系统能适当模块化,如果没有可重用的组件,它的效率就会下降。 C. 盲目应用时,会缺乏成本概念和项目完成的时间限制。项目有永远不能完结的风险。 D. 工作重点从文档转为构建,所见即所得。 6.螺旋模型的优点不包括____C______。 A. 能够及时找到项目存在的风险,避免因为克服不了的困难而造成大的损失。 B. 使用户能够尽早将信息经常反馈给开发人员,保证了产品的正确性和高质量。 C. 大量的中间阶段会产生额外的内外部文档。 D. 可以方便地评估和验证每次迭代的成果;实现从开发到维护的无缝连接。 7.迭代方法中的常见问题不包括___B________。 A. 过分详细的规划 B. 项目收敛 C. 回避棘手问题 D. 不同的小组按自己的进度进行工作 8.用户故事的书写遵循一定的原则,其中不包括___C_____。 A. 作为(系统的一个涉众) B. 我想要(做一件事) C. 是什么(用户的需求是什么) D. 从而(达到一个商业价值)

软件需求分析复习要点

Software Engineering ? A discipline for the systematic production and maintenance of software developed by a team, which is ?fault-free, ?delivered on time, ?within budget, and ?satisfies the user’s needs ?GOAL: to produce a good quality software that is useful for people Properties of High quality software Defect free Meet user’s needs In time Within budget ?Communication: ?Project initiation, Requirements gathering ?Planning ?Estimating, Scheduling, Tracking ?Modeling ?Analysis & Specification ?Design ?Construction ?Code, testing ?Deployment ?Delivery, support, maintenance ?Requirements ?Definition 需求明确地规定解决用户问题的方法 ?Their Importance The set of requirements constitute a contract between the client and the software developer It should be written such that all stakeholders can understand what the system will do. It allows developer to map problem domain concepts to solution domain concepts

软件需求期末考试资料整理

软件需求工程期末考试复习资料 第一讲 1.什么是需求分层?为什么要进行需求分层?【P6~P9】 一些基本术语和概念,需求,软件需求工程,需求分析 (1)软件需求包括三个不同的层次—业务需求、用户需求和功能需求,除此之外,每个系统还有各种非功能需求。 业务需求( business requirement)反映了组织机构或客户对系统、产品高层次的目标要求,它们在前景和范围文档中予以说明。 用户需求(user requirement) 文档描述了用户使用产品必须要完成的任务,这在使用实例(use case)文档或方案脚本(scenario)说明中予以说明。 功能需求(functional requirement)定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。 所谓特性(feature)是指逻辑上相关的功能需求的集合,给用户提供处理能力并满足业务需求。 (2)需求具有多个视图,从不同的角度定义不同项目涉众所关注的相同问题。软件需求的层次划分可以满足需求的多视图需要。 具体而言,管理人员或市场营销人员负责定义软件的业务需求,以提高公司的运营效率(对信息系统而言)或产品的市场竞争力(对商业软件而言)。 所有的用户需求都必须符合业务需求,需求分析员从用户需求中推导出产品应具备哪些对用户有帮助的功能。 开发人员则根据功能需求和非功能需求设计解决方案,在约束条件的限制范围内实现必需的功能,并达到规定的质量和性能指标。 2.需求开发和需求管理是按照什么来划分的?它们各自包含哪些活动?【P9~P10】 按照需求基线来划分的,即:按照某一时刻,对特定版本中已达成一致的需求内容为界限。 它们各自包含的活动有:【参见课本】 3.好的需求是什么样的?【P15~P16】 单条需求(即需求声明)的特点:【P15】 SRS作为整体应具备的特点:【P16】 4.如何去理解需求签约以及如何认识?【P25】 客户和开发人员之间合作伙伴关系的核心是就产品的需求达成一致,很多组织把在需求文档上签字作为客户认可需求的标志。 “签字”的核心在于建立需求协议的基线,即某一时刻需求的瞬态图。在需求规格说明书上签字表示,同意这份文档所描述的系统能够满足客户的需求,进一步的变更将在此基础上,依照项目定义的变更过程进行。 在实务操作中,“签字”常出现如下问题:一是客户代表把在需求文档上签字当做毫无意义的仪式;二是开发经理把签字当做冻结需求的方法。这些都是需要规避的,即不能把“签字”当做武器,而应该将之视为项目的一个里程碑,对于签字之前应进行哪些活动,以及签字对将来变更的影响,各方应形成明确一致的理解。

软件工程期末考试复习题及答案

(4分) 变换型结构的数据流呈() A. 线性形状 B. 辐射状 C. 椭圆形 D. 阶梯形 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 A .解析..2. (4分) 可行性研究阶段使用的图形工具是() A. DFD图 B. N-S图 C. PAD图 D. Warnier图 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 A .解析..3. (4分) 软件的开发模式有() A. 面向过程模式、面向对象模式、混合模式 B. 变换模式、渐增模式、瀑布模式 C. 自顶向下模式、自底向上模式、关系模式 D. 分步模式、渐增模式、非渐增模式 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 B .解析..4. (4分) 模块的初始化工作和模块处理意外故障均属于() A. 时间内聚 B. 顺序内聚 C. 功能内聚 D. 逻辑内聚 得分: 0 知识点: 软件工程作业题,软件工程展开解析 .答案 A .解析..5. (4分) HIPO的含义是()

A. 层次、输入、处理、输出 B. 高速、信息、程序、目标 C. 顶层的IPO图 D. 关于输入、处理、输出的层次 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 A .解析..6. (4分) 数据字典和数据流图共同构成系统的() A. 物理模型 B. 结构模型 C. 设计说明书 D. 逻辑模型 得分: 0 知识点: 软件工程作业题,软件工程展开解析 .答案D .解析..7. (4分) 好的软件结构它的外观形状一般呈() A. 线性 B. 扇形 C. 椭圆形 D. 层次型 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 C .解析..8. (4分) CMU/SEI推出的()将软件组织的过程能力分为五个成熟度级别,每一个级别定义了一组过程能力目标,并描述了要达到这些目标应该具备的实践活动。 A. CMM B. PSP C. ISO-9000 D. RUP 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 A .解析..9. (4分) 若要保证开发出来的软件局部优化,而且能尽早发现设计上的错误,应采用()

相关文档
最新文档