软件工程阶段性小测试题

本贴最后更新于 1767 天前,其中的信息可能已经时异事殊

软件工程阶段性小测试题 1
1.简述软件的概念。
软件是与计算机系统中硬件相互依存的部分,它是包括程序、数据及相关文档的完整集合。
2.根据自己的理解简述下软件工程的概念。
软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题,指导计算机软件开发和维护的一门工程学科。
3.软件的生命周期。(必考)
软件定义阶段 软件开发阶段 软件使用和维护阶段 退役阶段
问题的定义 可行性研究 需求分析 概要设计 详细设计 编码实现阶段 综合测试阶段 软件运行和维护阶段
4.根据自己的理解简述什么是 OOA 及 OOA 和 UML 的关系。
面向对象方法的概念:OOA/OOD,面向对象分析法/设计法 需求分析方法
UML:图形表示法、语言、工具,表达面向对象设计的工具,不是过程,也不是方法。
UML 是 OOA 重要工具是不确定需求或业务的角度按照面向对象的思想来分析业务
5.简述什么是需求,及需求的分类。
用户对目标软件系统在功能、行为、性能、设计约束等方面的期望
功能:所设计的软件要做什么?
性能:软件功能在执行过程中的速度、可使用性、响应时间、各种软件功能的恢复时间、吞吐能力、精度、频率等。
设计约束:在效果、实现的语言、数据库完整性、资源限制、操作环境等方面所要求的标准。
外部接口:与人、硬件、其他软件和其他硬件的相互关系。
功能需求:系统必须要完成的活动,也就是系统将要投入的业务应用。
技术需求:是指与企业的环境、硬件和软件有关的所有可操作目标。
6. 什么是 ER 图及 ER 图的三要素。
数据存储需求包括数据实体、数据实体的属性以及它们之间的关系。用来定义数据存储需求的模型被称为实体—联系图
实体 联系 属性


软件工程阶段性小测试题 2
1.简述下什么是软件设计,软件设计分成几个阶段?
需求分析阶段:已经明确了软件系统要“做什么”。 软件设计阶段:“怎么做”,是如何实现软件系统的需求。 软件设计:将需求描述的“做什么”问题,变为一个实施方案的创造性过程,使整个项目在逻辑上和物理上得以实现。软件设计是软件工程中的核心部分,也是第一个开发活动,也是最重要的活动,是软件项目实现的关键阶段。
确定设计方案 软件结构设计 数据文件设计
数据文件设计 书写总体设计文档
2.简述结构化软件设计的原理。
软件的模块化 抽象和逐步求精 模块独立性 信息隐蔽和局部化
3.简述模块的定义。
一个软件系统根据其功能,可以分解成许多较小的程序单元,这些具有独立功能的程序单元就是模块。
(1)模块是构成程序的基本构件。
(2)模块是具有独立功能,单独命名的一段程序。单独命名可以方便其他模块对其进行调用。
(3)模块的名称必须表达其功能。
4.衡量模块独立程度的两个定性度量标准是什么,在软件模块设计时,模块设计的目标是什么(两个指标达到的高低程度)。
耦合,内聚
。高内聚,低耦合
5.简述包含关系和扩展关系的表示方法,并简单举例子,并指出这两种关系的不同点。
包含关系用一个虚箭头另加《include》表示,从包含用例指向被包含用例
,所以取钱和输入密码之间就是包含关系
扩展关系用一个虚箭头外加《extend》表示,由扩展用例指向被扩展用例
,手机用户在用自动缴费机充值之后,可以打印小票,也可以不打印,这完全取决于用户的意愿,并不是必须要执行的
extend 关系和 include 关系最明显的区别就是:扩展用例是可选的,包含用例是必选的

