软件工程考研笔记整理(三小时速成)(4)

软工考研软姐!学习软工无死角!

第六章 详细设计

详细设计阶段的根本目标是确定怎样具体地实现所要求的系统。(算法,数据结构)

1基本的控制结构:顺序;选择;循环(重复)

2结构程序设计的定义:如果一个程序的代码块仅仅通过顺序、选择、循环这3中基本控制结构进行连接,并且每个代码块只有一个入口和一个出口则称这个程序是结构化的。

3三种结构程序设计

1.经典的结构程序设计:顺序、IF-THEN-ELSE和DO-WHILE

2.扩展的结构程序设计:经典+DO-CASE+DO-UNTIL

3.修正的结构程序设计:扩展+LEAVE

4人机界面设计问题:(用错系命)

1.系统响应时间两个重要属性:长度和易变性

2.用户帮助设施

3.出错信息处理

4.命令交互

5人机界面设计指南:

1.一般交互指南

2.信息显示指南

3.数据输入指南

6过程设计的工具

1.程序流程图

2.盒图

3.PAD图

4.判定表

5.判定树

6.过程设计语言PDL

7面向数据结构的设计方法

Jackson图:顺序结构;选择结构;重复结构。

8程序复杂程度的度量方法

1.McCabe方法

2.Halstead方法

————————————————

第七章 实现

1通常把编码和测试统称为实现

2编码就是把软件设计结果翻译成用某种程序设计语言书写的程序

3测试:为了发现程序中的错误而执行程序的过程。

4软件测试准则:

1.所有测试都应该能追溯到用户需求

2.应该远在测试开始之前就制定好测试计划

3.把Pareto原因应用到软件测试当中(二八定律)

4.应该从“小规模”测试开始,并逐步进行“大规模”测试

5.穷举测试是不可能的

6.为了达到最佳的测试效果,应该由独立的第三方从事测试工作

5测试步骤:单集确系

1.模块测试

2.子系统测试

3.系统测试

4.验收测试

5.平行运行

6单元测试重点:(路边接错树)

1.模块接口

2.局部数据结构

3.重要的执行通路

4.出错处理通路

5.边界条件

7驱动程序就是一个子程序,它接收数据,把这些数据传送给被测试的模块,并且印出有关的结果。

8存根程序代替被测试的模块所调用的模块,因此存根程序也可以称为“虚拟子程序”。

9集成测试是测试和组装软件的系统化技术。

10.集成测试的两种方法:

1.非渐增式测试方法

2.渐增式测试方法

11渐增方式的集成策略

1.自顶向下

2.自底向上(不需要存根程序)

12确认测试也称为验收测试,它的目标是验证软件的有效性。

13白盒测试技术

1.它的前提可以把程序看成装在一个透明的白盒子里,测试者完全知道程序的结构和处理算法。这种方法按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作。白盒测试又称为结构测试。

2.逻辑覆盖:(语判条组路)

①语句覆盖

②判定覆盖

③条件覆盖

④判定/条件覆盖

⑤条件组合覆盖

⑥点覆盖

⑦边覆盖

⑧路径覆盖

3.控制结构测试:

①基本路径测试

②条件测试

③循环测试

14黑盒测试技术

1.对于软件测试而言,黑盒测试法把程序看作一个黑盒子,完全不考虑程序的内部结构和处理过程。也就是说,黑盒测试是在程序接口进行的测试,它只检测程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据并产生正确的输出信息,程序运行过程中能否保持外部信息地完整性,黑盒测试又称为功能测试。

2.黑盒测试力图发现下述类型的错误

①功能不正确或遗漏了功能

②界面错误

③数据结构错误或外部数据库访问错误

④性能错误

⑤初始化和终止错误

3.等价划分

4.边界值分析

5.错误推测

6.因果图法

15调试途径

1.蛮干法:最低效

2.回溯法

3.原因排除法

①对分查找法(类似折半查找)

②归纳法。

③演绎法

16软件可靠性是程序在给定的时间间隔内,按照规格说明书的规定完成地运行地概率。

