1.1、软件危机:在计算机软件的开发与维护当中所遇到的问题
1.2、软件工程的五个面向理论:
(1)面向流程分析:就是面向流程进行需求分析。
(2)面向数据分析:就是面向元数据进行概要设计。
(3)面向对象实现:就是面向对象进行详细设计和编程实现。
(4)面向功能测试:就是面向功能进行单元测试、集成测试、Alpha测试和Beta测试。
(5)面向过程管理:就是面向过程对软件生存周期各个阶段进行管理和控制。
2.1、螺旋模型:引入了风险驱动的思想,适合大型复杂的系统。
2.2、原型模型:在初步需求分析之后,马上向客户展示一个软件产品原型,对客户进行培训,让客户试用,在试用中收集客户意见,根据客户意见立刻修改原型,之后再让客户试用,反复循环几次,直到客户确认为止。原型模型通过向用户提供原型获取用户的反馈,使开发出的软件能够真正反映用户的需求。
2.3、原型模型优点:开发速度快,用户意见反馈实时,有利于开发商在短时间内推广并实施多个客户。
2.4、快速原型法:适用于有效适应用户的动态变化,及早地提供工作软件。
2.5、瀑布模型特点:以文档为驱动,适合于需求明确的项目。
2.6、软件生存周期:
立项(或签合同)、下达任务书、需求分析、概要设计、详细设计、编码实现、软件测试、软件发布与实施、软件维护、版本更新或退役。
2.7、软件开发进度书:用进度表示,明确每个阶段需要完成的任务的一张表。
3.1、软件需求规格说明书的规格:
(1) 引言:编写目的、背景说明、术语定义及参考资料等。
  (2) 概述主要功能、约束条件或特殊需求。
  (3) 数据流图与数据字典。
  (4) 用户接口、硬件接口及软件接口。
  (5) 性能需求、属性等。
  (6) 其它需求,如数据库、操作及故障处理等。
3.2、软件开发过程中抽取和整理用户的需求、数据
3.3、需求分析的最终目标:导出系统的详细的逻辑模型,通常用数据流图、E-R图、状态转换图、数据字典和主要的处理算法描述这个逻辑模型。
3.4、面向对象的三种方法?(对象、过程、数据)
3.5、E-R图包括哪三个部分?(实体、实体间联系、实体属性)
3.6、需求分析的主要任务:准确定义未来系统的目标,确定为了满足用户的需要系统必须做什么。
4.1、模块的 耦合程度越弱 ,说明模块独立性越强。
4.2、模块的作用域:应该在控制域内一个模块的控制域,是模块本身及其所有从属(及所有可供他调用的下级模块)。一个模块的作用域,是受这个模块中决策影响的其他模块。
4.3、软件结构图的形态特征反映重入率  扇入软件结构的深度,宽度,扇入, 及扇出应适当)。
4.4、软件结构图 不出故障、持续运行的 可用性
4.5、概要设计得到的是 优化后的软件结构图。
4.6、PAD图(问题分析图)的优点之一:支持逐步细化、从左到右的完成。
4.7、模块的内聚性最高:模块的内聚反映模块内部联系的紧密程度。如果一个模块内部相关性很高,而且都是为了同一个功能,我们就说它的内聚程度高。
4.8、总体设计时,加强模块间的联系
4.9、模块的定义:是数据说明、可执行语句等对象的集合。
4.10、程序问题
4.11、程序问题
5.1、软件建模的三个模型:功能模型、业务模型、数据模型
6.1、成功的测试指:发现了至今没有发现的错误。
6.2、测试计划在何时实行?
1)why——为什么要进行这些测试;   2) what—测试哪些方面,不同阶段的工作内容;   3) when—测试不同阶段的起止时间;   4) where—相应文档,缺陷的存放位置,测试环境等;   5) who—项目有关人员组成,安排哪些测试人员进行测试   6) how—如何去做,使用哪些测试工具以及测试方法进行测试。
6.3、测试时,覆盖哪一个最好?
(1)为每个等价类编号;
(2)设计一个新的测试方案,以尽可能多的覆盖尚未被覆盖的有效等价类,重复这一步骤,直到所有有效等价类被覆盖为止。
(3)设计一个新的测试方案,使它覆盖一个尚未被覆盖的无效等价类, 重复这一步骤,直到所有无效等价类被覆盖为止。
1 语句覆盖:语句覆盖就是设计若干个测试用例,运行被测试程序,使得每一条可执行语句至少执行一次;
2 判定覆盖(也称为分支覆盖):设计若干个测试用例,运行所测程序,使程序中每个判断的取真分支和取假分支至少执行一次;
3 条件覆盖:设计足够多的测试用例,运行所测程序,使程序中每个判断的每个条件的每个可能取值至少执行一次;
4 判定-条件覆盖:设计足够多的测试用例,运行所测程序,使程序中每个判断的每个条件的所有可能取值至少执行一次,并且每个可能的判断结果也至少执行一次,换句话说,即是要求各个判断的所有可能的条件取值组合至少执行一次;
5 条件组合测试:设计足够多的测试用例,运行所测程序,使程序中每个判断的所有可能的条件取值组合至少执行一次;
6 路径测试:设计足够多的测试用例,运行所测程序,要覆盖程序中所有可能的路径。
6.4、软件测试的目的:发现软件错误。
6.5、白盒测试是根据内部逻辑进行测试的。
6.6、测试用例:是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。
6.7、黑盒测试?也称为功能测试,它着眼于程序的外部特征,而不考虑程序的内部逻辑结构。测试者把被测程序看成一个黑盒,不用关心程序的内部结构。黑盒测试是在程序接口处进行测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。
黑盒测试主要采用的技术有:等价分类法、边沿值分析法、错误推测法和因果图等技术。
7.1、软件维护:
1 改正性维护:满足用户对已开发产品的性能与运行环境不断提高的要求,进而达到延长软件寿命的目的。
2 适应性维护:对程序使用期间发现的程序错误进行诊断和改正的过程,配合变化了的环境进行修改软件的活动;
3 完善性维护:满足用户在使用过程中提出增加新的功能或修改已有功能的建议而进行的工作;
4 预防性维护:为了改善未来的可维护性或可靠性而修改软件的工作。sql语句实现的四种功能
7.2、软件维护哪一个最重要?
8.1、系统应错误而发生错误的运行的软件:容错软件。
8.2、软件配置管理协调开发,使错误降为最小并最有效地提高生产效率,降低混乱。
1.读者同意“四种开发方法”和“五个面向理论”的提法吗?为什么?
  “四种开发方法”是指“面向过程的方法、面向对象的方法、面向数据的方法、形式化方法”。面向过程的方法来源于面向过程的程序设计;面向对象的方法来源于面向对象的程序设计;面向数据的方法就是面向元数据的方法,它来源于关系数据库程序设计;形式化方法来源于离散数学中的集合运算和逻辑运算。四种方法各适用于不同的场合,各有优缺点,互相促进,构成开发方法论的多极化世界。
  “五个面向理论”是指“面向流程分析、面向数据设计、面向对象实现、面向功能测试、面向过程管理”,它是在综合“四种开发方法”各自的优点之后提出的软件工程实施理论,是对前者的继承与发展。总之,上述提法既精彩又实用。
