当前位置:文档之家› 887数据结构和软件工程.doc

887数据结构和软件工程.doc

887数据结构和软件工程.doc
887数据结构和软件工程.doc

大连理工大学2018年硕士研究生入学考试大纲

科目代码:887 科目名称:数据结构和软件工程

Ⅰ.考查目标

软件工程学科专业基础综合考试是为大连理工大学招收软件工程的硕士研究生而设置的具有选拔性质的联考科目,其目的是科学、公平、有效地测试考生掌握软件工程大学本科阶段专业基础知识、基本理论、基本方法的水平和分析问题、解决问题的能力,评价的标准是高等学校软件工程优秀本科生所能达到的及格或及格以上水平,以利于大连理工大学择优选拔,确保硕士研究生的入学质量。

Ⅱ.考查范围

软件工程学科专业基础综合考试涵盖数据结构、软件工程等学科专业基础课程。要求考生系统地掌握上述专业基础课程的概念、基本原理和基本方法,能够运用所学的基本原理和基本方法分析、判断和解决有关理论问题和实际问题。

Ⅲ.考试形式和试卷结构

(一) 试卷满分及考试时间

本试卷满分为150分,考试时间为180分钟。

(二) 答题方式

答题方式为闭卷、笔试。

(三) 试卷内容结构

数据结构75分

软件工程75分

(四) 试卷题型结构

单项选择题60分(数据结构、软件工程各为15小题,每小题2分)

综合应用题90分(数据结构、软件工程各为45分)

Ⅲ.考查内容

数据结构

[考查目标]

1.掌握数据结构的基本概念、基本原理和基本方法。

2.掌握数据的逻辑结构、存储结构及基本操作的实现,能够对算法进行基本的时间复杂度与空间复杂度的分析。

3.能够运用数据结构的基本原理和方法进行问题的分析与求解,具备采用C或C++语言设计与实现算法的能力。

一、线性表

(一)线性表的定义

(二)线性表的顺序存储结构及其操作的实现(三)线性表的链序存储结构及其操作的实现(四)线性表的应用

二、栈、队列和数组

(一)栈和队列的基本概念

(二)栈和队列的顺序存储结构和链式存储结构(三)栈和队列基本操作的实现

(四)栈和队列的应用

(五)数组的定义和顺序存储方式

(六)矩阵的压缩存储

三、树与二叉树

(一)树的基本概念

(二)二叉树

1.二叉树的定义及性质

2.二叉树的顺序存储结构和链式存储结构3.二叉树的遍历

4.线索二叉树

(三)树、森林

1.树的存储结构

2.树和二叉树的转换,森林与二叉树的转换3.树和森林的遍历

(四)哈夫曼(Huffman)树和哈夫曼编码

四、图

(一)图的基本概念

(二)图的存储方式

1.数组(邻接矩阵)表示法

2.邻接表

(三)图的遍历

1.深度优先搜索

2.广度优先搜索

(四)图的基本应用

1.最小生成树

2.最短路径

3.拓扑排序

4.关键路径

五、查找

(一)查找的基本概念

(二)静态查找表

1. 顺序查找法

2. 折半查找法

(三)动态查找表

1. 二叉排序树和平衡二叉树

2. B-树及其基本操作、B+树的基本概念

(四)哈希(Hash)表

(五)查找算法的分析及应用

六、排序

(一)排序的基本概念

(二)插入排序

1.直接插入排序

2.折半插入排序

(三)起泡排序(bubble sort)

(四)简单选择排序

(五)希尔排序(shell sort)

(六)快速排序

(七)堆排序

(八)二路归并排序(merge sort)

(九)基数排序

(十)外部排序

(十一)各种排序算法的比较

(十二)排序算法的应用

软件工程

[考查目标]

一、软件工程基本原理

软件危机的产生以及软件工程的由来、软件工程包括的主要内容以及软件开发的主要方法及技术等。

1.软件危机的基本概念及产生原因

2.软件的分类及发展历史

3.软件工程的意义及主要内容

4.软件开发的主要方法及技术

二、软件过程

软件开发过程以及软件开发生命周期的定义,软件产品开发的任务框架和规范。软件开发过程模型,包括传统的瀑布模型、增量模型、螺旋模型、喷泉模型等以及敏捷模型中的极限编程、SCRUM、MSF等。

1.软件开发过程及生命周期

2.传统的过程模型

3.迭代开发等敏捷开发模型

三、软件开发活动

完整的软件系统的开发过程,涵盖需求分析、概要设计、详细设计、实现及测试等各个环节采用的方法和技术。

1.软件需求分析

2.软件系统概要设计

3.软件系统详细设计

4.交互设计

5.设计优化

6.软件系统的实现与测试

四、软件开发环境

团队开发所涉及到的相关管理方法、技术和工具,包括软件配置管理、项目计划、质量管理与过程改进等内容。

1.软件配置管理

2.项目计划与跟踪

3.工作量估算

4.质量管理

复习资料:

《数据结构(c语言版)》,严蔚敏、吴伟民编著,清华大学出版社,

《软件工程导论》(第6版). 张海藩编著. 清华大学出版社. 2013.

数据结构和软件工程简介

