期末总复习题(软件工程).docx

上传人:小飞机 文档编号:1669580 上传时间:2022-12-13 格式:DOCX 页数:22 大小:397.44KB
返回 下载 相关 举报
期末总复习题(软件工程).docx_第1页
第1页 / 共22页
期末总复习题(软件工程).docx_第2页
第2页 / 共22页
期末总复习题(软件工程).docx_第3页
第3页 / 共22页
期末总复习题(软件工程).docx_第4页
第4页 / 共22页
期末总复习题(软件工程).docx_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《期末总复习题(软件工程).docx》由会员分享,可在线阅读,更多相关《期末总复习题(软件工程).docx(22页珍藏版)》请在三一办公上搜索。

1、期末总复习题 2009-06-10【一】判断题(在括号中回答Y或N)1. 软件工程的作用,主要是告诉你怎么写文档。( N )2. 参加ACM程序设计比赛时,选手“只写代码行不写注解行”这一事实,确实说明了注解行不重要,在源程序中可有可无。( N )3. 在软件项目开发的后期,为了加快开发进度,可以多增加几个开发人员。(N)4. 在软件项目开发的早期,为了加快开发进度,可以多增加几个开发人员。(Y)5规范化的概要设计文档比需求分析文档更重要,因为有了概要设计文档就可以进行详细设计。( N )6. 规范的详细设计文档比源程序更重要,因为有了文档就可以写出源程序。(Y)7. 模块间的耦合越强,则表明

2、模块里面的内聚性越强。(N)8. 模块的内聚越强,则表明模块之间的耦合越弱。(Y)9. CMM是CMMI的祖先,CMMI是CMM的后续。(Y)10. ISO9000是ISO9001的祖先,ISO9001是ISO9000的后续。(Y)11. 软件配置管理就等于软件版本管理。(N)12. 软件版本管理是软件配置管理的研究课题。(Y)13. 敏捷开发模型就等于结对编程。(N)14. 敏捷开发模型就是快速原型法。(N)15. 面向元数据的开发方法就是传统意义下的Jackson方法。(N)16. 面向过程的开发方法就是结构化方法。(Y)17. 数据流图DFD就等于PAD图。(N)18. 数据流图DFD就

3、等于程序设计流程图。(N)19. “接口和实现分离”是软件设计原理之一。(Y)20. “单入口和单出口”是程序设计原则之一。(Y)21. 程序测试不仅能证明错误的存在,也能证明错误的不存在。(N)22. 编译系统不认识、也不编译源程序中的注解行这一事实,确实说明了注解行不重要,在源程序中可有可无。(N)23. 若两个实体之间存在多对多的关系,则应该将第三个实体插入其中,使原来的一个多对多关系变为现在的两个一对多关系,这里的第三个实体,实际上是一个复杂的关系,也是笛卡尔积的子集。(Y)24. 质量来源于过程,过程需要改进,改进是无止境的,这就是CMMI精神。(Y)25. 测试只能发现程序中的错误

4、,不能发现文档中的问题。(N)26. 敏捷模型是轻载模型,CMMI模型是重载模型。(Y)27. 高内聚低耦合是软件设计原理或原则之一。(Y)28软件测试的目的是改正软件中的错误。(N) 应该是发现软件中的错误29同行评审会议中的同行专家,一般都是从公司外面聘请的。(N)30软件策划应该在需求分析之前。(N)31需求分析就是分析元数据与中间数据的关系。 (N) 太片面32信息系统需求分析主要是分析元数据与中间数据的关系。 (Y)33项目经理的主要职责就是进行数据库设计。 (N) 34编码阶段结束后,测试经理就应该立即着手编写测试计划。(N)35软件设计就是数据库设计。 (N)40软件实现就是编程

5、序。 (N) 41软件实现主要是编程序。 (Y)42. CMMI就是解决项目管理的工作规范化问题。(N)43. 制定软件测试计划,一项重要工作是要将用户需求分解为测试需求,然后再将测试需求转化为测试用例。(Y)44. 软件测试与软件调试是一回事。(N)45渐增式测试是逐个把未经过测试的模块组装到已经过测试的模块上去,进行集成测试。每加入一个新模块进行一次集成测试,重复此过程直至程序组装完毕。(Y)45面向对象设计是运用类的思想,把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程。或者说,面向对象设计就是用面向对象观点建立求解域模型的过程。(Y) 46结构化设计(SD)是面

