首页 > 技术文章 > 软件工程期末

NanKe-Studying 2022-05-30 22:35 原文

出题类型

单选题(1*20,共 20 分)
填空题(1*10,共 10 分)
判断题(1*10,共 10 分)
简答题(4 小题,共 20 分) 
综合题(4 小题,共 40 分)画图(dfd ns/pad二选一 顺序 类 40分)

考题

面向对象概念

面向对象包括3部分:面向对象分析、面向对象设计、以及面向对象编程。面向对象编程的两个重要概念是类和对象。

1 章:软件与软件工程

1、软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。

2、软件是与计算机系统操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。

第 2 章:软件过程

1、RUP(Rational Unified Process),统一软件开发过程,统一软件过程是一个面向对象且基于网络的程序开发方法论。RUP 最重要的它有三大特点:1)软件开发是一个迭代和增量过程,2)软件开发是由 Use Case 驱劢的,3)软件开发是以架构设计(Architectural Design)为中心的。

2、螺旋模型是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模型的系统化与严格监控。螺旋模型最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失

3、软件生命周期阶段【大题】

问题定义、可行性研究、需求分析、软件设计、编码、测试、运行与维护

第 3 章:可行性研究与项目开发计划

1、可行性研究(Feasibility Study),是指在调查的基础上,通过市场分析、技术分析、财务分析和国民经济分析,对各种投资项目的技术可行性与经济合理性进行的综合评价。可行性研究的基本仸务,是对新建或改建项目的主要问题,从技术经济角度进行全面的分析研究,并对其投产后的经济效果进行预测,在既定的范围内进行方案论证的选择,以便最合理地利用资源,达到预定的社会效益和经济效益。

第 4 章:结构化分析

1、数据流图(Data Flow Diagram):简称 DFD,它从数据传递和加工角度, 以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程, 是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。【P50-P51】

 

2、掌握DFD 图的绘制

3、数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,数据定义是其基本功能,使用数据字典为简单的建模项目。

4、需求分析需要考虑的内容有哪些方面

  1. 确定软件系统的综合需求(功能、性能、接口、运行环境等);
  2. 分析系统的数据需求;
  3. 导出软件系统的逻辑模型;
  4. 修正系统开发计划;
  5. 开发原型系统;
  6. 编写需求规格说明书;
  7. 需求评审,验证需求分析的正确性

5、软件需求规格说明的内容有哪些

软件的目的、软件的功能需求、性能需求、软件的运行环境、软件的外部接口、软件的属性及约束条件

第 5 章:结构化设计

1、程序流程图又称程序框图,是用统一规定的标准符号描述程序运行具体步骤的图形表示。

2、耦合性(英诧:Coupling,dependency,或称耦合力或耦合度)是一种软件度量,是指一程序中,模块及模块之间信息或参数依赖的程度。耦合的几种分类和区分

3、内聚性(Cohesion)也称为内聚力,是一软件度量,是指机能相关的程序组合成一模块的程度,或是各机能凝聚的状态或程度。内聚的几种分类和区分

4、NS,PAD 图的绘制【P93-P94】

https://blog.csdn.net/weixin_43557093/article/details/103478103

https://www.bilibili.com/video/BV1WJ411W7pB

5、ER 图由哪些部分组成

实体、属性、联系

第 6 章:面向对象方法与 UML

https://blog.csdn.net/unique_perfect/article/details/104989118

1、状态图(Statechart Diagram)是描述一个实体基于事件反应的劢态行为,显示了该实体如何根据当前所处的状态对不同的事件做出反应。

2、顺序图的绘制【P122应用题第1道 非原题】

3、类图的绘制,和类与类之间的关系,类和对象的关系【类图大多填空】

 

依赖、关联、聚合、组合、继承、泛化

4、可见性的权限有哪些,区别在哪里?

public、private、protected、default 

1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用
2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用。
3、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。

第 7 章:面向对象分析

1、面向对象的分析方法的三种类型模型

 对象模型、动态模型、功能模型(书上用例模型)

第 8 章:软件体系结构与设计

1、软件设计的原则有模块化 、抽象、逐步求精、信息隐藏、复用性设计、灵活性设计。

2、设计模式有哪些【5个

第 9 章:面向对象设计

1、封装,即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;

将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。

2、继承的特征

继承可以使子类具有父类的属性和方法,同时还可以在子类中重新定义,属性和方法。

3、人机界面设计主要包括三个方面:设计软件构件之间的接口;设计模块和其他非人的信息生产者和消费者的界面;设计人(如用户)和计算机间的界面。