6.简述程序设计语言的发展历程,并简述面向对象语言的特点。
1.第一代语言(机器语言 1GL)
2.第二代语言(汇编语言 2GL)
3.第三代语言(高级语言 3GL)
高级语言是面向用户的、基本上独立于计算机种类和结构的语言。
4.第四代语言(简称 4GL)
4GL 是非过程化语言,编码时只需说明“做什么”,不需描述算法细节。数据库查询和应用程序生成器是 4GL 的两个典型应用
抽象即去掉与主题无关的次要部分,而仅仅抽象取出与工作有关的实质的内容加以研究。
封装就是利用抽象数据类型将数据和基于数据的操作封装在一起,数据被保护在抽象数据类型的内部,系统的其它部分只有通过封装在数据外部的被授权的操作,才能够与这个抽象数据类型进行交流。
2.继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。
3.多态性是允许你将父对象设置成为一个或更多的他的子对象的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。


软件工程阶段性小测试题 3
1.简述软件设计两个阶段的任务分别是什么?
第一阶段
1.设计软件结构
2.数据结构及数据库设计
3.编写总体设计文档
4.评审
第二阶段
复审 编写详细设计说明书、用户操作手册等文档
数据结构设计和数据库设计
接口设计
过程设计
代码设计、输入/输出设计、网络设计等等
2.简述结构化软件设计的原理。
软件的模块化 抽象和逐步求精 模块独立性 信息隐蔽和局部化
3.简述结构化软件设计中使用模块的优点。
减少复杂性 提高软件的可靠性 提高软件的可维护性
有助于软件工程的组织管理 有助于信息屏蔽
4.衡量模块独立程度的两个定性度量标准是什么,在软件模块设计时,模块设计的目标是什么(两个指标达到的高低程度)。
偶合 内聚
高内聚低耦合
5.简述包含关系和扩展关系的表示方法,并简单举例子,并指出这两种关系的不同点。
表示方法:包含关系用一个虚箭头另加《include》表示,从包含用例指向被包含用例 所以取钱和输入密码之间就是包含关系
扩展关系用一个虚箭头外加《extend》表示,由扩展用例指向被扩展用例
举例: 手机用户在用自动缴费机充值之后,可以打印小票,也可以不打印,这完全取决于用户的意愿,并不是必须要执行的
不同点: extend 关系和 include 关系最明显的区别就是:扩展用例是可选的,包含用例是必选的

7.简述软件详细设计的表达工具有哪些?
包括流程图、盒图(N-S 图)、问题分析图(PAD 图)、判定表、判定树、过程设计语言(PDL)。

