1.什么是软件工程?他的基本原理是什么?
1) 软件工程是指导计算机软件开发和维护的工程学科。采用工程的槪念、原理、技术 和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最 好的技术方法结合起来,经济地开发出高质量的软件并有效地维护它。
2) 用分阶段的生命周期汁划严格管理、坚持进行阶段评审、实行严格的产品控制、采 用现代程序设讣技术、结果应能淸楚的审査、开发小组的人员应该少而精、承认不断改 进软件工程实践的必要性。
2.是什么导致了软件工程?
主要是软件危机的出现导致了软件工程
3.通常我们所见的软件工程模型有哪些?
瀑布模型、快速原型模型、增量模型(渐增模型)、螺旋模型、喷泉模型。
21.软件危机的现象:
1)经费超出预算,项目一再拖延。
02 )不重视需求,开发的软件不能满足用户的要求,项目成功率低。
3) 没有规范的软件工程方法,软件可维护性差,软件质量差,可靠性差。
3圄)开发工具落后,手工方式,开发效率低。
22 .软件工程的三要素
1) "过程”是软件产品加工所经历的一系列有组织的活动,保证能够合理、高质疑开发出 软件。
2) "方法”为软件开发提供"如何做”的技术。它涵盖了项目计划、需求分析、系统程序
()实现、测试与维护灯一系列活动的做法。
3) "工具"可为过程和方法提供自动的或半自动的支持。这些工具既包括软件,也包括硬
件,软件工具包括编程、建模、管理等开发工具。通过网络环境把这些软件工具集 成起来搭
建一个能够支持团队开发的平台,称为汁算机辅助软件工程,即CASE。C ASE集成了软件、硬件和()存放开发过程信息的软件工程数据库,形成了一个软 件工程环境。
23.简述软件工程的目标,过程和原则
佢)目标、过程和原则是一切工程的三维框架,,这里是以工程的观点来看待软件开发。
软件工程的目标:降低成本,及时交付髙质量的软件产品。
m实现目标的过程即完成产品加工的过程:包括:基本过程、支持过程和组织过程 进行过程应遵守的原则:原则就是过程中的轨道约朿,包括:选取适宜的开发范型、 适合的设计方法、提供高质量的工程支持、重视开发过程的管理。
24.对比瀑布模型,原型模型,增虽:模型和螺旋模型
1)瀑布模型:主要体现了分阶段、有控制的思想。活动间强调按顺序、文档化;存在 的问题是过于理想化,每一步的工作必须完整准确,否则无法进行下一步工作
2)原型模型:需求分析入手快速、表达直观、容易交流。重点解决瀑布模型的需 求分析入手
难的问题。
3) 增量模型:对于需求复杂的系统,采用分块开发、逐步集成的开发策略"增量体 现了演进、迭代思想,每一块就是一个增量。每个增量试一次迭代。增屋模型的 新版本叫做"极限编程(XP)”。
4) 螺旋模型:融合了上述3种模型,融进了循环往复、强化了演进迭代的思想,增加 了风险控制环节。但是,风险分析的正确性是左右软件演进的关键因素。
25.当需求不能一次搞淸楚,且系统需求较复杂时应选用什么模型?
开发模型不是孤立或排斥的,他们之间需要相互借鉴和参考。螺旋模型是一种综合性的
模型,适合于鼻尖复杂的系统。
2 6.XP(极限开发)是一种什么样的模型?
0XP是现代版的增量模型,特点是你客户参与、适应变化、测试驱动、以代码为核心。实行 XP的条件如下。
1) 企业具有较髙的能力成熟度,具有团队开发环境和配套的测试工具。
2) 软件结构是开放的,增量可随意整合。
3) 开发团队拥有"系统隐喻"。
27.敏捷方法的核心价值观有哪些?它对传统方法的"反叛"体现在哪些方而?
他)①注重个人与交互
2重点关注可以工作的软件。
3提高客户参与程度。
4以积极的心态响应需求变化。
敏捷联盟强调的价值观是这一流派的核心。认识受价值观驱使的,敏捷项目管理因 而也是以价值观为推动力的。一个团队可以采用敏捷做法,但如果它不接受敏 捷价值观,它将不能得到敏捷方法的潜在好处。
2)敏捷方法对传统方法的”反叛“体现在以人为中心,不再依靠文档来控制过程,认为传 统过程过于僵化、文档繁烦,主张对传统过程瘦身,在上述价值观的支配下,做到 能够为准
28.简述CMM(成熟度等级)软件过程成熟度的5个级別,以及每个级别对应的标准。
2)初始级的软件过程是无秩序的,它几乎处于无步骤可循的状态。管理是随机的,软件 产品的成功往往取决于个人。
2) 可重复级,已建立了基本的项目管理过程,对成本、进度和功能特性进行跟踪,并且
在借鉴以往经验的基础上制定了必要的规范°
3) 已立义级,用于管理和工程两个方而的过程均已文档化、标准化,并形成了整个软件
组织的标准软件工程。所有项目均使用经过批准、裁剪的标准软件过程来开发和 维护软件。
4) 已管理级的软件过程和产品质量有详细的度量标准并且得到了泄量的认证和控制。
5) 优化级的软件过程可以通过量化反馈和先进的新思想、新技术来不断地、持续性的
过程改进。
2 9.RUP (统一过程)包含了那些核心工作流和那些核心支持工作流。
1) 核心工作流包括:业务建模、需求、分析与设计、实现、测试、部署。
2) 支持工作流包括:配宜与变更管理、项目管理、环境。
30.如何进行结构化需求分析,其建模方法有哪些?
5.传统方法学-结构化分析中,有哪几个主要步骤?每个步骤应该要做什么?画什么图?怎么
画?
1) 建立当前系统的"具体模型":体统的”具体模型"就是现实环境的真实写照,这样到达 与当前系统完全对应,用户容易理解。
2) 抽象岀当前系统的逻辑模型:分析系统的"具体模型",抽象出其本质的因素,获得当
前系统的”逻辑模型"。
3) 建立目标系统的逻辑模型:分析目标系统与当前系统逻辑上的差别,从而进一步明确
目的系统”做什么",建立目标系统的“逻辑模型
4) 为了对目标系统进行完整的描述,还需要考虑人机界面和其他一些问题。
建模方法:
回数据流图、实体关系、控制流图、状态转换图。
31.为什么说需求过程是一个迭代过程?
由于人们对客观事物的认识是不断深化,因此需求过程是一个迭代过程,每次迭代都可提 供更髙质量和更详细内容的软件需求。这种迭代会给项目带来一立的风险,上一次迭代 的设计实现可能会因为需求不足而被推翻。
32.简述可行性研究所研究的问题。
1) 经济可行性:进行成本/效益分析那个。从经济角度判断系统开发是否"合算"。
2) 技术可行性:进行技术风险评价。从开发者的技术实力、以往工作基础、问题的复 杂性岀发,判断系统开发在实践、费用等限制条件下成功的可能性。
3) 法律可行性:确左系统开发可能导致的任何侵权、妨碍和责任。
4)方案的选择:评价系统或产品开发的几个可能的候选方案,最后给出结论意见。
33.简述数据流图的作用。
数据流图的作用:数据流图可以用来抽象地表示系统或软件。从信息传递和加工的角度 它以图形的方式刻画数据流从输入到输出的移动变换过程,同时可以按自顶向下、逐步分解 的方法表示内容不断增加的数据流和功能细节。因此,数据流图既提供了功能建模的机制, 也提供了信息流建模的机制,从而可以建立其系统或软件的功能模型。
34 .简述数据字典的作用!
回数据字典的作用:分析建模种包含了对数据对象、功能和控制的表示。在每一种表示中数据 对象和控制项都扮演一泄的角。为表示每个数据对象和控制项的特性,建立了数据词典。
数据词典精确地、严格地定义了每一个与系统相关的数据元素,并以字典式顺序将它们组织 起来,使得用户和分析员对所有的输入、输出、存储成分和中间计算有共同的理解。
35.简述在软件设计的过程中需要遵循的规则。 国模块化、抽象化、逐步求精和信息隐藏。
3 6 .为什么说嘀内聚、低耦合"的设计有利于提高系统的独立性?
内聚和耦合往往密切相关,模块的髙内聚通常意味着低耦合。低耦合因为模块之间的耦 合成都越低,相互影响就越小,发生异常后产生连锁反应的槪率就越低:在修改一个模块是, 低耦合的系统就可以把修改范围尽量控制在最小的范囤内;对一个模块进行维护是,其他模 块的内部程序的正常运行不会受到较大的影响。
37.简述界面设计应该遵循的原则。
1)置界而与用户控制之下:以不强迫用戸进入不必要的或不希望的动作的方式来龙义交 互模式;提供灵活的交互;允许用户交互可以被中断和撤销:当技能级别增长时可以使交互 流水化并允许左制交互:使用户隔离内部技术细仏设计应允许用戸和出现在屏幕上的对象 直接交互。
回2)减少用户的记忆负担:减少对短期记忆的要求;建立有意义的缺省;立义直觉性的捷径;界 而的视觉布局应该基于真实世界的阴雨;以不断进展的方式解释信息。
30)保持界面一直;允许用户将当前的任务放入有意义的语境;在应用系列内保持一致性; 如果过去的交互模式已经建立起了用户期望,不要改变它,除非有不得已的理由。
4.传统方法学中,分几个主要步骤? 结构化分析,结构化设计,结构化实现。
6.传统方法学一结构化设汁的概念和原理是什么?
模块化、抽象、逐步求精、信息隐藏。
7.传统方法学-结构化设计有哪些启发规则?
改进软件结构提髙模块独立性,模块规模应该始终,深度、宽度、扇出和扇入都应适 当,模块的作用域应该在控制域之内,力争降低模块接口的复杂程度,设汁单入口单岀 口模块,模块功能应该可以预测
8.传统方法学•结构化设讣有哪几个主要步骤?每个步骤要做什么?需要绘制哪些图形图表, 怎
么画?对象模型是什么
1) 分析并确左输入数据和输岀数拯的逻辑结构,并用Jac k son图庙会这些数据结构。 2E)岀输入数据结构和输出数据结构中有对应刮泥的数据单元。
3圄)秒回数据结构的J a ckson头到处描绘成结构的Ja c kson图。
怎么画:
1) 为每对有对应关系的数据单元,按照它们在数据结构图中的层次在程 序结构图等响应层次化一个处理框。
2) 根据输入数据结构中剩余的每个数拯单元所处的层次,在程序结构图的 相应层次分别为他们画上对应的处理框
3) 根据输岀数据结构中剩余的每个数拯单元所处的层次,在程序结构图的 相应层次分别为它们画上对应的处理框。
4)列出所有操作和条件,并且把它们分配到程序结构图的适当位置。
5)用伪码表示程序。
9.传统方法学•结构化设计中,什么是而向数据流的设计方法?
0 而向数据流的设汁方法就是通常所说的结构化设计方法。它是以数掳流图为基础,将
DFD变换成软件结构的不同映射方法,以软件结构图(SC图)的形式表现。SC图描述 软件系统的层次和分块结构的关系,体现模块与模块之间的联系与通讯,从而表达软件 的体系结构。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论