6、向数据流的设计,它是以需求分析阶段产生的数据流图DFD为基础,按一定的步骤映射成为系统的软件结构。(Y)47信息隐蔽是指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其它模块来说,是不能访问的。(Y)48抽象是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同的特征而暂不考虑它的细节,不考虑其它非本质的因素。(Y)49路径覆盖是指设计足够的测试用例,覆盖被测程序中所有可能的路径。(Y)50判定/条件覆盖是指设计足够的测试用例,使得判定表达式中的每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次。(Y)51条件组合覆盖是指设计

7、足够的测试用例,使的每个判定表达式中条件的各种可能的值的组合都至多出现一次,条件组合覆盖是比较强的覆盖标准。(Y)52条件覆盖是指设计足够的测试用例,使得判定表达式中每个条件的各种可能的值至多出现一次。满足条件覆盖并不一定满足判定覆盖。(Y)53软件工程是为了克服软件危机。(Y)54软件工程是完全克服了软件危机。(N) 太绝对【二】名词解释1元数据元数据是关于数据的数据,组织数据的数据。如数据库概念设计中的实体名和属性名,数据库物理设计中的表名和字段名等都是元数据。2. 软件工作产品(注:软件工作产品和15.软件产品的异同软件产品是最后一个阶段的软件工作产品。)软件工作产品是指开发过程中每个阶

8、段的文档、数据和程序,即每个开发阶段的输出制品。3评审与审计评审是对软件工作产品而言的,它针对软件工作产品的开会(评审)或汇签(评审)活动,是一次集体行为。审计是复查软件活动的程序是否遵守规则,是否合法。它本身是审计员的一次个人行为。4. 不符合项不符合项是指没有满足要求的项。5. 黑盒测试黑盒测试又称功能测试。在这里,盒子指的是被测试的软件,“黑盒”就是只知道被测试软件的外部情况,主要是界面和接口,被测试软件的内部逻辑结构和数据结构,对测试人员来说是不可见的,主要关注被测试软件的功能实现。6. 白盒测试白盒测试就是对程序执行路径的测试,又叫做玻璃盒测试(Glass Box Testing)、

9、透明盒测试(Clear Box Testing)、结构化测试(Structured Testing)、开放盒测试(Open Box Testing)、基于代码的测试(Code-Based Testing)等等。7. 项目 P.326项目是一次性的多任务工作,它具有确定的开始日期、结束日期、工作范围、经费预算、质量标准,以及特定的功能、性能和接口要求。8. 项目管理 P.326项目管理是为了实现项目目标,运用相关的知识、技能、方法与工具,对项目的计划、进度、质量、成本、资源进行管理和控制的活动。或 ( 项目管理是指“在软件项目管理活动中,运用专门的知识、技能、工具和方法,使项目能够如期或提前实现

10、。” )9. 客户化客户化是指按照客户的实际情况,对软件产品的功能、性能、接口做适当的改动。10. 初始化初始化是指按照客户的实际情况,对软件产品的代码表(又称数据字典)进行初始化,即将客户的各种信息编码录入到相应的代码表中。11.CMM与CMMICMM是指“能力成熟度模型”,是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。(即评估软件能力与成熟度等级的一套标准)CMMI 的全称为:Capability Maturity Model Integration,即能力成熟度模型集成。CMMI是CMM模型的最新版本。(CMMI是CMM的继承与发展,CMM只适用于软件

11、企业,CMMI适合于所有的IT企业)12. KPA与PA关键过程域(KPA,Key Process Area ),它指出了企业需要集中力量改进的软件过程。同时,也指明了为了要达到该能力成熟度等级所需要解决的具体问题。项目管理员(PA,Project Administrator)。13. 敏捷模型或敏捷方法敏捷方法是在保证软件开发有成功产出的前提下,尽量减少开发过程中的活动和制品的方法。其特点是对软件生产率的高度重视,主要适用于需求模糊或快速变化下的、小型项目组的开发。14软件软件的定义:软件 = 程序 + 数据 + 文档。现在有一种新提法正在引起关注,这种提法是:软件 = 知识 + 程序 +