2.如何用面向数据的编程方法进行数据处理?
首先是在数据库服务器上编制存储过程和触发器,其次是用建立视图与运行视图的方法进行大量的数据统计处理,最后是用SQL语句进行各种查询统计和报表输出。
3.需求分析的基本思路是什么?
  需求分析的思路,是从用户的功能需求(系统需要做什么)出发,由系统的业务流程和数
据流程导出系统的业务模型和功能模型,识别出系统的元数据和中间数据,为今后设计数据模型做好充分准备。同时,对系统的软、硬件环境配置,开发工具,开发工期,费用,开发进度,培训,系统风险进行评估。
4.业界存在哪三种需求分析方法?你认为哪种更好?
业界存在三种需求分析方法:面向功能分析、面向对象分析、面向数据分析。
以上这三种方法,各自适用于不同的目标系统。目前时尚的方法是面向对象,包括面向主体和面向方法。总的来说,对于系统软件和应用软件来说,面向功能需求分析的方法简单明了,而面向对象的需求分析方法则负责抽象。对于以关系数据库为平台的信息系统软件来说,面向数据需求分析方法的特点是抓住了本质。但是,这三种分析方法都离不开面向流程分析这根总线:功能、对象、数据都是在流程中产生的,又都是为流程服务的。
5.概要设计说明书和详细设计说明书有何区别?
《概要设计说明书》,一是要覆盖《需求规格说明书》的全部内容,二是要作为指导详细设计的依据。他注重框架上的设计,它是软件系统的总体结构设计、全局数据库(包括数
据结构)设计、外部接口设计、功能部件分配设计、部件之间的内部接口设计,它要覆盖需求规格说明书中的功能点列表、性能点列表、接口列表。
《详细设计说明书》,一是要覆盖概要设计说明书的全部内容,而是要作为指导程序设计的依据,他注重微观上和框架内的设计,它是各子系统的公用部件实现设计、专业部件实现设计、存储过程实现设计、触发器实现设计、外部接口实现设计、部门角授权设计和其他详细设计等。
两者的设计者不同,在一般情况下,《概要设计说明书》是由系统设计师负责,《详细设计说明书》则由高级程序员负责。
6.怎样理解“面向数据方法用在数据库服务器层次上系统的设计与实现,面向对象方法用在除数据库服务器层次外的其他层次上系统的设计与实现,面向过程方法用在其他两种方法本身内部函数的设计与实现”?
上述提法是实事求是的。我们知道,所谓的“面向过程的方法是传统的软件工程方法,面向对象的方法是现代软件工程方法”的观点是肤浅的。这三种方法不是互相孤立、毫无联系、
彼此对立的,而是相互帮助、取长补短、彼此有关的。三种设计方法各有所长,所以各有应用空间。又各有所短,所以各有局限性。我们只能扬长避短、为我所用。
一般而言,对于一个大型信息系统的建设,由于其分析、设计、实现、测试、维护的重点是数据库服务器上的数据,所以在实施的过程中,在宏观上仍然要遵守“五个面向”的实施理论,即“面向流程分析、面向数据设计、面向对象实现、面向功能测试、面向过程管理”。
7.请说明“三个模型”的定义及三者之间的关系。
  功能模型是描述系统能做什么,即对系统的功能、性能、接口和界面进行定义。
  业务模型是描述系统在何时、何地、由何角、按什么业务规则去做,以及做的步骤或流程,即对系统的操作流程进行定义。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。