数据结构和软件工程简介 数据结构的基本概念 ?数据是描述客观事物并能为计算机加工处理的符号的集合。数据元素是数据的基本单位,即数据集合中的个体。有些情况下也把数据元素称为结点、记录等。一个数据元素可由一个或多个数据项组成。数据项是有独立含义的数据最小单位,有时也把数据项称为域、字段等。 ?数据结构(Data Structure)是指数据元素的组织形式和相互关系。数据结构一般包括以下三方面的内容。 1、数据的逻辑结构 ?数据的逻辑结构从逻辑上抽象地反映数据元素间的结构关系,它与数据在计算机中的存储表示方式无关。 因此,数据的逻辑结构可以看作是从具体问题抽象出来的数学模型。 ?数据的逻辑结构有两大类: ?线性结构——线性结构的逻辑特征是:有且仅有一个始端结点和一个终端结点,并且除两个端点结点外的所有结点都有且仅有一个前趋结点和一个后继结点。线性表、堆栈、队列、数组、串等都是线性结构。 ?非线性结构——非线性结构的逻辑特征是:一个结点可以有多个前趋结点和后继结点。如树形结构、图等 2、数据的物理结构 ?数据的物理结构是逻辑结构在计算机存储器里的映像,也称为存储结构。 ?数据的存储结构可用以下四种基本存储方法体现: ?顺序存储方法——把逻辑上相邻的结点存储在物理位置上相邻的存储单元里,结点之间的逻辑关系由存储单元的邻接关系来体现。由此得到的存储结构称为顺序存储结构。 ?链式存储方法——不要求逻辑上相邻的结点在物理位置上也相邻,结点之间的逻辑关系是由附加的指针字段表示的。由此得到的存储结构称为链式存储结构。 ?索引存储方法——在存储结点信息的同时,还建立附加的索引表,索引表中的每一项称为索引项。索引项由关键字和地址组成,关键字是能惟一标识一个结点的那些数据项,而地址一般是指示结点所在存储位置的记录号。 ?散列存储方法——根据结点的关键字直接计算出该结点的存储地址。 ?用不同的存储方法对同一种逻辑结构进行存储映像,可以得到不同的存储结构。四种基本的存储方法也可以组合起来对数据逻辑结构进行存储映像。 3、数据的运算 ?数据的运算是指对数据施加的操作。它是定义在数据的逻辑结构上的,但运算的具体实现要在物理结构上进行。数据的每种逻辑结构都有一个运算的集合,常用的运算有检索、插入、删除、更新、排序等 线性表: 1.顺序表 ?当线性表采用顺序存储结构时称之为顺序表。在顺序表中,数据元素按逻辑次序依次放在一组地址连续的存储单元里。由于逻辑上相邻的元素存放在内存的相邻单元里,所以顺序表的逻辑关系蕴含在存储单元的邻接关系中。在高级语言中,可以直接用数组实现。 2. 单链表 ?采用链式存储结构的链表是用一组任意的存储单元来存放线性表的数据元素,这组存储单元既可以是连续的,也可以是不连续的,甚至可以是零星分布在内存中的任何位置上,从而可以大大提高存储器的使用效率。 ?在线性链表中,每个元素结点除存储自身的信息外,还要用指针域额外存储一个指向其直接后继的信息(即后继的存储位置:地址)。 3. 栈与队列 栈与队列是两种特殊的线性表。即它们的逻辑结构与线性表相同,只是其插入、删除运算仅限制在线性表的一端或两端进行。

《软件工程导论》教学大纲

软件工程教学大纲 课程名称:软件工程 开课学期:第5学期 学时/学分:48 / 3 课程类型:专业必修课 开课专业:游戏开发 选用教材: 《软件工程导论》(第四版),张海藩编著,清华大学出版社; 主要参考书: 《实用软件工程》(第二版),郑人杰、殷人昆、陶永雷编著,清华大学出版社; 《软件工程:实践者的研究方法》(原书第五版),Roger S. Pressman,机械工业出版社; 《软件工程》(原书第六版),Ian Sommerville,机械工业出版社; 《面向对象与传统软件工程》(原书第五版),Stephen R. Schach,机械工业出版社。 《面向对象的软件工程》,B.Bruegge,A.H.Dutoit著,清华大学出版社 一、课程性质、目的与任务 软件工程是研究软件开发维护和软件管理的一门工程科学,本课程是计算机科学与技术专业指导性教学计划规定的教学环节中的一部分,教学目的旨在介绍软件工程的基本原理和主要内容,为学生进一步深入学习与软件工程相关的其他课程如:软件需求过程、软件分析与设计和软件项目管理、软件过程管理等打下坚实的理论基础。同时启发学生把握软件开发过程的基本规律,掌握和运用软件分析、设计的常用方法、软件开发过程的管理方法以及质量保证方法等,来解决软件开发中的实际问题,达到学以致用的目的。 二、教学基本要求 本门课程是软件工程导论性质的课程,所以它比较全面而概括地介绍了与软件开发、管理和维护相关的各阶段的工作。学生通过这门课程的学习,能够掌握软件工程的基本含义、它的主要作用、软件开发的过

程、软件开发各个阶段的主要目的和可能采用的一些技术手段和方法,并理解软件项目管理的主要思想。课程完成后,学生能够应用软件工程的思想指导软件开发实践,并能够比较容易地进行软件工程其他相关后续课程的深入学习。 要求教师在教学中采用启发式教学和因材施教,并至少给出一些章节的启发式教学内容的设计。 制作电子教学课件,运用课件进行教学。 三、考核方式: 总成绩分为两个部分:平时成绩(占40% )和期末卷面成绩(占60%),期末考试采用开卷。

数据结构课程设计(软件工程)

《数据结构课程设计》指导书 软件学院软件工程(娱乐软件) 2015年06月

《数据结构课程设计》指导书 一、课程设计题目与要求 根据课程设计题目规模,要求每个题目可分组完成(不超过3个人)。一经确定不得随意调换,题目由各组选派代表抽签确定,设计题目不得更换。 1. 运动会分数统计 任务:参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20) 功能要求: 1) 可以输入各个项目的前三名或前五名的成绩; 2) 能统计各学校总分, 3) 可以按学校编号或名称、学校总分、男女团体总分排序输出; 4) 可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。 5) 数据存入文件并能随时查询 6) 规定:输入数据形式和范围:可以输入学校的名称,运动项目的名称 输出形式:有中文提示,各学校分数为整形 界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。 存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。请在最后的上交资料中指明用到的存储结构; 测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明; 2. 飞机订票系统 任务:通过此系统可以实现如下功能: 录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况; 订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班; 退票:可退票,退票后修改相关数据文件; 客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。 修改航班信息:当航班信息改变可以修改航班数据文件 要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能; 3.宿舍管理查询系统 1) 任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求: A. 采用交互工作方式 B. 建立数据文件,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选两种方法实现) 2) 查询菜单: (用二分查找实现以下操作) A. 按姓名查询 B. 按学号查询 C. 按房号查询