12、数据 + 文档。15. 软件产品软件产品是指不局限于特定业务领域、能被广大用户直接使用的软件系统(或 软件产品是指软件开发与测试工作已经完工、并且可投入市场销售的软件产品),如操作系统、编译系统、工具系统、通用财务系统等。16可行性分析与软件立项 (P.63)可行性分析是世界上普遍采用的一种研究工程项目是否可行的科学。它通过各种有效的方法,对工程项目进行分析,从技术、经济、财务等方面加以评价,最终给投资决策者提供是否选择该项目进行投资的依据。可行性分析是立项的前提,立项是可行性分析的结果。对于软件企业,一般不叫项目可行性分析而叫立项,只有在学校、机关、科研所等单位,才叫项目可行性分析。17.

13、软件生存周期软件生存周期是指软件的使用寿命,即生产周期加上使用周期。18. CASE工具CASE(Computer Aided(or Assisted)Software Engineering计算机辅助软件工程。CASE是能够提供一组能够自动覆盖软件开发生命周期各个阶段的集成的、减少劳动力的,并可以加快开发速度,提高应用软件生产率并保证应用软件的可靠品质的工具。19. 集成测试集成测试是指检测此前测试过的单个模块或组件,是否能完好地融入系统,与其他模块或组件正确地一起运行。20. 结构化维护 P.257软件产品或软件项目有完善的文档,并且文档与程序代码互相匹配,两者完全一致。对这种软件产品或软

14、件项目的维护称为结构化维护。21. SQA P.308软件质量保证(SQA,Software Quality Assurance)是一套有计划、有系统的用于向管理层保证拟定出的标准、步骤、实践和方法能够正确地被所有项目所采用的方法。22. 客户与用户客户是软件企业合同的签约方,是软件产品的销售对象。客户是顾客的一部分。用户是软件产品的最终使用者,用户是客户的一部分。23. 软件质量所谓软件质量,就是供方提供的软件产品满足用户明确和隐含需求的能力特性的总和。24. 软件测试V模型 P.222软件测试V模型是由开发阶段和测试阶段构成的最典型的测试模型。开发阶段先从定义软件需求开始,然后要把这些需求

15、不断地转换到概要设计和详细设计中去,最后形成程序代码;测试阶段是在代码编写完成以后,先做单元测试开始,然后是集成测试、系统测试和验收测试。25顾客、客户和用户顾客的范围比“客户”的范围更广泛一些,它包括潜在的客户。客户是软件企业合同的签约方,是软件产品的销售对象。客户是顾客的一部分。用户是软件产品的最终使用者,用户是客户的一部分。26软件配置项软件配置管理中的基本单元,称为软件配置项。27软件功能、性能和接口软件功能指的是软件的作用,即使用软件所能达到的目的;软件性能指的是完成软件功能的效率;软件接口指的是软件不同部分之间的交互接口。通常就是所谓的API应用程序编程接口,其表现形式是源代码。2

16、8软件过程所谓软件过程,就是根据选定的生存周期模型,规定软件的开发阶段,及每一阶段的工作步骤和文档标准等内容。29软件里程碑和基线 P.67里程碑是一个标记,之需要经过内部评审。一个里程碑是一个检查点,但不一定是基线。基线是软件工作产品,它是经内部和外部评审过的,并且是下一阶段工作的基础。一根基线是一个里程碑或一个检查点。30信息系统利用计算机网络技术、数字通信技术与数据库技术实现信息采集和处理的系统,称为当代信息系统。31集成测试集成测试是指检测此前测试过的单个模块或组件,是否能完好地融入系统,与其他模块或组件正确地一起运行。32BugBug是指电脑系统的硬件、系统软件(如操作系统)或应用软

17、件(如文字处理软件)出现的错误、漏洞。33. ER图E-R图也即实体-联系图(Entity Relationship Diagram),提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。34. 概念数据模型概念数据模型(CDM)也称信息模型,它以实体联系(Entity-RelationShip,简称E-R)理论为基础,并对这一理论进行了扩充。它从用户的观点出发对信息进行建模,主要用于数据库的概念级设计。概念数据模型CDM,就是数据库的逻辑设计,即E-R图。35. 物理数据模型物理数据模型(PDM)就是数据库的物理设计,即物理表。36原型模型以某个软件原型为参照模型的开发方法,叫做

18、原型法。37UMLUML是一种面向对象的图形化的建模语言,主要用于软件的分析与设计38RUP统一软件开发过程(RUP,Rational Unified Process)又称为统一软件过程,是一个面向对象且基于网络的程序开发方法论。【三】简答题1. 软件工程中的理论、方法、标准、规范,主要来自于哪里?即:软件工程的源头或基础是什么?【答】软件工程中的理论、方法、标准、规范,主要来自于IT企业软件研发的工作思路与步骤以及面向工程实践案例。信息产业的核心是芯片与软件,软件工程是软件开发、生产、服务和管理的科学。所以可以说软件工程是以信息产业的飞速发展为源头或基础的。2软件开发文档包括哪些具体文档?【

19、答】开发文档包括目标程序、源程序、详细设计说明书、概要设计说明书、需求规格说明书、用户需求报告、软件合同。3. 软件管理文档包括哪些具体文档?【答】管理文档包括项目开发计划书、测试计划、测试报告、工作日报、会议记录、开发进度报告、开发总结报告,其中开发进度报告又分为开发进度周报和开发进度月报。4请详细解释软件的定义和程序的定义。【答】软件的定义:软件 = 程序 + 数据 + 文档。这里的程序是指程序系统。这里的数据不仅包括初始化数据、测试数据,而且包括研发数据、运行数据、维护数据,也包括软件企业积累的项目工程数据和项目管理数据中的大量决策原始记录数据。这里的文档指的是软件开发过程中的分析、设计

20、、实现、测试、维护文档、管理文档。现在有一种新提法正在引起关注,这种提法是:软件 = 知识 + 程序 + 数据 + 文档。程序是计算机为完成特定任务而执行的指令的有序集合。从应用的角度可理解为:面向过程的程序 = 算法 + 数据结构面向对象的程序 = 对象 + 信息面向构件的程序 = 构件 + 构架。5“四种开发方法”和“五个面向实施理论”的提法对吗?为什么?【答】“四种开发方法”和“五个面向实施理论”的提法对,并且既精彩又实用。首先,“四种开发方法”是指“面向过程的方法、面向对象的方法、面向数据的方法、形式化方法”,面向过程的方法来源于面向过程的程序设计,面向对象的方法来源于面向对象的程序设

21、计,面向数据的方法就是面向元数据的方法,它来源于关系数据库程序设计,形式化方法来源于离散数学中的集合运算和逻辑运算。四种方法各适用于不同的场合,各有优缺点,互相促进,构成一个开发方法论的多极化世界。其次,“五个面向实施理论”是指“面向流程分析、面向数据设计、面向对象实现、面向功能测试、面向过程管理”,它是在综合“四种开发方法”各自的优点之后提出的软件工程实施理论,是对前者的继承与发展。6“图书馆信息系统”的开发选用什么模型合适?为什么?【答】“图书馆信息系统”的开发选用瀑布模型比较合适。因为瀑布模型开发阶段清晰,便于评审、审记、跟踪、管理和控制,而且“图书馆信息系统”在一定程度上符合瀑布模型的

22、条件:(1)它在开发时间内需求没有变化或很少变化。(2)分析设计人员对应用领域很熟悉。(3)低风险项目。(4)用户使用环境比较稳定。(5)用户提出需求以外,很少参与开发工作。7. “精品课程网站”的开发选用什么模型合适?为什么?【答】“精品课程网站”的开发选用原型模型比较合适。因为现在“精品课程网站”比较普及,很容易找到一个可以事先给客户展示的产品原型,让客户试用,在使用中收集客户意见,根据意见立刻修改原型。原型模型开发速度快,用户意见反馈实时,有利于开发商在短时间内推广并实施多个客户,而且 “精品课程网站”在一定程度上符合原型模型的条件:(1) 已有产品/产品原型,只需客户化的项目。(2)

23、简单而熟悉的行业或领域。(3) 有快速原型开发工具。(4) 进行产品移植或升级。8什么叫风险分析?技能风险和技术风险有何区别?【答】这里的风险分析是指软件立项过程中对产品开发、销售等可能出现的风险进行分析。分析方法就是将一个大风险化解好多个小风险,然后一个个克服小风险。技术风险是指采用新技术的风险程度。技能风险是指项目组成员掌握新技术的风险程度。二者的区别在于一个是说新技术(如新的开发工具,新的设计思想)本身的风险,一个是说人员要掌握这种新技术的风险。9为什么需求分析特别重要、又特别难? P.66【答】需求分析特别重要,是因为:(1)许多大型应用系统的失败,最后均归结到需求分析:要么获取需求的

24、方法不当,使得需求分析不到位或不彻底,导致开发者反复多次地进行需求分析,致使设计、编码、测试无法顺利进行;要么客户配合不好,导致客户对需求不确认,或客户需求不断变化,同样致使设计、编码、测试无法顺利进行。(2)需求分析的输出文档是用户需求报告,它既是软件生存周期中的第一个里程碑,又是客户、软件开发人员和项目管理人员三者必须遵守的一根基线,是三者共同工作的基础,是项目Alpha测试和Beta测试的准则,是供方交付产品和需方验收产品的依据。(3)需求分析要占用整个软件开发时间或工作量的30%左右。(4)需求获取中的错误,属于软件开发中的早期错误,它会在后续的设计和实现中进行发散式的传播。根据以上四

25、项原因,IT企业的高层经理,对需求分析特别重视,常常派经验最丰富的人员去作项目需求。正因为如此,“系统分析员”才是软件行业中的最高技术职称。需求分析特别难,是因为:(1)用户需求具有动态性,即需求的不稳定性:在整个软件生存周期内,应用软件的需求会随着时间的进展而有所变化,个别用户甚至会朝三暮四地变化;(2)用户需求具有模糊性,即需求的不准确性:由于用户的素质不是很高,业务流程不很规范,所以需求表达不很清楚也不够明确。(3)开发者和用户要对需求达成完全一致的认识,用户要在需求报告上签字,要承担责任;(4)中国的国有企业正处于变动期(体制改革与企业重组),中国的民营企业正处于成长期(发展壮大与不完

26、全成熟)。而处于变动期和成长期的企业需求是不成熟、不稳定和不规范的,这就给信息系统的需求分析增加了难度系数。10需求分析为什么是面向流程的?【答】系统的功能、性能、接口、界面都是在流程中动态实时的反映出来。在所有的流程(物流、人流、资金流、信息流、单据流、报表流、数据流)中,数据流最重要,也最具有代表性。因为在计算机网络系统内,一切流程都表现为数据流,或者说是数据流在不同方向的投影。而流程是动态的、实时的。所以说,需求分析是面向流程的。 11软件概要设计与软件详细设有什么联系与区别?【答】概要设计说明书,一是要覆盖需求规格说明书的全部内容,二是要作为指导详细设计的依据。它注重框架上的设计,它是

27、软件系统的总体结构设计,全局数据库(包括数据结构)设计,外部接口设计,功能部件分配设计,部件之间的内部接口设计,它要覆盖需求规格说明书中的功能点列表,性能点列表,借口列表。 详细设计说明书,一是要覆盖概要设计说明书的全部内容,二是要作为指导程序设计的依据,它注重微观上和框架内的设计,它是各子系统的公用部件实现设计,专用部件实现设计,存储过程实现设计,触发器实现设计,外部接口实现设计,部门角色授权设计,其他详细设计等。两者的设计者不同,在一般情况下,概要设计说明书是由系统设计师负责,详细设计说明书则由高级程序员负责。12软件企业为什么要对员工进行培训?怎么进行培训?【答】P320 内部培训、外部

28、培训13什么叫软件发布?软件发布要做哪些准备工作? P.252【答】软件发布是指将软件产品投入市场,并得到回报的一个过程。软件发布前的准备工作:(1)编写培训教材;(2)产品包装设计;(3)产品母盘制作;(4)产品光盘刻录;(5)软件资料印刷;(6)销售人员培训;(7)发布产品检验;(8)发布产品交付;(9)确定发布方式。14怎样理解“优秀的项目经理主要是干出来的,不是学出来的;是带出来的,不是教出来的”?【答】一个人要成长为一名合格的项目经理主要不是靠学,而是靠干,当然学也很重要。只学不干,是绝对出不来项目经理的。光干不学,有可能会出现的情况是:其能力本来可以做一个大项目经理,但现在只能做一

29、个小项目经理,因为他只是一个经验主义者,缺乏理论指导,有些问题的认识可能上不去,所以不能成为大器。总之,项目经理必须通过干才能成熟起来,只要通过学才能提高起来,“干”字当头,学在其中,干学并用,互相促进,这就是项目经理成长的道路。15请用树型结构图来表示软件工程研究的主要内容与方法.【答】16. 为什么中国人实施CMMI有做秀嫌疑,而印度人一般没有做秀嫌疑?CMMI 的全称为:Capability Maturity Model Integration,即能力成熟度模型集成。CMM/CMMI仅仅是一个体系,一个框架,他仅仅从过程和产品上对开发行为进行规范,而不是给你提供了完整的方法。在这个框架下

30、面,你可以选用最适合自己的过程,最有效的开发技术。至于什么过程和什么方法,并不是最重要的。CMM/CMMI仅仅表示你往生产好的软件走出了重要的一步,但并不是全部。CMM/CMMI本身是一套非常有价值的过程模型,但简单的将其图腾化却是不正确的。 印度人能够把软件整体结构把握得很好,能够完成大型复杂的软件,能够形成相当好的设计与实现文档,能够在国际外包市场上占据很大比 例。而中国人整天在那里琢磨着的是数据结构、算法花样和界面花招,到最后只能成为Code高手,而不是一个庞大团队。这些高手虽然对某些特定的开发工具非 常精通,比如.net和J2EE开发平台。但就是不能按质、按量、按时把一个大型软件稳妥而

31、完整地开发出来。 招聘印度人,给应聘者出了一份与国内差不多的试卷,有基础概念和编程题目。等到他们完成后,我们这些中国的自认高手惊呆了! 他们的编程题目简直像是抄袭的!程序结构、注释、变量命名就不说了吧,全部都是极其类似!反观中国的牛人和高手,每个人都有自己的一套。到了新的岗位,先 把前任的程序贬损一通,然后自己再开发更多的问题代码来代替它。我们公司统计,一个软件中有4个以上版本,每个人都觉得别人做得差,自己再搞一套。中国 人,就是这个样子,还会辩解说:“我们这样是创新”。其实软件的发展,早就走过了求伯君(20世纪90年代的编程开才、WPS的发明人、现任金山软件股份 有限公司董事长兼总裁)那个编

32、码英雄的年代,程序员已经是个坐办公室的蓝领了。你具备拧好一个螺丝钉的能力就可以了,因为Code是最低级的事情了。所以说中国人实施CMMI更多的时候有作秀的嫌疑。软件公司需要的软件人才,主要是系统需求分析、系统架构设计、系统测试、过程改进与过程管 理、程度编码的人才,即应用型人才!难怪国内一些博士生不适应在企业工作,软件公司将他们轰走的事常有发生。这揭示出我们与与印度软件企业的差距!差距不仅仅在于软件公司的规模,而在于软件人员的职业素质与道德规范!究其原因,在于软件组织内部的CMM/CMMI管理水平。印度人做CMM/CMMI是真正做给自己用的,即自己的软件组织过程改进。中国人做CMM/CMMI有

33、时是做给别人看的,比如在招标或投标中装装门面,在广告中壮壮声势,而不是专门为了实现自己的软件组织过程改进! (以上大家可以自行删减 但是体现比较印度和中国的语句 还是写进试卷里)此上为小山整合观点,如果有不同意见或是瞧不上小山本人查找,请不要将这些写在你的试卷上,因为对谁都是种煎熬,谢谢合作,预祝大家好成绩。17软件设计要遵守哪些原理或原则? P.119【答】(1)抽象;(2)分解与模块化;(3)低耦合高内聚;(4)封装;(5)接口和实现分离。18. 详细设计有哪些描述工具? P.123【答】面向过程详细设计的描述工具有:(1)流程图;(2)N-S图;(3)程序设计语言;(4)决策表。面向数据

34、详细设计的描述工具主要有:(1)概念数据模型(CDM);(2)物理数据模型(PDM);(3)存储过程。面向对象详细设计的描述工具主要有:(1)类图;(2)顺序图;(3)状态图;(4)部件图;(5)部署图。19. 需求分析有哪些描述工具?【答】需求分析描述的工具包括数据流图、业务流程图、用况图、时序图、用户交互图、数据模型图和功能需求列表、性能需求列表、接口需求列表、界面需求列表等。20. 请各举一例,说明面向过程、面向元数据、面向对象的编程代表语言各是什么语言?【答】 Pascal、BISIC、C语言等 Oracle、Sybase等 Java、C+等21. 请各举一例,说明面向过程、面向元数据

35、、面向对象的编程方法,各用在什么地方?【答】 在军事上的实时跟踪监控系统中有很好的应用。如我方侦察卫星发射后其飞行轨迹的捕获、测量、跟踪和预报导弹防御系统中敌方导弹发射后飞行轨迹的捕获、测量、跟踪和预报,其软件系统都是采用面向过程的方法设计和实现的; 适合数据层(数据库服务器)设计与实现。在电子商务中的应用。网站后台数据库服务器上的数据处理和数据传输,其软件都是利用面向数据的方法设计与实现的; 在两层结构(C/S)的客户层上,在三层结构(B/A/S)的表示层和业务逻辑层上,进行详细设计和编程实现时,要采用面向对象的方法。在电子商务中的应用有:网站前台界面的制作,信息的发布和处理,用户在网上浏览

36、和录入信息等应用软件都是利用面向对象的方法设计与实现的。22. 软件工程中有哪几种不同的数据字典?【答】主要有一下四种数据字典:(1)数据流图中的数据字典:是对数据流图DFD的补充。用数据字典说明每个数据流的组成、每个数据文件的内容以及每个数据项的定义等;(2)数据库中的数据字典:就是数据库中的元数据,例如表名、字段名、索引名、主键名等;(3)数据库管理系统中的系统数据字典:它分为系统数据字典和用户数据字典两部分,用这些字典来管理数据库;(4)信息系统用户初始化中的用户数据字典:就是一些科目代码、单位代码等等。23你怎么用“Check outEditCheck in”对配置管理中的软件开发库进

37、行具体操作?【答】“Check outEditCheck in”,这是配置管理工具的基本操作,这种操作是对3个库而言的,对每一个库中的内容进行操作(比如增、删、改),要先将操作内容从库中取出,放入内存缓冲区,这一动作叫做“Check out”。当操作(Edit)完成后,又要将本次操作的内容放入相应的库中,这一动作叫做“Check in”。值得注意的是,每次Check out后,相应库中原来的内容仍然保留着。每次Check in后,也不会覆盖原来的内容。这就自动保存了可供追踪的轨迹。 以“Check outEditCheck in”操作为基础,以版本控制为中心、进行软件配置项的标识、跟踪与管理的

38、电子工具,就是配置管理工具。 程序员只能在软件开发库上作“Check outEditCheck in”操作。【四】应用题1. 如果要成为一位优秀的程序员,你认为要具备什么素质?【答】(1)团队协作精神的训练和要求;(2)数据结构分析与设计能力的训练和要求;(3)文档习惯的训练和要求;(4)规范化的代码编写能力训练和要求;(5)复用性能力的训练和要求;(6)写构件能力的训练和要求;(7)测试习惯的训练和要求;(8)学习和总结能的训练和要求;2. 如果你是软件公司的专职配置管理员,你将怎样开展公司的软件配置工作? 【答】P.301(1) 与项目经理一起,识别出项目的所有基线,并标识出这些基线及其所

39、属的配置项,再根据有关规范和规程制定配置管理计划;(2) 在配置管理服务器上建立配置管理库,作为配置管理的工作仓库,并对仓库进行管理和维护;(3) 配置项变更控制。它包括变更申请、评审和批准、实行变更、测试变更对其他配置项的影响、变更验证和入库;(4) 基线变更控制。工作程序与配置项变更控制相同;(5) 最终软件版本产品生成的控制。最终软件版本产品由软件基线库中的配置项组装而成,在配置组装之前,必须冻结该产品的所有配置项。生成之后,将此产品入库到软件产品库,并对其实行冻结;(6) 对配置项、基线、软件版本产品进行跟踪和审计,并编制配置管理活动报告,供相关组和个人阅读;(7) 定期或事件驱动,对

40、软件开发人员进行配置管理知识培训;(8) 配置管理工具的安装,配置管理服务器的日常维护。3如果你是软件公司的专职软件质量保证员,你将怎样管理公司的软件项目或软件产品的质量?【答】(1) 事先的预防措施:制订软件过程开发规范和软件产品质量标准,对软件开发和管理人员进行这方面知识和技能的定向培训(规范是对行为的约束、标准是对产品的约束、规程是对操作的约束);事中的跟踪监控措施:按照CMM/CMMI或ISO9000的过程管理思想,对软件过程和软件产品的质量控制提供可视性管理;事后的纠错措施:对软件工作产品和软件产品加强评审和检测。评审是在宏观上框住您,在微观上挑剔您,找出不符合项。检测是为了发现Bu

41、g,改正错误。(2) 从4个方面来改进软件质量:力图从编程语言上实现突破;力图从CASE工具上实现突破;力图从软件过程管上实现突破;力图从测试与纠错上实现突破。先后出现了各种测试方法、工具和纠错手段。(3)管理人员还需要做到:行为规范化,报告制度化,报表统一化,数据标准化,信息网络化,管理可视化,错世即时化。(4)最后还需要建立“五报一例制度”,即日报表,周报表,月报表,里程碑报表,重大事件报表和例会制度。4. 如果你是软件公司的软件分析师,你将怎样进行需求分析?【答】系统分析师应对用户进行需求分析培训;用户应参加业务需求分析的全过程;向用户发放需求调查表格;召开需求调研会;深入到重点岗位了解

42、需求;必要时参加实际的业务工作;边分析边整理文档,边征求修改意见;定期向用户中的操作层、管理层、决策层分别汇报,演示目标系统的流程、功能、接口及界面调度需求。1) 面向流程分析;2) 找出元数据:元数据是组织数据的数据,元数据就是信息系统中实体名及其属性名的集合;3) 找出中间数据:中间数据蕴藏在信息系统的输出报表中,报表名称及其内部的数据项名称,一般就是中间数据;4) 找出元数据与中间数据之间的关系;5) 找出单据中的流程:a) 该单据的上游是什么?b) 同一个单据内部的数据项之间,也存在一个先后次序的问题?c) 该单据的下游是什么?6) 历史上存在三种需求分析方法:面向功能分析,面向对象分

