软件构造总结

第一章 软件开发概述
1.1 程序与软件构造
什么是程序br> 什么是软件br> 软件按功能划分为三种类型:、___
软件按工作方式划分为:

软件按服务对象的范围划分为

程序设计的活动包括_______、
等不同阶段。
图灵奖获得者________提出的________________是程序设计的精辟观点。
程序设计的核心
__________________________________________。
软件开发不只是纯粹的程序的功能设计,还包括_________、___________ 、____________ 、____________ 和 ___________ 。
什么是软件工程br> 1.2 软件生存周期
从用户的角度,软件生存周期分为哪几个阶段br> 从开发者的角度,软件生存周期分为哪几个阶段br> 软件实现与通常的程序设计的主要区别是什么br> 1.3 软件开发过程
瀑布式开发过程把开发分为__________、___________ 、____________ 、___________ 、这6个基本活动。
瀑布模型的核心思想是什么br> 瀑布模型的主要问题是什么br> 什么是增量开发br> 增量开发模型的优点br> 增量模型存在的风险br> PSP(个体软件过程)。PSP为个体的能力提供了一个阶梯式的进化框架。借助这个框架,个体可以循序渐进地改进开发过程。它赋予软件人员度量和分析工具,使其清楚地认识到自己的表现和潜力,从而可以提高自己的技能和水平。
1.4 敏捷开发
什么是敏捷开发br> 敏捷开发的4个核心价值观br> 敏捷开发方法需遵循的12条原则br> 什么是意图导向编程br> 典型的敏捷方法包括 EP、Scrum 、Crystal、FDD、DSDM。
什么是Scrum方法br> 1.5-1.6
什么是软件构造br> 按照语言的计算模型可以将高级语言划分为___和____两大类。
按照语言的转换和执行方式高级语言分为___和

第二章 模块化软件构造
什么是模块化软件构造br> 2.1 分解与模块化
分而治之的策略是什么br> 分解的核心是

什么是关注点分离br> 是面向方面的程序设计的核心概念。
什么是模块化br> 软件模块指的是 。
模块具有的三大特征是什么br> 是现代软件开发技术的一个基本原则。
是实现软件模块化的一个基本手段。
在模块设计中,最基本的是

