注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Oracle专业打杂

定会重回巅峰……

 
 
 

日志

 
 

软件工程之问答题2  

2012-09-19 00:34:40|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |


1.软件产品具有哪些特性?
答:①软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。②软件是通过人们的智力活动,把知识与技术转化成信息的一种产品,是在研制、开发中被创造出来的。③在软件的运行和使用期间,没有硬件那样的机械磨损、老化问题。④软件的开发和运行经常受到计算机系统的限制,对计算机系统有着不同程度的依赖性。⑤软件的开发至今尚未完全摆脱手工的开发方式。⑥软件的开发费用越来越高,成本相当昂贵。
2.什么是耦合?什么是内聚?
答:耦合是对一个软件结构内各个模块之间互连程度的度量。
    内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。
3.为什么软件测试不应该由程序的编写人员来做?
答:软件测试的目的是为了发现程序中的错误而执行程序的过程。
    正确认识测试的目标是十分重要的,测试目标决定了测试力案的设计。如果为了表明程序是正确的而进行测试,就会设计一些不易暴露错误的测试方案;相反,如果测试是为了发现程序中的错误,就会力求设计出最能暴露错误的测试方案。
    由于测试的目标是暴露程序中的错误,从心理学角度看,由程序的编写者自己进行测试是不恰当的。
4.什么是编码风格?为什么要强调编码风格?
答:编码风格又称程序设计风格或编程风格。
    编码的目标从强调效率转变为强调清晰。良好的编码风格能在一定程度上弥补语言存在的缺陷,而如果不注意风格就很难写出高质量的程序。尤其当多个程序员合作编写一个很大的程序时,需要强凋良好而一致的编码风格,以便相互通讯,减少因不协调而引起的问题。总之,良好的编码风格有助于编写出可靠而又容易维护的程序,编码的风格在很大程度上决定着程序的质量。

5、软件工程的七条基本原理是什么?
答:软件工程的七条基本原理是:
(1) 用分阶段的是的生存周期计划严格管理;
(2) 坚持进行阶段评审;
(3) 严格实施的产品控制;
(4) 采用现代程序技术;
(5) 结果应能清楚地审查;
(6) 开发小组的成员应该少而精;
(7) 承认不断改进软件工程的必要性。

6、什么是模块独立性?用什么度量?
答:模块独立性概括了把软件划分为模块时要遵守的准则,也是判断模块构造是不是合理的标准。独立性可以从两个方面来度量:即模块本身的内聚和模块之间的耦合。

7、一般面向对象分析建模的工具(图形)有哪些?
答:用例图、类/对象图、对象关系图、实体—关系图(E—R)、事件轨迹图(时序图)和状态转换图(STD)等。

8、可行性研究包括哪几方面的内容?请简要说明每个方面的含义。
答:(1)经济可行性:是否有经济效益,多长时间可以收回成本; 
 (2)技术可行性:现有技术能否实现本系统,现有技术人员能否胜任,开发系统的资源能否满足;
 (3)运行可行性:系统操作在用户内部行得通吗?
 (4)法律可行性:新系统开发是否会侵犯他人、集体或国家利益,是否违反国家法律。

9、简述软件测试的任务、目的与类型。
答:软件测试是一个为了寻找软件错误而运行程序的过程。
目的就是为了发现软件中的错误。一个好的测试用例是指很可能找到迄今为止尚未发现 
的错误的用例。一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。软件测试
10、主要分为白盒测试和黑盒测试两大类。
简述软件工程目标和面临的主要问题。
答:软件工程的目标是应用计算机科学、数学及管理科学等原理开发软件的工程。它采用经过实践验证的工程的原则、方法,以提高质量,降低成本。
 11、但是目前的软件开发面临着许多问题:(1)对软件开发成本和进度的估计常常很不准确。(2)用户常对“已完成的”软件系统不满意。(3)软件产品的质量往往靠不住。  (4) 软件常常很难维护。(5)软件常常缺乏适当的文档资料。(6)软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。(7)软件成本在计算机系统总成本中所占的比例逐年上升。