43、析,面向数据分析;7) 分析与设计要同时考虑:因为许多问题在分析“目标系统是什么”的时候发现不了,到了设计时才会暴露出来。分析与设计同时考虑,也符合迭代模型的思想,即:复杂的需求是个需求迭代的过程。8) 需求分析艺术:a) 需求分析师双打项目。宏观上和微观上都要以流程为主,不能偏听偏信。b) 决策层提出宏观上的统计、查询、决策需求,管理层提出业务管理和作业控制需求,操作层提出录入、修改、提交、处理、打印、界面、传输、通信、时间与速度等方面的操作需求。9) 提取需求技术:会谈、场景、原型、实地观察10) 提取对象、属性和方法的技术a) 对象在哪里?属性在哪里?方法在哪里?11) 实时系统需求分析

44、法汇报两三次,知道客户确认位置,同时要与客户交朋友。5. 如果你是软件公司的软件设计师,你将怎样进行软件架构设计?【答】首先要进行架构建模:1) 捕获早期的设计决策;2) 捕获软件运行环境;3) 为底层实现提供限制条件;4) 为开发团队的结构组成提供依据;5) 设计系统满足可靠性、可维护性、其他性能等;6) 方便开发团队间的交流;软件架构设计要包含以下几个方面:1) 软件系统中包含了哪些子系统/部件;2) 每个子系统/部件都完成了哪些功能;3) 子系统/部件对外提供或使用外部的哪些接口;4) 子系统/部件间的依赖关系。以及对实现和测试的影响;5) 系统式如何部署的;6. 如果你是软件公司的主程