4、面向对象设计的特点、特征

特点:抽象、封装、继承、多态。

封装可以有效地避免程序设计时代码耦合,继承可以有效地利用代码资源,多态性可以有效地提高代码的重用性。

1.抽象:首先在面向对象的程序设计中,每一种事物都可以成为“对象”。那么一个对象可以有多个特点,比如人有身高,体重等等。把一
个事物对象的特点概括表示出来的过程叫做抽象。比如员工对象的薪水,上班时间,绩效考考核等等。
2.封装:在完成抽象之后,把静态属性和动态属性归为一个整体,那么这个步骤叫做封装。通过封装,一个对象的属性和操作这些属性的方
法可以被捆绑在一起,形成一个类。那么这个步骤就是封装。、
3.继承:继承是为了对于现有的东西进行拓展和扩充的一种方式。所谓继承就是,之前已经有了一个类,那么在这个类的基础上,想要拓展
出新的功能和特性,同时要保持原油的特性,就继承原来的类(父类)的基础上出现子类。也就是新的类从旧的类的基础上继承而来,从而
达到代码的扩充和重用的目的。
4.多态:多态指的是每一个种类的对象具有相同名称的行为(比如同名函数),但是具体的函数的实现方式却是不一样的。基类和子类的不
同指针调用不同的类的这个函数也会有不同的结果。

第 10 章:软件实现

1、编程语言的主要分类及其优缺点

编程语言分别有机器语言、汇编语言、高级语言、超高级语言

1.机器语言

优点:最底层,运行速度快。

缺点:很复杂,开发效率低。

2.汇编语言

优点:最底层,运行速度快。

缺点:很复杂,开发效率低。.  

3.高级语言

(1)解释型语言:

优点:跨平台,开发效率高。

缺点:依赖环境运行,运行效率低。

(2)编译类语言:

优点:执行速度快,不依赖语言环境运行。

缺点:开发效率低,跨平台差。

第 11 章:软件测试

1、软件测试的目的和作用

目的:是为了发现错误而执行程序的过程

作用:在用户之前提前发现错误,测试工程师要站在用户的角度来发现错误,使用户拿到的产品质量更高,让用户更满意。

  1、一个好的测试在于发现至今未发现的错误。软件测试的目的当然是发现程序当中的错误。那什么是好的测试呢,就是在下一轮软件迭代后的测试中发现了上一轮没有发现的错误。

  2、一个成功的测试用例是在于发现了至今未发现的错误的测试。这样的软件测试用例对错误的发现率会很高,这就是一个好的测试用例。

第 12 章:软件维护与软件工程管理

1、沟通成本管理,沟通渠道计算公式是:沟通渠道=N(N-1)/2,N 是指参与沟通者的人数。沟通渠道是指由信息源选择和确立的传送信息的媒介物,即信息传播者传递信息的途径。

2、CMM 是⼀种⽤于评价软件承包能⼒以改善软件质量的⽅法,侧重于软件开发过程的管理及⼯程能⼒的提⾼与评估

分为五个等级:⼀级为初始级,⼆级为可重复级,三级为已定义级,四级为已管理级,五级为优化级

3、软件的变动影响

软件发生更改之后,同时可能会引起需求、设计、测试发生改动。要使软件产品与其需
求、设计、测试的状态相一致,就要及时修改这些文档。如果这些文档没有及时更新,
很可能会给后续的开发和维护工作带来不便。

https://blog.csdn.net/baidu_38634017/article/details/88430847?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164826106116780271928850%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164826106116780271928850&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~hot_rank-2-88430847.142^v5^pc_search_result_cache,143^v6^control&utm_term=%E6%95%B0%E6%8D%AE%E6%B5%81%E5%9B%BE&spm=1018.2226.3001.4187

https://blog.csdn.net/ya0017230/article/details/88576487?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164826106116780271928850%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164826106116780271928850&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~hot_rank-9-88576487.142^v5^pc_search_result_cache,143^v6^control&utm_term=%E6%95%B0%E6%8D%AE%E6%B5%81%E5%9B%BE&spm=1018.2226.3001.4187

https://blog.csdn.net/taoxugang2012/article/details/103063828?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164826362316782248527718%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164826362316782248527718&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-5-103063828.142^v5^pc_search_result_cache,143^v6^control&utm_term=ns+pad&spm=1018.2226.3001.4187

https://blog.csdn.net/unique_perfect/article/details/104989118

https://blog.csdn.net/weixin_43557093/article/details/103478103

https://blog.csdn.net/qq_45748133/article/details/121585101

推荐阅读