17软件可用性是程序在给定的时间点,按照规格说明书的规定,成功地运行地概率。

18调试是在测试发现错误之后排查错误的过程。定位错误的位置,找出错误的原因并改正。

————————————————

第八章 维护

这个阶段是软件生命周期的最后一个阶段,其基本任务是保证软件在一个相当长的时期能够正常运行。

1软件维护的类型

①改正性维护(校正)

②适应性维护

③完善性维护

④预防性维护

2软件维护的特点:1.非结构化维护2.结构化维护(文档)

3软件维护的代价:有形代价;无形代价。

4维护组织:①维护管理员②系统管理员③变化授权人

5维护 告(文档)

1.满足维护要求表中提出的要求所需要的工作量

2.维护要求的性质

3.这项要求的优先次序

4.与修改有关的事后数据

6软件可维护性:维护人员理解、改正、改动或改进这个软件的难易程度。

7决定软件可维护性的因素:(靠效用修理测

①可理解性

②可测试性

③可修改性

④可移植性

⑤可重用性

软件工程考研扣群::三七九一六四四五八

第九章 面向对象方法学引论

1面向对象方法学的出发点和基本原则,是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程。

2面向对象的四个要点:

1.认为客观世界是由各种对象组成。(对象)

2.把所有对象都划分成各种对象类。(类)

3.按照子类与父类的关系,把若干个对象类组成一个层次结构的系统。(继承)

4.对象彼此之间仅能通过传递消息互相联系。(消息)

3面向对象方法学的优点:

1.与人类习惯的思维方法一致

2.稳定性好

3.可重用性好

4.轻易开发大型软件产品

5.可维护性

4对象的定义:对象是具有相同状态的一组操作的集合。

5对象的特点:

1.以数据为中心

2.对象是主动的

3.实现了数据封装

4.本质上具有并行性

5.模块独立性好

6类就是对具有相同数据和相同操作的一组相似对象的定义。

7实例就是由某个特定的类所描述的一个具体的对象。

8消息就是要求某个对象执行在定义它的那个类中所定义的某个操作的规格说明:

1.接收消息的对象

2.消息选择符

3.零个或多个变元

9方法就是对象所能执行的操作,也就是类中所定义的服务。

10属性就是类中所定义的数据。

11封装就是把某个事物包起来,使外界不知道该事物的具体内容。

12继承是指能够直接获取已有的性质和特征。

13多态性是指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象。

14重载:

①函数重载是指在同一个作用域内的若干个参数特征不同的函数可以使用相同的函数名称。

②运算符重载是指同一个运算符可以是施加于不同类型的操作数上面。

15面向对象建模:对象模型;动态模型;功能模型。

16对象模型表示静态的、结构化的系统的“数据”性质。它是对模拟客观世界实体的对象以及对象彼此间的关系的映射,描述了系统的静态结构。

软件工程考研扣群::三七九一六四四五八

17类与类之间的关系:依关泛实

关联

泛化

依赖

细化(实例)

18聚集:也称为聚合,是关联的特例。

共享聚集。空心

组合聚集。实心

19泛化:普通泛化;受限泛化。

20动态模型:

事件

状态

行为

21功能模型

用例图:1.系统;2.行为者;3.用例;4.用例之间的关系

22三种模型之间的关系:(对动功)

1.针对每个类建立的动态模型,描绘了类实例的生命周期或运行周期

2.状态转换驱使行为发生,这些行为在数据流图中被映射成处理,在用例图中被映射成用例,它们同时与类图中的服务相对应

3.功能模型中的处理对应于对象模型中提供的服务

4.数据流图中的数据存储,以及数据的源点/终点,通常是对象模型中的对象

5.数据流图中的数据流,往往是对象模型中对象的属性值,也可能是整个对象

6.用例图的行为者,可能是对象模型中的对象

7.功能模型中的处理可能产生动态模型中的事件

8.对象模型描述了数据流图中的数据流、数据存储以及数据源点/终点的结构

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

上一篇 2022年7月6日
下一篇 2022年7月6日

相关推荐