45、序员,你将怎样进行软件详细设计?【答】1) 基本任务是怎样具体地实现这个系统。主要任务是设计出程序的“蓝图”,供程序员日后根据这个蓝图编写出实际的程序代码。2) 基本步骤是:确定模块如何实现;编写详细设计说明书;制定单元测试计划;评审详细设计。3) 对于B/S的系统,“面向数据方法用在数据库服务器层次上系统的设计与实现,面向对象方法用在除数据库服务层次之外的其他层上的系统的设计与实现,面向过程方法用在其他两种方法本身内部函数的设计与实现”。4) 在实施的过程中,在宏观上仍然要遵守“五个面向”的实施理论,即:“面向流程分析、面向数据设计、面向对象实现、面向功能测试、面向过程管理”。7. 如果你是

46、项目经理,你怎么用4种不同的方法,对软件产品的规模进行量化估计?【答】1) 希腊古都法:在没有历史数据的情况下,这种方式适用于评定过去和将来。这个技术要求有多种软件相关经验人的参与,互相说服对方。希腊古都法的步骤如下:a) 协调人向各专家提供项目规格和估计报表b) 协调人召集小组会,各专家讨论与规模相关的因素c) 各专家匿名填写迭代表格d) 协调人整理出一个估计总结,以迭代表的形式返回专家e) 协调人召集小组会,讨论较大的估计差异f) 专家复查估计,总结并在迭代表上提交另一个匿名估计g) 重复d)- f),直到达到最低估计和最高估计一致。2) 类比法:适合评估一些历史项目在应用领域、环境和复杂度的相似项目,通过新项目与历史项目的比较得到规模估计。其基本步骤如下:a) 整理出项目功能列表和实现每个功能的代码行b) 标识出每个功能列表

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号