1 操作
wise 在 2019-06-25 16:47:33 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • RabbitMQ

    RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种语言客户端,如:Python、Ruby、.NET、Java、C、PHP、ActionScript 等。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    49 引用 • 60 回帖 • 399 关注
  • Mac

    Mac 是苹果公司自 1984 年起以“Macintosh”开始开发的个人消费型计算机,如:iMac、Mac mini、Macbook Air、Macbook Pro、Macbook、Mac Pro 等计算机。

    164 引用 • 594 回帖 • 1 关注
  • uTools

    uTools 是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合。

    5 引用 • 13 回帖
  • V2Ray
    1 引用 • 15 回帖 • 1 关注
  • 单点登录

    单点登录(Single Sign On)是目前比较流行的企业业务整合的解决方案之一。SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

    9 引用 • 25 回帖 • 2 关注
  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    238 引用 • 224 回帖 • 1 关注
  • 数据库

    据说 99% 的性能瓶颈都在数据库。

    330 引用 • 614 回帖
  • JVM

    JVM(Java Virtual Machine)Java 虚拟机是一个微型操作系统,有自己的硬件构架体系,还有相应的指令系统。能够识别 Java 独特的 .class 文件(字节码),能够将这些文件中的信息读取出来,使得 Java 程序只需要生成 Java 虚拟机上的字节码后就能在不同操作系统平台上进行运行。

    180 引用 • 120 回帖 • 2 关注
  • 链书

    链书(Chainbook)是 B3log 开源社区提供的区块链纸质书交易平台,通过 B3T 实现共享激励与价值链。可将你的闲置书籍上架到链书,我们共同构建这个全新的交易平台,让闲置书籍继续发挥它的价值。

    链书社

    链书目前已经下线,也许以后还有计划重制上线。

    14 引用 • 257 回帖 • 2 关注
  • 前端

    前端技术一般分为前端设计和前端开发,前端设计可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括 HTML、CSS 以及 JavaScript 等。

    247 引用 • 1347 回帖
  • Sublime

    Sublime Text 是一款可以用来写代码、写文章的文本编辑器。支持代码高亮、自动完成,还支持通过插件进行扩展。

    10 引用 • 5 回帖
  • Dubbo

    Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,是 [阿里巴巴] SOA 服务化治理方案的核心框架,每天为 2,000+ 个服务提供 3,000,000,000+ 次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。

    60 引用 • 82 回帖 • 609 关注
  • 宕机

    宕机,多指一些网站、游戏、网络应用等服务器一种区别于正常运行的状态,也叫“Down 机”、“当机”或“死机”。宕机状态不仅仅是指服务器“挂掉了”、“死机了”状态,也包括服务器假死、停用、关闭等一些原因而导致出现的不能够正常运行的状态。

    13 引用 • 82 回帖 • 38 关注
  • SOHO

    为成为自由职业者在家办公而努力吧!

    7 引用 • 55 回帖 • 92 关注
  • DNSPod

    DNSPod 建立于 2006 年 3 月份,是一款免费智能 DNS 产品。 DNSPod 可以为同时有电信、网通、教育网服务器的网站提供智能的解析,让电信用户访问电信的服务器,网通的用户访问网通的服务器,教育网的用户访问教育网的服务器,达到互联互通的效果。

    6 引用 • 26 回帖 • 521 关注
  • CSDN

    CSDN (Chinese Software Developer Network) 创立于 1999 年,是中国的 IT 社区和服务平台,为中国的软件开发者和 IT 从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。

    14 引用 • 155 回帖
  • 996
    13 引用 • 200 回帖
  • HBase

    HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的 Google 论文 “Bigtable:一个结构化数据的分布式存储系统”。就像 Bigtable 利用了 Google 文件系统所提供的分布式数据存储一样,HBase 在 Hadoop 之上提供了类似于 Bigtable 的能力。

    17 引用 • 6 回帖 • 45 关注
  • 京东

    京东是中国最大的自营式电商企业,2015 年第一季度在中国自营式 B2C 电商市场的占有率为 56.3%。2014 年 5 月,京东在美国纳斯达克证券交易所正式挂牌上市(股票代码:JD),是中国第一个成功赴美上市的大型综合型电商平台,与腾讯、百度等中国互联网巨头共同跻身全球前十大互联网公司排行榜。

    14 引用 • 102 回帖 • 405 关注
  • CSS

    CSS(Cascading Style Sheet)“层叠样式表”是用于控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。

    180 引用 • 447 回帖 • 1 关注
  • GitBook

    GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。

    3 引用 • 8 回帖
  • ReactiveX

    ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的 API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。

    1 引用 • 2 回帖 • 125 关注
  • 创业

    你比 99% 的人都优秀么?

    82 引用 • 1398 回帖
  • OpenShift

    红帽提供的 PaaS 云,支持多种编程语言,为开发人员提供了更为灵活的框架、存储选择。

    14 引用 • 20 回帖 • 604 关注
  • Google

    Google(Google Inc.,NASDAQ:GOOG)是一家美国上市公司(公有股份公司),于 1998 年 9 月 7 日以私有股份公司的形式创立,设计并管理一个互联网搜索引擎。Google 公司的总部称作“Googleplex”,它位于加利福尼亚山景城。Google 目前被公认为是全球规模最大的搜索引擎,它提供了简单易用的免费服务。不作恶(Don't be evil)是谷歌公司的一项非正式的公司口号。

    49 引用 • 192 回帖
  • 微信

    腾讯公司 2011 年 1 月 21 日推出的一款手机通讯软件。用户可以通过摇一摇、搜索号码、扫描二维码等添加好友和关注公众平台,同时可以将自己看到的精彩内容分享到微信朋友圈。

    129 引用 • 793 回帖 • 1 关注
  • Hibernate

    Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。

    39 引用 • 103 回帖 • 685 关注