什么是软件危机怎样消除软件危机 软件工程导论考研大纲?
软件工程导论考研大纲?
上海理工大学2021年869数据结构及软件工程考研大纲
第一部分:数据结构
一、参考书目
《数据结构》(C语言版),严蔚敏等主编,清华大学出版社,2012年
二、考试内容要求
1、清楚数据结构非盈利组织会计分类、数据结构与算法的密切关系。
2、熟悉各种基本是数据结构及操作,学会依据不好算问题具体的要求来你选择数据结构。
3、掌握到设计算法的步骤和算法分析方法。
4、掌握数据结构在排序和查找等具体用法算法中的应用。
5、明确的掌握到文件组织方法和索引技术。
三、考试内容
1、数据结构基本概念及简单的算法分析什么
1)什么是数据结构
2)抽象的概念数据类型及面向对象概念:数据类型;数据抽象与抽像数据类型;面向对象的概念;作用于详细解释数据结构的语言
3)数据结构的抽象层次
4)算法定义
5)性能分析与度量:算法的性能标准;算法的后期测试;算法的事前估计也;空间奇怪度器量;时间复杂度度量;时间复杂度的渐进式表示法;渐进的空间紧张.
2、数组
1)才是抽象数据类型的数组:数组的定义和初始化;才是抽象数据类型的数组;数组的顺序存储
2)顺序表:顺序表的定义和特点;顺序表的类定义;顺序表的中搜索、插到和删除;不使用顺序表的事例
3)字符串:字符串的抽象数据类型;字符串操作的实现;字符串的模式不兼容
3、链表
1)单链表:单链表的结构;单链表的类定义;单链表中的插入到与删除掉;带表头结点的单链表;用模板定义的单链表类;单链表的游标类;静态链表
2)循环链表:循环链表的类定义;用循环链表解约瑟夫问题;多项式及乘积:多项式的类定义;多项式的加法
3)顿井站链表
4、栈和队列
1)栈:栈的抽象数据类型;栈的顺序存储位置它表示;栈的链接读取它表示
2)队列:队列的抽象数据类型;队列的顺序读取它表示;队列的链接存储来表示;3)队列的应用例子
4)优先级队列:优先级队列的定义;优先级队列的存储可以表示
5、二分查找
1)递归的概念
2)迷宫问题
3)递归过程与递归工作栈
4)用来栈实现方法的迷宫问题非二分查找解法
5)广义表:广义表的概念;广义表的意思是及操作;包容关系表存储结构的实现;广6)义表的访问算法;广义表的递归算法
6、树与森林
1)树和森林的概念:树的定义;树的术语;树的抽象数据类型
2)二叉树:二叉树的定义;二叉树的性质;二叉树的抽象数据类型
3)二叉树的意思是:数组来表示;链表读取来表示
4)二叉树遍历树:中序遍历数组;前序遍历过程;后序遍历;应用二叉树遍历过程的事例;二叉树遍历的游标类;不需要栈的二叉树中序遍历树算法
5)线索化二叉树:线索;中序线索化二叉树;前序与后序的线索化
6)堆:堆的定义;堆的建立;堆的再插入与删掉
7)树与森林:树的存储意思是;森林与二叉树的转换;树的遍历树;森林的遍历树
二叉树的计数
8)霍夫曼树:路径长度;霍夫曼树;霍夫曼编码
7、数学集合与搜索
1)集合教材习题解答可以表示:整数集基本概念;以整数集为基础知识的抽象数据类型;用位向量实现方法整数集抽像据类型;用稳定有序链表基于集合的抽象数据类型
2)等价类:等价关系与等价类;确认真包含类的链表方法;并查集
3)简单点搜索结构:搜索的概念;支持静态搜索结构;顺序搜索;基于组件活动有序顺序表的对分搜索
4)二叉搜索树:定义;二叉搜索树上的搜索;二叉搜索树的插入到;二叉搜索树的彻底删除;与二叉搜索树相关的中序游标类
5)AVI树:AVI树的定义;平衡化旋转;AVI树的再插入和彻底删除;AVI树的高度
8、图
1)图的基本概念:图的基本概念;图的抽象数据类型
2)图的储存表示:邻接矩阵;延伸部分表;过渡区多贵表
3)图的遍历数组与连通性:深度优先搜索;广度优先于搜索;相连分量;重连通分量
4)最小生成树:克鲁斯卡尔算法;普里姆算法
5)活动网络:用顶点它表示活动的网络;用边表示活动的网络
9、排序
1)插入排序:真接插入升序;对分插入排序;链表插入排序;希尔排序
2)同样排序:起泡排序;快速排序
3)选择排序:就你选排序;锦标赛排序;堆排序
4)归并排序:归并;迭代的归并排序算法;递归过程的表区域合并排序
5)基数排序:多关键码排序;链式基数排序
6)外排序:外排序的都差不多过程;k路平衡归并;初始归并段的生成;最适合归并树
10、索引与散列结构
1)动态和静态索引结构:线性索引;倒排表;m路动态和静态中搜索树
2)相册索引结构:动态的m路查看树;b_树;b_树的插入;b_树的删除;b树
3)散列:词典的抽象数据类型;散列表与散列方法;散列函数;处理溢出的闭散列方法;一次性处理流出的开散列方法;散列表总结
第二部分:软件工程
一、参考书目
张海藩张海藩_,牟永敏牟永敏_著,《软件工程导论》(第6版),清华大学出版社,2013年
二、考试内容范围
掌握到软件工程的基本概念、基本原理和基本方法;掌握到可行性研究、需求分析、软件设计、软件测试、魔兽维护和衍化、软件过程和管理等方面的基础知识,组建软件开发的系统化和工程化的概念和质量意识,还能够综合利用软件工程的方法与技术。
1、软件工程主要内容
1)软件的本质特征和软件开发的本质困难
2)软件危机的产生及软件工程的起源
3)软件工程的定义
4)软件工程学科的重要地位
2、软件生命周期
1)需求:需求的定义和类型、需求工程过程、需求规格只能证明、需求评审
设计:高层设计和具体一点设计
2)测试:不验证与确认、单元测试、集成测试、验证测试和测试工作、回归测试和部署
3)程序维护和演化出:演化的基本概念、演化和魔兽维护活动、程序理解和逆向工程、系统和过程的再工程过程
4)项目管理:人员组织和管理、项目计划和监视、软件暗自盘算、风险控制、配置管理
3、软件过程模型(一)
1)瀑布模型
2)衍化模型及增量和迭代方法的本质特征
3)螺旋模型
4、软件过程模型(二)
1)材软件开发过程模型
2)攻击速度过程模型
5、可行性分析
1)可行性研究的目标
2)可行性研究的过程和预期好结果
3)经济可行性的基本概念和评估方法
4)技术可行性的基本概念
5)合规可行性的基本概念
6、需求工程概要
1)软件需求的根本不挑战
2)软件需求的制品
3)需求工程过程--需求获取、分析、规约和验证
4)需求管理--需求跟踪监视、优先级和需求变更
5)领域模型和数据字典
7、结构化需求分析
1)建模基础:模型和视图
2)系统流程图
3)数据流图
4)实体-联系联系图
5)状态转换成图、IPO图
8、面向对象需求分析(一)
1)UML建模基础
2)用例和用例图
3)用例图的基本是符号与企业应用程序关系
4)商业用例详细解释
9、面向对象需求分析(二)
1)用活动图、顺序图和通信图描述用户痛点
2)领域的概念类与类图
3)类之间的关系
4)过程模型的创建步骤与建模举例子
10、软件设计基础
1)总体设计和具体一点电脑设计的概念
2)软件设计过程
3)软件设计的基本原理
4)软件设计的启发式规则
5)非功能性需求和软件设计
11、人机界面设计
1)像是的人机界面设计原则
2)人机交互和界面风格
3)人机界面讲与建模
4)界面设计活动和设计原则
5)界面设计的实现工具
6)可用性和人机交互评价
12、软件体系结构基础
1)软件体系结构视图
2)软件体系结构模式明确的
3)基于组件构件的软件开发和UML构件图
4)在用UML作战部署图描述部署模型
13、结构化软件设计
1)层次图、HIPO图和结构图
2)程序流程图、盒图
3)不能判断表和进一步判断树
4)面向数据流的设计方法
14、面向对象软件设计
1)需求分析的精化-实体类、边界类和控制类
2)类图和对象图
3)CRC技术
4)类之间的关系
5)从分析类到射击类
6)使用状态机图通过设计建模
7)不使用活动图、顺序图和通信图参与设计建模
15、程序设计语言和编码
1)程序设计语言
2)编程规范和程序设计风格
3)软件设计质量度量
4)McCabe急切度分析
16、软件测试、软件以维护和演化出
1)软件测试的目的
2)软件测试策略和模型
3)灰盒测试
4)测试用例的编写
5)软件测试成功标准
6)软件程序维护的概念
7)软件维护过程
8)软件演变和再工程技术
软件危机的准确定义是什么?
软件危机(Software Crisis)是计算机软件在它的开发和维护过程中所遇到的一系列相当严重问题。概括地说,通常真包含两方面的问题:如何能旗下软件,怎么样才能柯西-黎曼方程对软件日益强大增长的速度的需求;如何能维护数量不断地迅速膨胀的已有软件。“软件危机”令人们就开始对软件及特性并且加深三步的研究,人们转变了早期对软件的不对的看法。早期那些被如果说是优秀的程序动不动爱不是那么容易被别人看懂,通篇充满了程序技巧。现在人们普片其实杰出的的程序以外功能正确的,性能优良之外,还应该要不容易看懂、不容易不使用、不容易修改和扩充。程序设计语言虽说为计算机的应用新开拓了到极点广阔的前景,但游荡在软件世界的幽灵——“软件危机”却存在。是因为软件的开发不单造成程序设计的方法、结构的制约,并且给予开发周期和软件开发成本的限制,更重要的是软件质量的保障与其程序设计的正确性关系颇大。假如所变更土地性质的软件其可靠性无法得到保障,在运行中很快就会再产生后果不堪设想啊的严重后果。其次就是,有软件危机的存在,也随机着程序员断的去更新完和完善系统软件
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。