软件工程导论论文(精)

软件工程一.关于软件工程软件是计算机系统中程序.数据和相关文档的集合,一种逻辑产品。软件工程是一门研究工程化方法构建和维护有效的.实用的和高质量的软件的学科。软件工程是一门比较年轻的学科,追溯其出现的时期我们可以回到二十世纪中期。那个时候出现了软件危机。上个世纪五十年代计算机刚从军用转到民用,编写程序的工作被视为艺术家的创作。由于当时计算机受价格因素的限制未能普及,人们对这一新生的披着神秘面纱的产品并不了解。再加上编程人员追求的是如何在有限的处理器能力和储存空间约束下编写出执行速度快.体积小的程序,使程序中充满了各种各样让人迷惑的技巧,这时的软件的开发生产就非常依赖开发人员的聪明才智。但是得到了六十年代,由于计算机生产硬件的突破使计算机的应用范围得到较大的扩展对软件系统的需求和软件自身复杂性急剧上升,传统开发方法不能满足对软件的需要,出现了软件危机。为解决这个问题,1986年“软件工程”在NATO会议上被首次提出,就是把软件开发从“艺术”和“个体行为”向“工程”和“群体协同工作”转化。从此一门新的学科便诞生了。软件的发展又分为几个阶段:先是程序设计再到程序系统,再是软件工程,到现在是面向对象软件工程。因为一种软件往往比较庞大,需要一个或多个团体才能完成,所以以一种工程化的方法不仅能够提高软件的质量也能提高开发效率。软件工程是研究和应用如何以系统性的.规范化的.可定量的过程化方法去开发维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。其目标是在给定成本.给定进度的前提下开发软件。开发出的软件应具有可修改性.有效性.可靠性.可维护性.可适应性.可移植性.可追踪性.可重用性.可理解性.可互操作性。其中可修改性事实容许对系统进行修改而不增加原系统的复杂性。有效性是软件系统能最有效的利用计算机的时间资源和空间资源。软件工程包括技术和管理两方面。由方法.工具.和过程三部分。软件开发方法就是完成软件开发的各项任务的技术方法,软件开发工具是为了方法运用提供支撑。软件工程的过程包括定义.开发.运行维护。定义包括可行性研究.需求分析两个步骤。可行性研究就是根据已有的技术手段结合要开发软所可能运用的技术来判断开发的可行度。需求分析就是要通过客户了解软件所应具备的功能。这一阶段是软件开发前的准备阶段,是很重要的一个阶段。

软件工程数据结构实验教案

实验教案实验一栈和队列 重点: 1.掌握如何使用STL中的栈 2.掌握如何自己编写栈的代码 难点: 用数组实现栈的原理,并能用c++描述 具体实验讲解如下: 本实验是要通过几段代码的编写,熟悉栈和队列的编写和应用 在实验指导书中有4个题目,其中题目1、2、3是关于栈的,题目4是关于队列的。其中题目1难度小,题目2和题目3是有联系的,经过努力可以做出,但是题目4难度大些,属于选作内容 1.题目一(STL中的栈) 读懂实验指导书中的Task1中的程序(使用栈进行序列的顺序反转),并编译运行,通过此了解如果要实现一个栈类,里面需要的基本的成员函数。这个程序在书上也有。 (1)由于程序是用了STL(标准模板库,可以简单的看成是一个函数库,在其中有各种有用的类、函数和算法),栈在其中有实现。栈在STL中的实现用到了类模板,也就是说其栈是独立于类型的,模板提供参数化类型,也就是能将类型名作为参数传递给接收方来建立类或函数。比如stack numbers;中就是声明了一个栈,这个栈中存放的数据类型为double。 (2)注意要使用c++的输入输出需要加上几行语句如下,因为cout和cin是在命名空间std中的: #include using namespace std; 2.题目二、题目三(自己编写栈) 这里可以把题目二和题目三合成一个题目,在一个程序中完成就可以了。 合并后的题目如下:自己编程程序实现一个简单的栈,并用于替换题目1中对标准模板库中的栈的使用,同时对自己实现的栈的功能进行扩充,添加实现如下几个函数 (a) clear (b) full (c) size。 使用新添加的栈函数,显示在进行数字序列反转时输入的十进制数的个数。 注意: (1)实验题目文档中已经把大部分的代码都给出来了。栈可以用链表或者数组实现,这里是 用数组实现。 (2)实验题目中给出的仅仅是部分的代码,自己还需要在看懂的前提下,进行修改补充,才 可以达到具体的要求,不明白的地方也可以参考书上这一部分。 一些补充代码如下:

《软件工程导论》课程设计说明书

《软件工程.课程设计》 医药公司进销存 管理信息系统 专业:计算机科学与技术 指导教师:欧阳浩 班级:计071 班 学号:200700401006 姓名:苏建 完成时间:2010年7月7日 广西工学院计算机工程系

