黑色字体为原本答案,蓝色字体修改补充了

复习题组「66-70/66-70/14/14」

一名词解释

71.压力测试

在软件工程中,压力测试是对系统不断施加压力的测试,是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。

压力测试是通过不断向被测系统施加“压力”,测试系统在压力情况下的性能表现,考察当前软硬件环境下系统所能承受的最大负荷并帮助找出系统瓶颈所在,也就是我们可以模拟巨大的工作负荷以查看应用程序在峰值使用情况下如何执行操作。

72.瀑布模型

瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到软件产品。

瀑布模型核心思想是按工序将问题简化,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。

将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。

73.结构复杂性度量(未找到答案)

软件度量的根本目的是为了管理的需要,利用度量来改进软件过程。人们是无法管理不能度量的事物。没有对软件过程的可见度就无法管理;而没有对见到的事物有适当的度量或适当的准则去判断、评估和决策,也无法进行优秀的管理。

结构复杂性度量就是为了管理需要,通过工程化的方法去衡量软件内部的结构的复杂性。

74.决策表

决策表又称判断表,是一种呈表格状的图形工具适用于描述处理判断条件较多,各条件又相互组合、有多种决策方案的情况。精确而简洁描述复杂逻辑的方式,将多个条件与这些条件满足后要执行动作相对应。但不同于传统程序语言中的控制语句,决策表能将多个独立的条件和多个动作直接的联系清晰的表示出来

75.继承

继承是指一个对象直接使用另一对象属性和方法

继承是面向对象程序设计的主要特点之一。继承,顾名思义就是子继承父的所有。在面向程序设计中继承的意思并没变,子类继承父类所拥有的属性、方法。

二、简答题

71.简述软件分析员在系统分析中的任务和作用。

系统分析员(system analyst)是对大型、复杂的信息系统建设任务中,承担分析、设计和领导实施的领军人物。要做好与客户之间的关系,同时对客户的需求要正确的理解,要选择合适的开发技术,同时做好与客户间沟通交流,学会说服对方。

工作内容:

1、参与用户需求调研、负责系统体系结构、功能、性能的分析和总体设计工作;

2、负责项目的开发流程管理,进行项目的计划、管理、跟进工作;

3、参与并指导开发工程师完成系统详细设计和开发工作,解决相应业务、技术难题;

4、参与编制用户手册、协助客户的系统软件、硬件平台的安装实施工作;

5、制定项目文档格式,编写项目管理规范要求的相关文档

作用:

系统分析工作是解决一个问题的工作,目标是将一个对计算机应用系统的需求转化成实际的物理实现,

72.软件的可维护性与哪些因素有关,如何提高软件的可维护性?

主要有5个:1可理解性2可测试性3可修改性4可移植性5可重用性

方法:

1. 建立明确的软件质量目标。

2. 采用现代化的开发方法。

3. 建立明确的质量保证审查。

4. 选择可维护的语言。

5. 改进程序员的文档。

什么是软件的可维护性:将一个软件系统可被修改的难易程度称为它的可维护性。一个软件系统的可维护性由其源代码的多个属性决定。可维护性(一个软件系统可被修改的难易程度)与性能(一个软件系统执行的时空开销,这里往往指得到输出的快慢)是软件质量的两个重要特征。

(根据国际标准,软件质量可以划分为八个特征:可维护性、功能可适性、性能效率、兼容性、可使用性、可靠性、安全性、可移植性。)

与哪些因素有关:

维护就是在软件交付使用后进行的修改,修改之前必须理解待修改的对象,修改之后应该进行必要的测试,以保证所做的修改是正确的。如果是改正性维护,还必须预先进行调试以确定错误的具体位置。因此,决定软件可维护性的因素主要有下述5个。

1.可理解性

软件可理解性表现为外来读者理解软件的结构、功能、接口和内部处理过程的难易程度,模块化(模块结构良好,高内聚,松耦合)、详细的设计文档、结构化设计、程序内部的文档和良好的高级程序设计语言等,都对提高软件的可理解性有重要贡献

2,可测试性

