简答题:
软件工程得内容与方法
1. 开发文档都有哪些?用图来表示她们之间得关系。
开发文档包括目标程序、源程序、详细设计说明书、概要设计说明书、需求规格说明书、用户需求报告、软件合同,它们之间得关系如图所示。
目标程序 源程序 详细设计说明书 概要设计说明书 需求规格说明书 用户需求报告 软件合同 2. 说明软件工程研究得内容。 软件工程研究得内容包括软件开发方法、软件开发模型、软件支持过程与软件管理过程。 其中软件开发方法得内容又含盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护、版本升级。
常用得软件开发模型有瀑布模型、迭代模型、增量模型与原型模型。 软件支持过程由所支持得CASE工具组成,常用得CASE工具有PowerDesigner与RationalRose。
软件管理过程主要有CMMI、ISO9000、微软企业文化与敏捷文化现象。 3. 请详细解释软件得定义与程序得定义。
软件得定义:软件=程序+数据+文档。这里得程序就是指程序系统。这里得数据不仅包括初始化数据、测试数据,而且包括研发数据、运行数据、维护数据,也包括软件企业积累得项目工程数据与项目管理数据中得大量决策原始记录数据。这里得文档指得就是软件开发过程中得分析、设计、实现、测试、维护文档、管理文档。
现在有一种新提法正在引起关注,这种提法就是:软件=知识+程序+数据+文档。 程序就是计算机为完成特定任务而执行得指令得有序集合。从应用得角度可理解为: 面向过程得程序=算法+数据结构 面向对象得程序=对象+信息 面向构件得程序=构件+构架
4. 就是否存在这样一种现象:搞系统软件得公司不需要采用CMMI与ISO9000模式?
CMMI与ISO模式只适用于搞应用软件得企业?如果就是,为什么?如果不就是,又就是为什么?
不就是。因为CMMI与ISO9000模式规定了严格得管理制度、文档与评估软件能力与成熟度等级得一套标准,它们几乎包括了所有得IT得企业,只就是一些优秀得企业自己内部形成特有得企业管理文化,但就是它们并不排斥CMMI与ISO9000模式,甚至还充分肯定CMMI与ISO9000体系。
5. 根据学过得数据库编程经验,举出一个用创建视图得方法进行数据处理得例子。
create view j1_spj as
select sno,sname,ssex from student where sno = ‘s1’(条件语句)
视图(j1_spj)得创建就是依据基本表(student)进行查询 。当基本表得记录符合条件
语句where sno = ‘s1’规定得条件时,就能查询出基本表中符合条件记录得学号 、姓名、性别得值。
软件生存周期及开发模型
6. 简述瀑布模型、增量模型、迭代模型、原型模型得优点与缺点。 答案如表: 序号 1 2 3 4 模型名称 瀑布模型 增量模型 迭代模型 原型模型 优点 简单好学 可以分阶段提交 开发速度快 缺点 逆转性差 有时用户不同意 不利于创新 克服瀑布模型得缺点 对开发人员要求高 7. 软件公司得ISO9000或CMMI管理体系与软件开发模型有关吗?为什么?
无关。因为ISO9000或CMMI管理体系就是一种过程与质量管理模型,它就是适应于任何软件开发模型得,或者说它与任何开发模型无关。开发模型本身只就是规定了软件生存周期中得若干步骤或阶段,便于开发人员去开发与维护,它并没有规定管理人员得过程管理方法与任务。为此,ISO9000或CMMI管理体系规定采取阶段评审与不符合项得动态跟踪制度,只有前一阶段得不符合项全部改正后,才允许开发人员进入后一阶段得工作。
所谓不符合项,就就是在评审中发现得问题项,它与BUG既有联系,又有区别。对于这些不符合项,软件管理部门要列出表格,记录在案,确定负责人,限定改正时间,动态跟踪到底。
8. 对生存周期模型裁减指南有什么瞧法?
“生存周期模型裁减指南”就是IT企业或软件组织内部根据软件开发模型得普遍原则,结合本单位得开发经验与行业特点得具体实际定制出来得。它有针对性地对选定得软件开发模型中定义得生存周期,进行恰当地裁减。所谓裁减,就就是队员模型中定义得内容进行增、改、删,去掉对本单位或者本项目不适合得部分,增加对本单元或者本项目适用得内容,同时进一步细化。这样可以缩短开发时间,减少开发成本,具有非常现实得意义。 软件立项与合同
9. 什么叫风险分析?技能风险与技术风险有何区别?
这里得风险分析就是指软件立项过程中对产品开发、销售等可能出现得风险进行分析。分析方法就是将一个大风险化解为多个小风险,然后再一个个克服小风险。
技术风险就是指采用新技术得风险程度。技能风险就是指项目组成员掌握新技术得风险程度。两者得区别在于一个就是说新技术(如新得开发工具,新得设计思想)本身得风险,一个就是说人员要掌握这种新技术得风险。 10. 行业领域业务专家与产品经理有何异同?
行业领域业务专家就是精通某行业领域业务得人,在讲标时能把投标书得内容准确、生动地表述出来,使客户心服口服。而产品经理就是某产品需求分析与概要设计得经理或专家,主要负责产品得立项、需求、设计与销售等业务。两者得相同点就是:必须精通该产品得功能、性能与接口。不同点就是:前者突出熟悉产品得应用业务领域,后者突出熟悉产品得需求与设计。 软件需求
11. 需求分析得目得就是什么?需求分析得难点在哪里?
软件需求分析,其目得就是用于说明软件产品或软件项目需要满足得条件与限制。在软件工程项目中首先要获取用户得需求,通过对软件需要得提取、分析、文档化及验证,为进一步得设计与实现提供依据。
需求分析得难点就是:在系统得功能、性能与接口方面,开发者与客户达成完全一致得
需求,让客户最终签字确认,并保证在项目验收前,需求相对稳定不变。万一需求有一点变化,双方必须履行“需求变更管理程序”,而变更管理程序在签订合同时已经做了规定。要知道,合同就是具有法律效力得。
12. 为什么说需求分析就是面向流程得?
系统得功能、性能、接口、界面都就是在流程中动态实时得反映出来。在所有得流程(物流、人流、资金流、信息流、单据流、报表流、数据流)中,数据流最重要,也最具有代表性。因为在计算机网络系统内,一切流程都表现为数据流,或者说就是数据流在不同方向得投影。而流程就是动态得、实时得。所以说,需求分析就是面向流程得。 13. 需求分析得基本思路就是什么?
需求分析得思路,就是从客户得功能需求(系统需要做什么)出发,由系统得业务流程与数据流程导出系统得业务模型与功能模型,识别出系统得元数据与中间数据,为今后设计数据模型做好充分准备。同时,对系统得软、硬件环境配置,开发工具,开发周期,费用,开发进度,培训,系统风险进行评估。
14. 业界存在哪三种需求分析方法?您认为哪一种更好?
业界存在三种需求分析方法:面向功能分析、面向对象分析、面向数据分析。
以上这三种方法,各自适用于不同得目标系统。目前时尚得方法就是面向对象分析,包括面向主体与面向方法。总得来说,对于系统软件与应用软件来说,面向功能需求分析得方法简单明了,而面向对象得需求分析方法则复杂抽象。对于以关系数据库为平台得信息系统软件来说,面向数据需求分析方法得特点就是抓住了本质。但就是,这三种分析方法都离不开面向流程分析这根总线:功能、对象、数据都就是在流程中产生得,又都就是为流程服务得。
15. 需求管理过程得目标与内容就是什么?
需求管理得目标,就是保证软件项目或产品满足客户在软件功能、性能、接口三个方面得需求。
需求管理过程得内容,主要包括需求确认、需求评审、需求追踪与需求变更活动管理。 16. 为什么需求文档要进行同行评审?
同行评审,就是软件工作产品验证得活动,其目得就是为了及早与高效地从软件工作产品中识别并消除缺陷。重点在于发现软件工作产品中得缺陷。另外,由于进行同行评审,使大量人员对软件系统中原本不熟悉得部分更加了解,因此同行评审还提高了项目得连续性,培训了后备人员。
17. 怎么理解不符合项?为什么要对它进行跟踪管理?
不符合项就是指没有满足要求得项,不一定就是错误,跟bug就是不同得。
跟踪得意思在于,获得需求目前得实现状态,确保用户所有得需求都得到满足。可靠得跟踪信息可为需求变更、系统维护、关键成员离开、系统再设计与类似系统设计等很多方面,提供参考与指导,并可以减少风险与提高项目成功率。 18. 需求描述有哪几种工具?您喜欢哪一种?为什么?
需求描述工具包括数据流图、业务流程图、用况图、时序图、用户交互图、数据模型图与功能需求列表、性能需求列表、接口需求列表、界面需求列表等。
选择哪一种描述工具,主要取决于问题域得本质特征。不同得软件,对分析要求得严格程度不同。
我喜欢业务流程图,它包括了物流、资金流、信息流,即业务操作模型,重点就是业务操作得流水步骤。业务模型表示了与系统有关得人、设备、其她子系统之间得业务关系与费用关系,它就是经过业务流程重组、再创与优化后,并且得到企业领导确认得业务流程图。绘制这个图得工具可以就是Office办公软件。
软件策划
19. 简述软件策划得步骤。 软件策划共分4个步骤,如表: 步骤 1 步骤名称 评估软件工作产品得规模、工作量、费用及所需要得资源 制定时间表 鉴别与评估风险 与相关得组或人协商策划中得有关约定 步骤内容 软件工作产品,包括需求规格说明书、概要设计说明书、详细设计说明书、源代码、测试计划与测试报告、质量保证计划、软件配置管理计划、里程碑及评审计划。每个工作产品所需得工作量(人年)、费用及其所需得其她资源,都要量化 包括开发进度时间表与日历进度时间表:软件开发计划、质量保证计划、软件配置管理计划、测试计划、评审计划 政策风险、资源风险、市场突变风险、技术风险与技能风险 策划得结果要实事求就是,要得到各有关方面得同意与认可 2 3 4 20. 软件策划要实现得具体目标就是什么?
软件策划就是项目跟踪与监控得基础,就是项目经理与高层经理管理项目得依据。软件策划要实现得具体目标有三个。
1. 对供项目测试与跟踪用得三个软件估计已建立文档。这三个评估就是:
? 工作产品规模估计 ? 工作量及成本估计 ? 计算机资源估计
2. 软件项目活动与约定就是有计划得,并已建立文档。这里得活动,包括开发活动与
管理活动。这里得约定,就是指对项目得各种标准、规范、规程得约束。 3. 受影响得组与个人,同意她们对软件项目得约定。受影响得组与个人有:
? 软件工程组(项目组) ? 软件估计组 ? 系统测试组 ? 质量保证组 ? 配置管理组 ? 合同管理组 ? 文档支持组
其中有得组可能只有一个人
21. 定义软件过程得含义就是什么?
所谓定义软件过程,就就是根据选定得生存周期模型,规定软件得开发阶段,及每一阶段得工作步骤与文档标准等内容。 22. 项目跟踪与监督得基础就是什么?
在项目策划阶段,要为开发计划制定严格得评审流程。开发计划在经过组织批准生效后,将成为进行项目跟踪与监督得基础。 23. 软件开发计划书应该包括哪些内容?
《软件开发计划书》就是软件策划得输出文档,它包括如下10各方面得内容: 1. 软件项目组得目得、范围、目标与对象。 2. 软件生存周期得选择与裁减。
3. 确定软件开发与维护得规范、方法与标准。 4. 软件工作产品得确定。
5. 对工作产品规模得估计。 6. 对工作量与成本得估计。
7. 关键计算机资源得估计与使用情况。 8. 项目得进度、里程碑与评审计划。 9. 风险得识别与评估。 10. 项目工程设计与工具得计划。 24. 怎样理解软件中得度量,它有何作用?
软件中得度量,就是指对大量测量数据得统计分析。度量就是按规定在项目进行过程中,需要采集得度量数据,以便量化地反映项目得进展情况,为管理者提供对项目进展得适当得可视性,同时度量数据就是项目过程改善得基础数据,它们存放在测量数据库中。 软件设计
25. 软件设计得输入/输出就是什么?
对于签订合同得项目,软件设计得输入就是《用户需求报告》/《需求规格说明书》,输出就是《概要设计说明书》与《详细设计说明书》。
对于立项得项目,软件设计得输入就是《需求规格说明书》,输出就是《概要设计说明书》与《详细设计说明书》。
26. 概要设计说明书与详细设计说明书有与区别?
《概要设计说明书》,一就是要覆盖《需求规格说明书》得全部内容,二就是要作为指导详细设计得依据。它注重框架上得设计,它就是软件系统得总体结构设计、全局数据库(包括数据结构)设计、外部接口设计、功能部件分配设计、部件之间得内部接口设计,它要覆盖需求规格说明书中得功能点列表、性能点列表,接口列表。
《详细设计说明书》,一就是要覆盖概要设计说明书得全部内容,二就是要作为指导程序设计得依据,它注重微观上与框架内得设计,它就是各子系统得公用部件实现设计、专用部件实现设计、存储过程实现设计、触发器实现设计、外部接口实现设计、部门角色授权设计与其她详细设计等。
两者得设计者不同,在一般情况下,《概要设计说明书》就是由系统设计师负责,《详细设计说明书》则就是由高级程序员负责。 软件建模
27. 请简述UML得宏观建模思想与微观思想。
UML得宏观建模思想就是:以“9个模型”与“5张视图”为纲,以“9种图”为目,建立系统得UML模型。
“9个模型”包括:业务模型、领域模型、用例模型、分析模型、设计模型、过程模型、部署模型、实现模型与测试模型。
“9种图”包括:类图、对象图、用例图、顺序图、协作图、状态图、活动图、构件图、实施图。
“5张视图”包括:用例视图、设计视图、进程视图、实现视图、实施视图。
UML得微观建模思想就是:基本结构模型、高级结构模型、基本行为模型、高级行为模型、体系结构模型(5各方面,66个微观建模)。
基本结构模型包括:对类建模,对关系建模,对公共机制建模,对图建模,对类图建模。 高级结构模型包括:对类得语义建模,对关系网络建模,对接口、类型与角色建模,成组得元素建模,对体系结构视图建模,对具体实例、原型实例建模,对对象结构建模。
基本行为建模包括:对交互建模、对用例建模、对用例图建模、对交互图建模、对活动图建模。
高级行为模型包括:对信号族建模、对异常情况建模、对状态建模、对进程与线程建模、