1.需求收集、描述 (3) 1.1 发掘业务过程(活动图) (3) 1.2 领域分析(确定候选类) (4) 1.3 确定系统完全需求(生成包图和高层用例图) (5) 2. 系统USE CASE模型……………………………………………………………,,,..6 2.1 分析(按照需求设计用例) (6) 2.2 角色定义…………………………………………………………………… ..6 2.3 USE CASE工作描述 (7) 2.4 USE CASE视图 (7) 3. 系统逻辑结构设计 (8) 3.1进货系统(描述涉及概念、映射对象、涉及角色) (8) 3.1.1事件流过程(操作描述映射成为方法的表示格式为类和方法 (8) 3.1.2 Sequence Diagram(顺序图) (8) 3.1.3 Collaboration Diagram(协作图或通信图) (9) 3.2销售系统(SaleSystem) (9) 3.2.1事件流过程 (9) 3.2.2 Sequence Diagram (10) 3.2.3 Collaboration Diagram (10) 3.3库存系统(V alueManager) (10) 3.3.1事件流过程 (11) 3.3.2 Sequence Diagram (11) 3.3.3 Collaboration Diagram (12) 3.4系统整体类的组织结构 (12) 4.程序框架 (13) 4.1详细类图(系统静态结构,应该包含类的详细关系) (13) 4.2生成程序框架(参照自己设计的4.1) (14) 4.2.1 类1 (14) 4.2.2 类2 (14) 4.2.3 类3 (15) 4.2.4 类4 (15) 4.2.4 类5 (16) 5.个人总结(自己在使用软件工程建模工具进行系统分析、设计的心得体会) (16) 6.参考文献 (18) 一、需求收集、描述 1发掘业务过程(可用活动图描述)

软件工程导论课程教学大纲

《软件工程导论》课程教学大纲 一、课程性质、地位和作用 《软件工程导论》是是软件工程专业的专业基础课程,属必修课。 本课程主要讲述建造软件系统的基本方法、技术、流程、工具及规范等。通过学习可以使学生了解软件工程的基本概念、基本原理、实用的开发方法和技术;了解软件工程各领域的基本内容和发展动向;学习用工程化的方法开发软件项目,初步掌握开发过程中应遵循的流程、准则、标准和规范。本门课程为将来从事软件开发学生的软件工程师之路奠定坚实的基础。 二、课程教学对象、目的和要求 本课程适用于软件工程、计算机应用等从事软件开发的本科专业。课程教学目的、要求: (一)从教学内容上,应使学生了解软件工程的基本概念,主要包括软件与软件开发的基本过程,软件危机与软件工程。掌握个人软件开发过程的基本内容和方法,了解软件开发模型及结构化软件设计方法,以及软件质量保证基本内容。(二)从能力方面,应使学生通过对软件工程基本概念和方法的学习和课后练习,培养学生养成规范化个人开发的良好习惯,培养学生按照软件工程的基本过程和方法来设计和开发软件。 (三)从教学方法上,在课堂理论教学中,采用学生可以理解的软件开发素材,通过一边实践一边讲解的方法,讲解软件过程的基本思想和方法,通过学生完成与实践结合的作业,调动学生的积极性,使软件工程的基本思想逐步植根于学生头脑中。 三、相关课程及关系 本课程的先修课程是“C语言程序设计”和“数据结构”等程序设计课程,学习应在学生具有一定的编程能力基础上进行。本课程为后续的“软件制造工程”和“软件设计工程”等课程打下了必要的理论基础。 四、课程内容及学时分配 总学时:32学时 (一)绪论1学时 1、软件工程及其重要性 2、软件开发需要软件工程 3、软件工程课程体系架构(需要什么软件工程) 、课堂的组织、学习方法、章节安排与考核4. 要求学生了解软件工程的起源,软件工程在软件开发中的作用,了解软件工程课程体系。 (二)软件与软件工程4学时 1、软件及软件分类 2、软件工程的由来及概念 3、软件生命周期 4、软件开发与软件开发方法 5、软件工程工具和环境 6、软件开发项目管理介绍

软件工程数据结构期末试卷

华南农业大学期末考试试卷(A卷) 2004学年第1学期考试科目:数据结构(04软件工程) 考试类型:(闭卷)考试时间:120分钟 学号姓名年级专业 说明:1 本试卷的答案必须写在答题卡上,答题卡同时写上专业、班级、学号、姓名; 一、选择题(每题2分,共30分) 1.hh设子串s1=’ABCDEFG’,s2=’PQRST’,函数con(x,y)返回x和y串的连接串,subs(s,i,j)返 回串s的从序号i的字符开始的j个字符组成的子串,len(s)返回串s的长度,则 con( subs (s1,2,len(s2), subs(s1,len(s2),2) )的结果串是() A.BCDEF B.BCDEFG C.BCPQRST D.BCDEFEF 2.某堆栈的输入序列为a,b,c,d,下面的四个序列中,_________不可能是它的输出序列。 A.a,c,b,d B.b,c,d,a C.c,d,b,a D.d,c,a,b 3.将长度为n的单链表链接在长度为m的单链表之后的算法的时间复杂度为_________. A.0(1)B.0(n) C.0(m)D.0(m+n) 4.长度为n(1…n)的顺序循环队列中,front和rear分别指示队首和队尾。判断队列满的条件 为_________. A.rear%n=front B.front%n+1=rear C.rear%n-1=front D.rear%n+1=front 5.设二叉树有2n个结点,则对于m0个结点的二叉树的先序序列正好相反,则该二叉树一定不是_________的二叉树。 A.任一结点无左孩子B.任一结点无右孩子 C.深度为n D.存在度为2的结点 7.二叉树用二叉链表表示,若要将其所有结点的左,右子树相互交换位置,则采用下列——遍 历的方法较为合适。 A.先序B.中序C.后序D.按层 8.对于二叉树的两个结点X和Y,应该选择_________两个序列来判断X是否Y 的祖先。 A.先序和后序B.先序和中序

软件工程导论之需求分析

软件工程导论 题目:图书管理系统文档名称:需求分析班级:科技0801 项目组长:唐子龙 项目成员: 唐子龙(05082019)朱磊(05082025) 赵欣(05082023) 刘华琛(05082004)

需求分析 §2.1 引言 §2.1.1 编写目的 需求分析的目的是让读者能够基本了解本系统的开发目的,开发方法,以及目前的硬件、软件的情况和开发所需资金和设备, 概要设计和详细设计与开发工作将在此基础上进一步提出。 §2.1.2 背景 这次待开发的系统名称为:图书管理系统 本次项目的任务提出者、开发者:唐子龙、朱磊、赵欣、刘华琛。 用户:图书馆 §2.1.3 定义 图书管理系统对于现代图书馆而言,是能否发挥其教学科研作用的至关重要技术平台。对于读者和图书管理员来说,是能否方便快速获取信息的关键。所以,图书管理系统应该能够为用户提供充足的信息和快捷方便的操作手段。 §2.1.4 参考资料 1.李伟波.软件工程. 武汉:武汉大学出版社,2006 2.郑人杰.实用软件工程. 北京:清华大学出版社,2003 3.张海藩.软件工程导论(第5版). 北京:清华大学出版社,2008.2 §2.2 业务愿景和范围 §2.2.1 业务需求 1.背景、业务机会和客户需求

随着社会信息量的与日俱增,作为信息存储的主要媒体之一图书,数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍。在计算机日益普及的今天,对个人而言,若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。对图书管理部门而言,随着图书种类的繁杂,和图书数量的增多,以前单一的手工检索已不能满足人们的要求,为了便于图书资料的管理,我们需要有效的图书管理软件。 1.业务目标和成功标准 业务目标:本系统旨在减轻图书馆工作人员工作负担,提高工作效率,而且方便用户查询、借阅。 成功标准:在使用本系统后,图书馆工作人员的工作效率大大提高,且对用户查询、借阅、预订都会有很大的便利。 §2.2.2 解决方案的前景 1.前景陈述 本图书馆管理信息系统在原有手工系统基础上,采用图书管理技术。通过收集、整理、存储关于图书、读者的主要信息,以及原有系统的作业流程信息,为建立数据仓库做基础准备。 本系统采用最新的计算机技术,界面友好、操作方便,管理员可以针对不同需求分类、排序、查询、统计,方便读者和其他部门根据自己的需求准确、快速地查询图书信息,实现以计算机辅助形式代替传统的手工查找形式,减轻图书信息管理人员的劳动强度,提高图书馆的工作效率和水平,更好地为读者服务,从而使图书和读者管理更加合理化和科学化。 2.任务概述 ○1目标:本软件旨在为学校的图书馆管理人员提供一个可以方便管理库 存图书的系统。可以对库存图书进行录入、借还、查询、修改功 能。减少操作时间,提高工作效率。 该软件适用于一般规模的图书馆管理操作。 ○2用户特点:本系统的操作对象为图书馆管理人员。对管理人员的计算机水平 不需要很高的要求。 3、数据描述: ○1静态数据:系统密码,书籍名称,库存总数,剩余数,借出数。 ○2动态数据:使用者输入的信息,包括添加的书籍信息,查询关键字。 ○3数据库描述:系统数据库采用TXT文档。

软件技术基础(包含数据结构、软件工程、数据库基础知识和基本内容)

4.1数据结构与算法 1.1 算法 算法:是指解题方案的准确而完整的描述。 算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。 算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。特征包括: (1)可行性; (2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性; (3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义; (4)拥有足够的情报。 算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。 指令系统:一个计算机系统能执行的所有指令的集合。 基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。 算法的控制结构:顺序结构、选择结构、循环结构。 算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。算法复杂度:算法时间复杂度和算法空间复杂度。 算法时间复杂度是指执行算法所需要的计算工作量。 算法空间复杂度是指执行这个算法所需要的内存空间。 1.2 数据结构的基本概念 数据结构研究的三个方面: (1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构; (3)对各种数据结构进行的运算。 数据结构是指相互有关联的数据元素的集合。 数据的逻辑结构包含: (1)表示数据元素的信息; (2)表示各数据元素之间的前后件关系。 数据的存储结构有顺序、链接、索引等。 线性结构条件: (1)有且只有一个根结点; (2)每一个结点最多有一个前件,也最多有一个后件。 非线性结构:不满足线性结构条件的数据结构。 1.3 线性表及其顺序存储结构 线性表由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。 在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。 非空线性表的结构特征: (1)且只有一个根结点a1,它无前件;

软件工程导论期末试题

软件工程导论期末考试试题 一.选择(20分) 1、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和( C)。 A、详细计划 B、可行性分析 C、运行阶段 D、测试与排错 2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大(C )。 A、详细设计阶段 B、概要设计阶段 C、需求分析阶段 D、测试和运行阶段 3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标(A )。 A、需求分析阶段 B、详细设计阶段 C、概要设计阶段 D、可行性研究阶段 4、软件工程的出现主要是由于(C )。 A.程序设计方法学的影响 B.其它工程科学的影响 C. 软件危机的出现 D.计算机的发展 5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C ) A、硬件环境 B、软件开发的环境 C、软件开发工具和软件开发的环境 D、开发人员的素质 6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为 ( B) A、相互排斥 B、相互补充 C、独立使用 D、交替使用 7、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C ) A、基于瀑布模型的结构化方法 B、基于需求动态定义的原型化方法 C、基于对象的面向对象的方法 D、基于数据的数据流开发方法

8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B ) A、结构化方法 B、原型化方法 C、面向对象的方法 D、控制流方法 9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的(B ) A、控制流 B、数据流 C、程序流 D、指令流 10、软件开发的结构化生命周期方法将软件生命周期划分成(A ) A、计划阶段、开发阶段、运行阶段 B、计划阶段、编程阶段、测试阶段 C、总体设计、详细设计、编程调试 D、需求分析、功能定义、系统设计 二.填空(20分) 21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素 表达了系统中各种元素之间的(信息流动)情况。 22.成本效益分析的目的是从(经济)角度评价开发一个项目是否可行。 23.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先 策略和(宽度优先策略) 。 24.独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图 来看,一条独立路径是至少包含有一条(在其他独立路径中未有过)的边的路径。 25.汇编语言是面向(机器) 的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。 26.在JSP方法中解决结构冲突的具体办法是(中间数据结构或中间文件)。 27.详细设计的任务是确定每个模块的内部特性,即模块的算法、(使用的数据)。 28.所有软件维护申请报告要按规定方式提出,该报告也称( 软件问题)报告。 29.有两类维护技术:在开发阶段使用来减少错误、提高软件可维护性的面向 维护的技术;在维护阶段用来提高维护的效率和质量的(维护支援)技术。 30.科学工程计算需要大量的标准库函数,以便处理复杂的数值计算,可供选 择的语言有:(FORTRAN语言)、PASCAL语言、C语言和PL/1语言。三.判断(10分)

软件工程导论教案章程

软件工程导论教案章程 Document serial number【KKGB-LBS98YT-BS8CB-BSUT-BST108】

安徽大学本科教学课程教案课程代码: ZJ36047 课程名称:软件工程导论 授课专业:软件工程 授课教师:章程 职称/学位:讲师/博士 开课时间:二○一六至二○一七学年第 2 学 期 第 1 次课程教学方案

第 1 次教学活动设计 由两个实例引入: 工程学的意义。 软件生产过程虽然很多方面与传统工程相似,但是仍然有自己的属性 和问题。 软件工程定义为一门学科,目的是生产出满足客户要求的、未超出预 算的、按时交付的、没有错误的软件。 需要在软件生产的各个阶段使用恰当的技术,包括何时进行分析、设 计和交付后维护。 软件工程结合人类各个领域的许多知识,包括经济和社会科学。 1.1历史方面 1968年在德国Garmisch召开的NATO软件工程会议上签署了声明,正式确立了软件工程的概念。 目标: 软件工程应当是一项类似工程的活动,应当使用已建立的工程 学科的基本原理和范型来解决“软件危机”。 软件交付所出现的问题 ?推迟完成 ?超出预算 ?特性缺失错误 软件危机仍然伴随着我们,告诉我们两件事情: (1)软件生产过程虽然很多方面与传统工程相似,但是仍然有自己的属性和问题。 (2)可能应当重新命名为“软件萧条”(Software Depression)?周期长 ?难预测 1.2经济方面 举例:使用新的编码技术 CTnew 编码时间比使用旧的编码技术CTold 少花1/10的时间。是否应该使用新的编码技术?通常的答案时:当然 选择新的编码技术。 从软件工程的经济观点来看: ?考虑培训的成本 ?考虑采用新技术CMnew 对维护工作的影响 1.3维护性方面 传统维护观点:传统意义上,维护是根据不同时期所开展的活动来进 行定义的 客户想要增加该软件产品的功能 ?传统维护(完善性) 客户想要在软件之前做同一改变(“移动目标问题”)

软件工程数据结构

软件工程数据约定 数据库结构: 1.一卡通: onetable ①onename 姓名(char16,16位内英文字母) ②oneaccount 一卡通账号(char 10,10位数字,1开头) ③onepassword 一卡通密码(char 6,6位数字,支付密码) ④IDcard 身份证号码(char 18,18位数字或者英文) ⑤onephone 联系电话(char 11,11位数字) ⑥oneaddress 住址(char50,50位内字符) ⑦onecreatedate 一卡通开卡日期(date类型,一卡通开通的日期) ⑧oneifuse 是否注销(char 1,0代表使用,1代表已注销) 2.一卡通子账户:subonetable ①oneaccount 一卡通账号(char 10,10位数字,1开头) ②subaccount 子账号(char 5,5位数字,1位币种,2位储蓄种类) ③subamount 子账号存款(int,最大八位表示现存的额度) ④subcreatedate子账号开卡日期(date类型,子账号开通的日期) ⑤subifuse子账号是否注销(char 1,0代表使用,1代表已注销) 3.网上银行账户:onlinetable(网上银行账号可管理一卡通和信用卡) ①onlineaccount网上银行用户名(char16,16位英文或数字) ②onlinepassword网上银行密码(char16, 16位内数字或英文) ③oneaccount 一卡通账户(char 10,10位数字,1开头) ④onlinecreatedate网上银行开通日期(date类型,网上银行开通的日期) ⑤onlineifuse 网上银行是否注销(char 1,0代表使用,1代表已经注销) ⑥onlinelost 该一卡通是否挂失(char 1,0代表使用,1代表已注销) 4.信用卡:credittable (绑定在网上银行上使用,刷卡消费不需要密码) ①creditaccount信用卡账号(char 10,2开头的10位数字) ②creditlimitall 信用卡额度(int,最大八位初始最大额度) ③creditcashtake 信用卡已用现金(int,最大八位最多信用额度的70%) ④creditcashpass预借现金密码(char 6,6位数字) ⑤creditlast 信用卡可用额度(int,8位,最大8位,) ⑥creditcreatedate信用卡开卡日期(date类型,记录信用卡激活的日期) ⑦creditifuse 信用卡是否注销(char 1,0代表使用,1代表已经注销) 5.信用卡消费记录:creditusetable(记录每个账户的每次信用卡消费记录) ①creditaccount 信用卡账号(char10,2开头的10位数字) ②useamount 本次消费数值(int,8位数字) ③creditusedate消费日期(date类型,此条消费产生的日期) 6.信用卡还款记录:creditrepaytable(记录信用卡的还款记录) ①creditaccount信用卡账号(char 10,2开头的10位数字)

大连理工887数据结构和软件工程大纲

大连理工大学2018年硕士研究生入学考试大纲 科目代码:887 科目名称:数据结构和软件工程 Ⅰ.考查目标 软件工程学科专业基础综合考试是为大连理工大学招收软件工程的硕士研究生而设置的具有选拔性质的联考科目,其目的是科学、公平、有效地测试考生掌握软件工程大学本科阶段专业基础知识、基本理论、基本方法的水平和分析问题、解决问题的能力,评价的标准是高等学校软件工程优秀本科生所能达到的及格或及格以上水平,以利于大连理工大学择优选拔,确保硕士研究生的入学质量。 Ⅱ.考查范围 软件工程学科专业基础综合考试涵盖数据结构、软件工程等学科专业基础课程。要求考生系统地掌握上述专业基础课程的概念、基本原理和基本方法,能够运用所学的基本原理和基本方法分析、判断和解决有关理论问题和实际问题。 Ⅲ.考试形式和试卷结构 (一) 试卷满分及考试时间 本试卷满分为150分,考试时间为180分钟。 (二) 答题方式 答题方式为闭卷、笔试。 (三) 试卷内容结构 数据结构75分 软件工程75分 (四) 试卷题型结构 单项选择题60分(数据结构、软件工程各为15小题,每小题2分) 综合应用题90分(数据结构、软件工程各为45分) Ⅲ.考查内容 数据结构 [考查目标] 1.掌握数据结构的基本概念、基本原理和基本方法。 2.掌握数据的逻辑结构、存储结构及基本操作的实现,能够对算法进行基本的时间复杂度与空间复杂度的分析。 3.能够运用数据结构的基本原理和方法进行问题的分析与求解,具备采用C或C++语

言设计与实现算法的能力。 一、线性表 (一)线性表的定义 (二)线性表的顺序存储结构及其操作的实现 (三)线性表的链序存储结构及其操作的实现 (四)线性表的应用 二、栈、队列和数组 (一)栈和队列的基本概念 (二)栈和队列的顺序存储结构和链式存储结构(三)栈和队列基本操作的实现 (四)栈和队列的应用 (五)数组的定义和顺序存储方式 (六)矩阵的压缩存储 三、树与二叉树 (一)树的基本概念 (二)二叉树 1.二叉树的定义及性质 2.二叉树的顺序存储结构和链式存储结构 3.二叉树的遍历 4.线索二叉树 (三)树、森林 1.树的存储结构 2.树和二叉树的转换,森林与二叉树的转换 3.树和森林的遍历 (四)哈夫曼(Huffman)树和哈夫曼编码 四、图 (一)图的基本概念 (二)图的存储方式 1.数组(邻接矩阵)表示法 2.邻接表 (三)图的遍历 1.深度优先搜索 2.广度优先搜索 (四)图的基本应用 1.最小生成树

软件工程导论之 概要设计

概要设计说明书 1.引言 (2) 1.1编写目的 (2) 1.2项目背景 (2) 1.3定义 (2) 1.4参考资料 (2) 2.任务概述 (2) 2.1目标 (2) 2.2运行环境 (3) 2.3需求概述 (3) 2.4条件与限制 (3) 3.总体设计 (4) 3.1处理流程 (4) 3.2总体结构和模块外部设计 (7) 3.3功能分配 (7) 4.接口设计 (10) 4.1外部接口 (10) 4.2内部接口 (12) 5.数据结构设计 (12) 5.1逻辑结构设计 (12) 5.2物理结构设计 (12) 5.3数据结构与程序的关系 (12) 6.运行设计 (12) 6.1运行模块的组合 (12) 6.2运行控制 (12) 6.3运行时间 (12) 7.出错处理设计 (13) 7.1出错输出信息 (13) 7.2出错处理对策 (13) 8.安全保密设计 (13) 9.维护设计 (13) 10.开源代码 (13)

1.引言 1.1编写目的 八皇后问题困扰许多编程爱好者,对八皇后问题的详细解成为广大用户所关心的热点与需求。因此,编者想通过制作简单的教学软件来充分阐述八皇后问题的来龙去脉。 1.2项目背景 开发单位::安徽师范大学数学与计算机科学院软件工程系 开发时间:2013.9.26. 1.3定义 1.4参考资料 计算机网络(第六版)谢希仁电子工业出版社 软件工程导论(第五版)张海潘清华大学出版社 2.任务概述 2.1目标

2.2运行环境 PC机(windows XP系统)pc机(windows 7 系统) 软件配置:支持.framework 3.0 以上的浏览器。 2.3需求概述 八皇后问题困扰许多编程爱好者,对八皇后问题的详细解成为广大用户所关心的热点与需求。因此,编者想通过制作简单的教学软件来充分阐述八皇后问题的来龙去脉。编者运用https://www.doczj.com/doc/8011018592.html, 技术实现编程学中著名难题八皇后问题的求解,并且采用形象的绘图将八皇后排列绘制出来。 2.4条件与限制 开发工具:Visual Stdio 2010 开发环境:.NET Frame 框架,https://www.doczj.com/doc/8011018592.html, 相应时间<=0.5 s 内存所需容量<=1.5MB 硬盘所需空间<=1.2MB

南京大学842数据结构、软件工程、操作系统和计算机网络历年考研真题专业课考试试题

目 录 1996年南京大学计算机考研真题(操作系统、数据结构部分) 1997年南京大学计算机考研真题(操作系统、数据结构部分) 1998年南京大学计算机考研真题(操作系统、数据结构部分) 1999年南京大学计算机考研真题(操作系统、数据结构部分) 2000年南京大学计算机考研真题(操作系统、数据结构部分) 2001年南京大学计算机考研真题(操作系统、数据结构部分) 2002年南京大学计算机考研真题(操作系统、数据结构部分) 2003年南京大学计算机考研真题(操作系统、数据结构部分) 2004年南京大学软件基础一考研真题(操作系统、数据结构部分)2004年南京大学软件基础三考研真题(操作系统、数据结构部分)2005年南京大学软件基础一考研真题(操作系统、数据结构部分)2005年南京大学软件基础二考研真题(操作系统、数据结构部分) 2006年南京大学软件基础一考研真题(操作系统、数据结构、软件工程部分) 2007年南京大学软件基础一考研真题(操作系统、数据结构部分)2007年南京大学软件基础三考研真题(操作系统、数据结构部分)

2008年南京大学软件基础一考研真题(含操作系统、数据结构部分) 2008年南京大学软件基础二考研真题(操作系统、数据结构部分) 2013年南京大学842数据结构、软件工程、操作系统和计算机网络考研真题 2013年南京大学842数据结构、软件工程、操作系统和计算机网络考研真题备用卷 2014年南京大学842数据结构、软件工程、操作系统和计算机网络考研真题 2015年南京大学842数据结构、软件工程、操作系统和计算机网络考研真题(回忆版) 2016年南京大学842数据结构、软件工程、操作系统和计算机网络考研真题(回忆版) 2017年南京大学842数据结构、软件工程、操作系统和计算机网络考研真题(回忆版) 2018年南京大学842数据结构、软件工程、操作系统和计算机网络考研真题(回忆版)

软件工程导论教学大纲-章程

《软件工程导论》教学大纲 安徽大学计算机科学与技术学院 2017 年 3 月

《软件工程导论》教学大纲 课程编号:ZJ36047 课程名称:软件工程导论英文名称:Introduction to Software Engineering 学分/学时:2/34 课程性质:学科平台课程 适用专业:软件工程 先修课程:计算机导论 开课单位:计算机科学与技术学院 一、课程的教学目标与任务 《软件工程导论》课程是软件工程专业高等教育的专业基础课程和学科平台课程,是“科研训练计划”教育课程。《软件工程导论》以科学技术方法论为逻辑起点,结合部分管理方面的基本理论,讲授软件工程与方法论的联系,从而提高软件的质量和生产率。本课程以软件工程专业本科二年级学生为讲授对象,是集理论性与应用性为一体的学科。 设置本课程的目的是:使学习者在全面了解软件工程发展历史、基本理论的基础上,系统掌握软件开发过程中的现代方法和管理手段,具备用工程化方法设计和构建规范软件的思想,从而为后续软件工程开发方法的系列课程奠定理论基础。 学习本课程的要求是:学习者应深刻认识软件危机产生的原因,纠正对软件开发的错误认识,掌握软件工程科学方法论的基本概念和基本原理,初步具备作为专业人员组织软件开发和设计工作的能力。为检验掌握软件开发应遵循的原则和编写文档的基本方法的程度,最后的考核是通过考试进行,同时以加深对课程内容的理解。 二、课程具体内容及基本要求 第一章软件工程的范畴 ( 2学时) 基本内容包括: 第一节历史方面 一、定义软件 (1)介绍软件的形式化定义。结合经典教科书中关于软件的定义,介绍软件中所包含的三个要素:①指令的集合;②数据结构;③软件描述信息。 (2)阐述非形式化定义中软件具有的特性。对比其他人工产品的特性,总结软件所具

软件工程导论(第六版)课后习题答案

第一章 一、什么是软件危机?它有哪些典型表现?为什么会出现软件危机? 软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。 软件危机的典型表现: (1) 对软件开发成本和进度的估计常常很不准确。常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量。这些都降低了开发商的信誉,引起用户不满。 (2) 用户对已完成的软件不满意的现象时有发生。 (3) 软件产品的质量往往是靠不住的。(4) 软件常常是不可维护的。 (5) 软件通常没有适当的文档资料。文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。 (6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。 (7) 开发生产率提高的速度远跟不上计算机应用普及的需求。 软件危机出现的原因: (1) 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。 (2) 软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。 (3) 供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。 二、假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他? 答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改, 不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”是在引入变动,当然付出的代价更高。一个故障是代码错误造成的,有时这种错误是不可避免的,但要修改的成本是很小的,因为这不是 整体构架的错误。 三、什么是软件工程?它有哪些本质特征?怎样用软件工程消除软件危机? 1993年IEEE的定义:软件工程是:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究①中提到的途径。 软件工程的本质特征: (1) 软件工程关注于大型程序(软件系统)的构造(2) 软件工程的中心课题是分解问题,控制复杂性(3) 软件是经 常变化的,开发过程中必须考虑软件将来可能的变化 (4) 开发软件的效率非常重要,因此,软件工程的一个重要课题就是,寻求开发与维护软件的更好更有效的方法和工具 (5) 和谐地合作是开发软件的关键(6) 软件必须有效地支持它的用户 (7) 在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人(完成一些工作)消除软件危机的途径: (1) 对计算机软件有一个正确的认识(软件≠程序) (2) 必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目 (3) 推广使用在实践中总结出来的开发软件的成功技术和方法 (4) 开发和使用更好的软件工具 四、简述结构化范型和面向对象范型的要点,并分析他们的优缺点。 1. 传统方法学:也称为生命周期方法学或结构化范型。优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。 2. 面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。 五、1-5 根据历史数据可以做出如下的假设: 对计算机存储容量的需求大致按下面公式描述的趋势逐年增加:M=4080e0.28(Y-1960) 存储器的价格按下面公式描述的趋势逐年下降:P1=0.3×0.72Y-1974(美分/位) 如果计算机字长为16位,则存储器价格下降的趋势为:P2=0.048×0.72Y-1974(美元/字) 在上列公式中Y代表年份,M是存储容量(字数),P1和P2代表价格。

相关主题
文本预览
相关文档 最新文档