诊断和测试的容易程度取决于软件容易理解的程度。良好的文档对诊新和测试是至关重要的,此外,软件结构、可用的测试工具和调试工具,以及以前设计的测试过程也都是非常重要的。维护人员应该能够得到在开发阶段用过的测试方案,以便进行回归测试。在设计阶段应该尽力把软件设计成容易测试和容易诊断的。

对于程序模块来说,可以用程序复杂度来度量它的可测试性,模块的环形复杂度越大,可执行的路径就越多,因此,全面测试它的难度就高。

3.可修改性

软件容易修改的程度和本书第5章讲过的设计原理和启发规划直接有关。耦合、内聚、信息稳藏,局部化、控制域与作用域的关系等,都影响软件的可修改性

4.可移植性

软件可移植性指的是,把程序从一种计算环境(硬件配置和操作系统)转移到另一种计算环境的难易程度,把与硬件,操作系以及其他外部设备有关的程序代码集中放到特定的程序模块中,可以把因环境变化而必须修改的程序局限在少数程序模块中,从而降低修改的难度

5.可重用性

所谓重用( reuse)是指同一事物不做修改或稍加改动就在不同环境中多次重复使用。大量使用可重用的软件构件来开发软件,可以从下述两个方面提高款件的可维护性:

(1)通常,可重用的软件构件在开发时都经过很严格的测试,可靠性比较高,且在每次重用过程中都会发现并清除一些错误,随着时间推移,这样的构件将变成实质上无误的,因此,软件中使用的可重用构件越多,软件的可靠性越高,改正性维护需求就越少

(2)很容易修改可重用的软件构件使之再次应用在新环境中,因此,软件中使用的可重用构件越多,适应性和完善性维护也就越容易。

如何提高软件可维护性:

一、增加系统配置界面,减少人工通过后台修改

二、尽量避免系统重启,采用能及时修复的技术

三、增加系统定期自检程序,防患于未然

73.事务型软件结构图有什么特点,原因是什么?

软件结构包括构成系统的设计元素的描述、设计元素之间的交互、设计元素的组合模式以及在这些模式中的约束。一个系统由一组构件以及它们之间的交互关系组成,这种系统本身又可以成为一个更大的系统的组成元素。

软件结构图也就是为了反映软件系统中组件之间相互关系和约束的体系结构设计图,

称为软件体系结构图更为合适,一般通过分层次或分时间段等方式说明体系结构的各个组成部分的组合关系。

在结构化设计方法中,软件结构图主要分为变换型软件结构图和事务型软件结构图两种。

事务流

基本系统模型意味着变换流,因此,原则上所有信息流都可以归结为这一类。但是当数据流是以事务为中心的,也就是说,数据沿输入通路到达一个处理T,这个处理根据输入数据的类型在若干个动作序列中选出一个来执行。这类数据流应该划为一类特殊的数据流,称为事务流。

74.单元测试、组装测试和确认测试各自主要的目标是什么,相互有什么关系?

单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。