结构化程序设计方法又称为
或_____法,内容是什么br> 2.2 数据结构与算法
数据结构指什么br> 常见的数据结构有数组、集合、栈、队列、堆、树、图、散列表等。
什么是算法br> 基本的算法(类型)包括查找(如顺序查找、二分查找)、排序(冒泡排序、快速排序、插入排序、归并排序等)、二叉树的遍历(前序遍历、中序遍历、后序遍历)、图的遍历(广度优先遍历、深度优先遍历)、最短路径算法。
计算机算法与数据结构的关系br> 存在过以数据为中心和以操作为中心的开发方法。面向对象的开发方法就是综合了数据与操作,将其封装成一个软件实体——对象。
2.3 模块化设计理论初步
模块化的5条基本原则是什么br> 模块的内聚性指什么由低到高分为哪7个等级br> 模块间的耦合性指什么由低到高分为哪7个等级br> 软件概要设计的目标是力求
___ 、
__。
2.4 测试程序
什么是软件测试br> 测试需求要求程序的预期结果和实际运行结果都要明确、合理、可观察、可比较。
测试设计的内容包含设计用例,此外还有是否采用测试工具或自动化框架、如何组织人员进行测试等测试过程。
测试用例是一组测试数据(包含运行条件)和预期结果。
测试用例设计的核心是设计测试输入。
什么是测试误判、什么是测试漏判br> 使用测试用例的三种方式br> 2.5-2.6
什么是调试br> 编写测试程序的四个优点br> 测试程序的基本组成 1.建立测试环境,包括初始化测试用例,初始化统计变量。2.运行测试。3.处理测试结果,主要是统计、分析测试结果,并将其显示、存储。
第三章 面向对象的软件构造
模块化与面向对象技术的区别br> 3.1 抽象与封装
什么是函数簇br> 什么是抽象br> 程序设计有两种抽象分别是过程抽象(函数抽象)和数据抽象。
什么是封装br> 封装有哪些好处br> 数据结构是一个值的集合和定义在这个值集上的一组操作的总称。
数据结构可分为两类:原子类型、结构类型。
抽象数据类型(ADT)是与表示无关的数据类型,是一个数据模型及定义在该模型上的一组操作。
3.2-3.7
类的模块化准则要求一个类应当是完整的、原始的、充分的。
什么是多态br> 学会类图和类关系图的设计。
什么是设计模式br> 设计模式的核心元素包括:标示模式的名称、适用环境的场景、描述设计的模板。
面向对象设计的7条基本原则是什么br> 答:1.单一职责原则(一个类只有一种单一功能)、2.开放封闭原则(对拓展开发,对修改封闭)、3.依赖倒转原则(抽象不应该依赖于细节,细节应该依赖于抽象)、4.里氏代换原则(子类必须能够替换它的基类)、5.接口隔离原则(不应该强迫客户依赖于他们不用的方法)6.迪米特法则(尽量减少类之间的依赖关系,最直接的实现就是在两个类之间创建一个中间类)7.合成复用原则(尽量使用聚合、组合关系)。
第四章 数据处理的软件构造
实现数据持久性基本途径是文件和数据库。
4.1-4.2
什么是持久数据br> 字符由比特组成,一组字符组成字段,若干字段构成记录,一个文件可以是一组相关的记录。
在操作系统中,文件是组织和管理数据的基本单位。
文件分为物理文件和逻辑文件,物理文件是什么辑文件是什么br> 流表示任意输入的源或任意输出的目的地。如果数据某个外部源出入程序,称为输入流;
序列化和反序列化。序列化是将对象的状态信息(成员变量)转换为可以存储或传输的形式的过程。它的逆过程称为反序列化。
4.3 编写健壮的程序
健壮性是指程序对于要求之外的输入进行判断并处理、使程序保持运行状态。
防御性编程是指如果无效数据传入了函数——即使是调用者的过错,函数也不能受到破坏。
防御性编程的基本思想是什么br> 什么是异常br> 异常处理一般有两种模型终止模式和恢复模式,请解释一下这两种模式。
什么是断言br> 断言可分为三类前置断言(代码执行前必须满足的特性)、后置断言(代码执行后必须满足的特性)、不变断言(代码执行前后不能改变的特性)。
断言的基本用途是调试和测试程序。
4.4-4.6
什么是正则表达式br> 什么是表驱动编程复杂的逻辑编织在表中,而不是代码中,使得程序结构更加简洁、逻辑清楚、容易修改和扩展。
语句覆盖测试的基本准则:设计测试用例,使得程序的每条语句都得到执行。
逻辑覆盖测试:判定覆盖和条件覆盖。
判定覆盖:设计测试用例,使得程序中的每个判断分支都至少经历一次。
条件覆盖:设计测试用例,使得程序中的每个布尔条件的所有可能的值都至少满足一次。
第五章 用户交互的软件构造
程序的两个视角序员视角,程序员是程序的产生者,他们看到的是程序的内部组成。用户视角,用户使用程序实现其需求。
当程序不止一个功能时,如何呈现并执行这些功能涉及哪两个方面的问题br> 两种菜单的设计方式分别是br> 两个菜单的分组原则分别是br> 什么是人机交互关于可用性的学习和实践,是关于理解和构建用户乐于使用且易于使用的软件和技术,并能在使用时发现产品有效性的学科。
什么是交互设备br> 最常用的几种交互设备键盘、定位设备、显示器。
5种交互风格:直接操纵、菜单选择、表格填充、命令语言和自然语言。
什么是交互界面br> 常见的几种人机交互界面:命令语言用户界面、图形用户界面GUI、直接操作用户界面、多媒体用户界面、多通道用户界面、虚拟现实技术。
人机交互涉及心理学、认知科学、计算机科学、产品设计、图形设计等。
指导人机交互涉及的3条基本原则习性,灵活性,健壮性。
指导人机交互设计的8条黄金规则. 尽量保持一致,2.满足普遍可用性,3.提供信息反馈,4.设计对话框以产生结束信息,5.预防并成立错误,6.允许撤销操作,7.支持内部控制点,8.减轻短时记忆负担。
什么是以用户为中心的开发方法br> 交互设计的过程模型,它体现了“迭代”和“以用户为中心”的特征。主要包括哪4项基本活动.交互设计以标识和建立用户需求开始。2.提出满足需求的候选设计方案。3.构建交互式版本。4.设计评估。
什么是原型标系统的初步形态,为系统的后续版本当作模板。
什么是快速原型br> 快速原型开发的迭代过程.功能选择,2.构造原型,3.运行和评价原型,4.修改和完善原型。
使用原型法开发的优势是什么br> 程序的可用性指的是程序是否有用,包括用户界面是否易用。主要有三个特征:有效性、效率和主观满意度。
可用性的指标有什么.易学性,2.交互效率,3.易记性,4.容错性。
根据是否运行待测程序,软件测试分为动态测试和静态测试。
静态测试的主要作用有.发现程序在功能、逻辑构造方面的错误;2.验证实现的程序在需求和设计方面符合用户的要求;3.确认程序符合预先定义的开发规范和标准;4.保证软件开发过程的规范性;5.有助于程序员之间相互学习。
静态测试常见的类型有哪些面检查、代码走查、正式审查、同行评审及静态程序分析。
第七章 GUI软件构造
什么是顶层容器类br> 什么是工具条br> 组件可以粗略的分为哪三类.顶层容器类,2.非顶层的容器类(中间容器类),3.非容器类(基本组件)。
GUI的基本设计规范是什么.界面合理,2.风格一致,3.元素标准
什么是观察者模式br> 什么是事件驱动编程br> 焦点是获取键盘或鼠标输入的能力。
默认焦点和焦点切换需遵循的设计原则:默认焦点应当处于用户经常最先输入组件。焦点的切换顺序应当从左至右、由上到下。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年5月11日
下一篇 2022年5月11日

相关推荐