12、简述软件开发过程、每个里程碑的提交物。
答:软件开发的基本过程:(1)可行性研究,做初步的需求分析工作,决定项目可行与否
(2)软件需求分析,软件工程师必须了解软件的信息领域,以及需求的功能、行为、性能和接口。系统需求和软件需求均需文档化,并与用户一起复审。并提交需求分析报告。(3)设计,包括总体设计和详细设计,软件设计是一个多步骤的过程,主要是对软件的数据结构、软件体系结构、界面表示及过程细节进行设计。设计过程将需求转换为软件表示,在编码之前可以评估其质量,所有设计均要文档化,它是软件配置的重要组成部分,经复审后提交相应的概要设计和详细设计报告。(4)编码,把设计转化为机器可执行的程序。提交源程序清单。(5)测试,提交测试报告。(6)维护,提交维护报告。
13、软件生命周期模型?瀑布模型?快速原型模型?
答;概括的说,软件生命周期模型由软件定义、软件开发和运行维护3个时期组成,每个时    期又进一步划分成若干个阶段。
  软件生命周期模型有问题定义,可行性研究,需求分析,总体详细设计,总体编码和单元测试,综合测试,软件维护组
   瀑布模型是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需 求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,如果有信息未被覆盖或 者发现了问题,那么最好 “返回”上一个阶段并进行适当的修改,项目开发进程从一个阶 段“流动”到下一个阶段。
   快速原型模型是在用户不能给出完整、准确的需求说明,或者开发者不能确定算法的有效性、操作系统的适应性或人机交互的形式等许多情况下,可以根据用户的一组基本需求,快速建造一个原型(可运行的软件),然后进行评估,进一步精化、调整原型,使其满足用户的要求,也使开发者对将要做的事情有更好的理解。
14、软件?软件产品具有哪些特性?
答:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的  完整集合。
软件产品具有以下特性:1、非常复杂;2、成本高;3、风险大;4、维护困难;
15、可行性分析的目的和主要任务是什么?
答:可行性分析的目的不是解决问题,而是确定问题是否值得去解决。
主要任务是从下面几方面研究每种解法的可行性:技术可行性,经济可行性,操作可行性,社会可行性,抉择可行性。
16、需求分析的目的和主要任务是什么?
答:进行需求分析是为了准确地回答“系统必须做什么”这个问题,决定可以做什么不做什 么。需求分析的主要任务是描述系统的功能需求、性能需求、数据需求、可靠性/可用性需求、出错处理需求、接口需求、约束条件、其他需求。
17、总体设计的目的和主要任务是什么?
答:总体设计的目的是用比较抽象的方法确定系统概要地是如何实现的(How to do  generally !)。从初步的数据流图导出(设计出)软件结构;根据数据需求设计数据结构(数据库结构、文件结构设计)。
  18、  主要任务是概括地说,如何解决这些问题,系统怎样实现?
            划分系统的构成成分(黑盒子),如程序、文件、数据库、人工  操作等。 设计系统的软件结构,即构成模块。
19、详细设计的目的和主要任务是什么?
答:在总体设计的基础上,进一步确定软件怎样具体实现,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设 计语言书写的程序。
主要任务包括人机界面设计、模块过程设计。
20、编码的目的和主要任务是什么?
答:把软件设计结果翻译成用某种程序设计语言书写的程序
21、软件测试的目的和主要任务是什么(G.J.Myers的观点)?
答:发现程序中的错误
22、软件维护的目的和主要任务是什么?维护的类型有哪些?
答:软件维护是软件生命周期中最后一个、持续时间最长的阶段。
    主要任务是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件,目的是提高软件的可靠性、可用性,延长软件的寿命。
维护的类型有:改正性(错误)、适应性(环境)、完善性(功能)、预防性(新产品)
23、什么是耦合?模块的耦合包括哪些类型?
答:耦合是对一个软件结构内不同模块之间互连程度的度量。
模块的耦合包括以下几种类型:数据耦合,控制耦合,特征耦合,公共环境耦合,内容  耦合,标记耦合,无耦合/非直接耦合
24、什么是内聚?模块的内聚包括哪些类型?
答:内聚标志着一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展模块的内聚包括以下几种类型:低内聚—偶然内聚,逻辑内聚,时间内聚中内聚—过程内聚,通信内聚; 高内聚—顺序内聚,功能内聚
25、如何选择程序设计语言的工程特性
答:1.系统用户的要求2.可以使用的编译程序
3.可以得到的软件工具4.工程规模5.程序员的知识
6.软件可移植性的要求7.软件的应用领域
26、什么是编码风格?为什么要强调编码风格?
答:编码风格包括以下内容:程序内部良好的文档(注释)、数据说明、语句构造、输入输 出和效率保障等。
    因为编码风格对软件的可读性、可维护性、可靠性、可用性很重要,所以要强调编码风 格。

27、 白盒测试——又叫做结构测试,把程序看成装在一个透明的白盒子里,按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作。
28、 模块化——把程序划分成独立运行且可以独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。
29、 对象——描述该对象属性的数据以及可以对这些数据施加的所有操作封装在一起构成的统一体。
30、 简述软件测试的任务、目的与类型
 答:软件测试是一个为了寻找软件错误而运行程序的过程。目的就是为了发现软件中的错误。一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例。一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。软件测试主要分为白盒测试和黑盒测试两大类。

31 简述结构化程序设计方法的基本要点
 答:(1)采用自顶向下,逐步求精的程序设计方法。
(2)使用三种基本控制结构构造程序,分别是顺序,选择和循环
(3)采用主程序员组的组织形式。
(4)采用单入口单出口的模块形式。

  评论这张
 
阅读(389)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017