组装测试(也叫集成测试,联合测试)是单元测试的逻辑扩展。在单元测试的基础上,将所有模块按照设计要求(如根据结构图〕组装成为子系统或系统,进行集成测试。

确认测试的目的是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是确认测试的任务,即软件的功能和性能如同用户所合理期待的那样。

单元测试是在开发时对小的模块的功能进行测试,集成测试是在几个模块集成的时候对模块之间的接口、集成之后的模块的功能进行测试。这两个测试都需要对软件内部结构比较熟悉,所以通常使用白盒测试的方法。

而确认测试的目的在于测试软件产品是否符合最初定义的用户需求,它不关心内部结果,只关心能否实现功能,也就是相当于把软件当做一个黑盒子,看输入数据能否有正确的输出。

75.Coad/Yourdon的OOA模型包括那几个方面?

Coad和Yourdon方法可分为面向对象分析(OOA)和面向对象设计(OOD)两部分。在OOA中,建立了概念模型,由类与对象、属性、服务、结构和主题等5个分析层次组成

(1)类与对象。从问题域、文字出发,寻找并且标识类与对象。

(2)属性。确定对象信息及其之间的关系。可分为原子概念层的单个数据,和类结构中的公有属性与特定属性。

(3)服务。标识消息连接和所有服务说明。

(4)结构。标识类层次结构,确定类之间的整体部分结构与通用特定结构。

(5)主题。主题是比结构更高层次的模块,它与相关类在一起,控制着系统的复杂度。

在Coad和Yourdon方法的系统设计阶段也采用了OOA阶段的5个层次来描述以下设计模型的4个部分。

(1)问题域。

(2)用户界面。包括问题域与用户、系统外部和专用设备、磁盘文件和数据管理界面等。

(3)任务管理。包括任务的运行和任务的交互管理等。

(4)数据库管理。包括文件管理和数据库管理等。

Coad/Yourdon方法严格区分了面向对象分析(OOA)和面向对象设计(OOD),特别强调OOA和OOD采用完全一致的概念和表示法的转换。该方法的特点是:表示简练、易学,对于对象、结构、服务的认定较系统、完整,可操作性强。

14.针对敏捷方法的十二条核心实践,结合软件工程问题论述其有效性

PPT参考答案:

1.On-Site Customer (现场客户) : 客户是Team成员,在开发现场和开发人员一起工作。

2.计划项目 (Planning Game)

3.频繁地小规模发布软件(Small Releases)

4.简单设计 (Simple Design)

5.测试驱动开发 (Test Driven Development)

6.持续集成 (Continuous Integration)

7.集体拥有代码(Collective Code Ownership)

8.编程规范(Coding Standards)

9.重构(Refactoring)

10.System Metaphor(系统隐喻)

11.Pair Programming(结对编程)

12.平稳的工作效率(Sustainable Pace)

敏捷开发中有12条原则,它们是敏捷实践区别于重型过程的特征所在。

1.我们最优先要做的是通过尽早的、持续的交付有价值的软件来使客户满意。

2.即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势。

3.经常性的交付可以工作的软件,交付的间隔可以从几周到几个月,交付的时间间隔越短越好。

4.在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。

5.围绕被激励起来的人来构建项目。给他们提供所需要的环境和支持,并且信任他们能够完成工作。

6.在团队内部,最具有效果并且富有效率的传递信息的方法,就是面对面的交谈。

7.工作的软件是首要进度度量标准。

8.敏捷过程提可持续的开发速度。责任人、开发者和用户应该能够保持一个长期的、恒定的开发速度。

9.不断地关注优秀的技能和好的设计会增强敏捷能力。

10.简单——使未完成的工作最大化的艺术——是根本的。

11.最好的构架、需求和设计出自与自组织的团队。

12.每隔一定时间,团队会在如何才能更有效地工作方面进行反省,然后相应地对自己的行为进行调整。

四、应用题

14.图书馆管理系统中,读者包括教师、学生(学生中有本科生、研究生、)等等,图书包括杂志、各类书籍,请用UML建立UseCase图(5分),读者和图书的类图(10分),图书的状态图(5分),以及借还书过程的活动图(10分)。

软件的接口设计图_软件工程复习6670组考题相关推荐

  1. 软件需求和结构_软件工程复习 3640组考题

    黑色字体是原本的答案,蓝色字体是补充整理后的答案,如果有错的话,我也没办法了-- 复习第一组「36-40,36-40,8,8」 一.名词解释 36.基本路径测试 是在程序控制流图的基础上,通过分析控制 ...

  2. 软件工程环形复杂度计算方法有哪些_软件工程复习6165组考题

    黑色字体为原本答案,蓝色字体修改补充了 复习题组「61-65/61-65/13/13」 一.名词解释 61.确认测试 检查已实现的软件是否满足了需求规格说明中所确定的各种需求,以及软件配置是否完全.正 ...

  3. 软件的接口设计图_产品基础 | 软件生命周期

    一.什么是软件生命周期? 软件生命周期又称为软件生存周期或系统开发生命周期,是软件的产生直到报废的生命周期,周期内有问题定义.可行性分析.总体描述.系统设计.编码.调试和测试.验收与运行.维护升级到废 ...

  4. 软件的接口设计图_基于GJB 5000A的软件配置管理研究与系统实现

    郝延刚 (海军装备部驻南京地区第二军事代表室,南京 211153) 摘 要:采用Spring.MyBatis以及Activiti等技术,设计了符合GJB 5000A软件配置管理要求的软件配置管理系统. ...

  5. 软件的接口设计图_软件的生命周期amp;测试基本流程

    软件的生命周期&测试基本流程 软件的生命周期 问题定义及规划- - - 需求分析阶段- - - 系统设计 - - - 软件编程 - - - 软件测试 - - - 软件维护 瀑布模型有弊端 1用 ...

  6. 软件的接口设计图_刚进装修公司该学什么软件

    学室内装饰设计需要先学什么软件 楼主 1.AutoCAD 精确绘制建筑施工图 --主要是大致的框架,用CAD可以绘制精确的墙线和房屋内部构造框架 2.3DMax 三维建模,装修效果图或者虚拟装修实境 ...

  7. 软件的接口设计图_你真的懂电脑吗?电子设备的硬件及软件认识,一起分享学习!...

    海商报业集团这里是你梦想的栖息地关注 电脑已经是工作生活中不可缺少的电子产品,无论工作.娱乐都离不开他们.那么经常运用电脑,在熟练掌握最基本的操作技巧之外,有一些在日常运用中的错误认知是需要我们了解并 ...

  8. 软件的接口设计图_面向服务架构(SOA)的汽车软件分析和设计

    --后台回复"资料",领取特斯拉专利技术解析报告-- 文章转自:联合电子 本文将先重温下SOA架构的核心要素与优势,并重点讨论话题"面向服务架构(SOA)的汽车软件分析和 ...

  9. 软件的接口设计图_【学术论文】高速接口JESD204B的灵敏放大器设计

    摘要 采用UMC 28 nm CMOS工艺,在低电源电压下设计实现了一种高速.低失调的灵敏放大器.在传统差分放大器.AB类锁存器等电路的基础上进行改进,提出了一种新型结构的灵敏放大器.利用Cadenc ...

最新文章

  1. 二、python小功能记录——监听鼠标事件
  2. Qunee for HTML5 V2.5新版本发布
  3. python.freelycode.com-优化Pandas代码执行速度入门指南
  4. Gradle 1.12用户指南翻译——第五十四章. 构建原生二进制文件
  5. 【BZOJ2500】幸福的道路 树形DP+RMQ+双指针法
  6. 如何搭建个人独立博客
  7. java语言程序设计考题_《JAVA语言程序设计》期末考试试题及答案6(应考必备题库)...
  8. 2014-07-22 如何成为一名合格的职业人士
  9. Python基础2-Python中文乱码(转)
  10. Leetcode之两棵二叉搜索树中的所有元素
  11. 医学计算机应用基础表格,计算机应用基础-04-WORD表格
  12. 【分享】VMwareESXI详细黑群晖教程 DS36156
  13. 台式计算机上的fn键是哪个,电脑键盘上Fn键到底有什么用?
  14. 使用openoffice任意格式的office转pdf
  15. Pandas数据结构
  16. 浏览器的两种设置方法:本地的设置方法与静默设置
  17. 台式计算机排行榜2018,CPU天梯图性能排行榜 台式电脑CPU天梯图2018年4月最新版...
  18. 计算机中的黑盘;蓝盘,绿盘;红盘;固态硬盘的区别
  19. ERP/MIS系统中集成命令行式的功能调用
  20. 转行做“程序员”很难?这里有几个建议...

热门文章

  1. 类的数据成员——C#【类与对象】。
  2. 注意力机制学习(全公式)
  3. 【Cprimerplus_03】算术运算符、关系运算符、逻辑运算符
  4. FreeSurfer的安装和使用
  5. Python(水仙花数)
  6. 如何选择适合你的兴趣爱好(三十八),爵士舞
  7. 小米机器人磁条_两年质保!小米生态链“石头科技”上线新品:扫地机器人T6...
  8. “操作无法完成,因为文件已在另一个程序中打开”怎么办?
  9. 人格特质测试游戏──画一只猪来测试你的个性特质
  10. kesci中文乱码问题