软件工程导论复习知识点

一、软件:

软件定义:

软件=程序+文档+数据

软件特点:

1、具有抽象性

2、没有明显的制造过程

3、软件的维护比硬件的维护要复杂得多

4、对计算机系统有着不同程度的依赖性

5、尚未完全摆脱手工艺的开发方式

6、软件本身是复杂的

7、软件成本相当昂贵

8、相当多的软件工作涉及到社会因素软件的发展:

程序设计、程序系统、软件工程

软件危机:

软件危机指的是软件开发和维护过程中遇到的一系列严重问题。

软件危机的问题:

如何开发软件,怎样满足对软件的日益增长的需求;如何维护数量不断膨胀的已有软件。

软件危机表现:

1.开发成本难以控制,进度不可预计;

2.软件系统的质量和可靠性很差,难以满意;

3.软件文档相当缺乏,软件系统不可维护;

4.软件开发生产率很低,软件产品供不应求。

5.软件产品成本十分昂贵。

软件危机产生原因:

1、软件本身的特点

2、对软件开发与维护存在许多错误认识和做法

3、软件开发与维护的方法不正确

解决软件危机途径:

1、将软件开发看成是一种组织严密、管理严格、各类人员协同配合共同完成的工程项目。

2、研究和推广成功的软件开发技术和方法。

3、开发和使用好的软件工具。

软件生命周期:

软件所经历的定义、开发、使用和维护直到废弃所经历的时期。

程序设计环境:

源程序编辑,编译或解释,链接,调试和运行工具的集合

软件工程环境:

软件定义,设计和实现,测试和维护等各个阶段所使用的软件工具的集合

二、软件工程:

软件工程定义:

研究如何应用一些科学理论和工程上的技术来指导软件的开发,用较少的投资获得高质量的软件的一门学科。

软件工程性质:

涉及计算机科学、工程科学、管理科学、数学等领域,着重于如何建造一个软件系统。用工程科学中的观点来进行费用估算、制定进度、制定计划和方案。用管

理科学中的方法和原理进行软件生产的管理。用数学的方法建立软件开发中的各种模型和各种算法,如可靠性模型,说明用户需求的形式化模型等。

软件工程三要素:

方法、工具和过程。

软件方法:

是完成软件开发的各项任务的技术方法,回答“如何做”的问题;工具是为方法的运用提供自动的或半自动的软件支撑环境;过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。包括:传统方法学面向对象方法学需要解决的问题:

软件成本、软件可靠性、软件维护、软件生产率和软件复用。

基本内容:

包括理论、结构、方法、工具、环境与规范等

目标:

以较少的投资获得易维护、易理解、可靠和高效率的软件产品。

原则:

即分解、抽象和信息隐蔽、一致性和确定性

原理:

工程化和系统化。

软件过程:

软件过程是把输入转化为输出的一组彼此相关的资源和活动

从软件开发的观点看,它就是使用适当的资源(包括人员、硬软件工具、时间等,为开发软件进行的一组开发活动,在过程结束时将输入(用户要求转化为输出(软件产品。

软件工程过程包含四种基本的过程活动:

Plan 软件规格说明:规定软件的功能及其运行的限制

Do 软件开发:产生满足规格说明的软件

Check 软件确认:确认软件能够完成客户提出的要求

Action 软件演进:为满足客户的变更要求,软件必须在使用的过程中演进

软件工程的基本原理:

强调使用生存周期方法学、强调使用结构分析与结构设计任务

软件工程的目标:

生产具有正确性、可用性以及开销合宜的产品

1、付出较低的开发成本

2、达到要求的软件功能

3、取得较好的软件性能

4、开发的软件易于移植

5、需要较低的维护费用

6、能按时完成开发

7、及时交付使用

三、软件生命周期:

生命周期基本流程:

问题定义→可行性研究→需求分析→总体设计(概要设计→详细设计→编码和单元测试→综合测试→软件维护。

瀑布模型:

这种方法是从一个阶段呈瀑布流入下一个阶段,所以这个模型就称为“瀑布模型”。各项活动按自上而下,相互衔接的固定次序,如同瀑布逐级下落。每项活动均处于一个质量环(输入-处理-输出-评审中。

增量模型:

定义基本需求→将需求赋予增量构件→设计系统体系结构→开发增量构件→集成增量构件→确认系统

把软件产品分解成一系列的增量构件,在增量开发迭代中逐步加入。每个构件由多个

相互作用的模块构成,并且能够完成特定的功能。增量开发方法的新演进版本叫做“极限程序设计

演化模型:

先开发一个“原型”软件,完成部分主要功能,展示给用户并征求意见,然后逐步完善,最终获得满意的软件产品。

快速原型方法是原型模型在软件分析、设计阶段的应用,用来解决用户对软件系统在需求分析上的模糊认识。是用来获取用户需求的,或是用来试探某种设计是否有效。一旦需求或设计确定下来,原型就将被抛弃

原型运用方式:

抛弃策略和附加策略

喷泉模型:

体现了迭代和无间隙的特性。

系统某个部分常常重复工作多次,相关对象在每次迭代中随之加入演进的软件成分。无间隙是指在各项开发活动,即分析、设计和编码之间不存在明显的边界。喷泉模型是对象驱动的过程。

需求分析阶段→设计阶段→编程阶段→集成与确认阶段→维护阶段→演进阶段

微软软件开发过程:

战略:靠改进特性与固定资源来激发创造力

①计划阶段②设计阶段③开发阶段④稳定化阶段⑤发布阶段。

微软管理过程:

一、将大项目分成若干里程碑式的重要阶段,各阶段之间有缓冲时间,但不进行单独的产品维护。

二、运用想象描述和对特性的概要说明指导项目。

三、根据用户行为和有关用户的资料确定产品特性及其优先顺序。

四、建立模块化的和水平式的设计结构,并使项目结构反应产品结构的特点。

五、靠个人负责和固定项目资源实施控制。

四、可行性研究:

可行性研究实质:

可行性研究实质上是要进行一次简化、压缩了的需求分析和设计过程,要在较高层次上以抽象的方式进行需求分析和设计过程。

可行性研究目的:

可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得开发,最后给决策者提供做与不做的依据。

可行性研究的任务:

1、首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制。

2、然后进行简要的需求分析,抽象出该项目的逻辑结构,建立逻辑模型。

3、最后从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的主要解决办法,对每种解决方法都要从多个方面研究它的可行性。

可行性研究内容:

(1技术可行性 (2经济可行性 (3操作可行性 (4社会可行性(法律可行性 (5抉择

可行性研究的步骤:

复查系统的规模和目标→研究现正在使用的系统→新系统的高层逻辑模型→重新定义

问题→导出和评价供选择的解法→推荐行动方针→草拟开发计划→书写文档提交审查可行性分析结论:

(1立即展开 (2 推迟 (3 修改后进行 (4 不能进行 (5 不必要进行

五、需求分析:

需求分析的过程:

需求分析的过程是开发人员与用户共同协商,准确地定义未来系统的目标,确定为了满足用户的需求系统必须做什么。并且使用软件开发人员和用户都能理解的语言准确地表达出来,即用 <需求规格说明书> 规范的形式准确地表达用户的需求。

需求分析特点:

1、问题的复杂性

2、交流障碍(讲究技巧和原则

3、不完备性和不一致性

4、需求易变性(动态性

软件需求的任务:

1、问题识别

2、分析与综合

3、编写文档

4、技术审查和管理复审

需求文档:

1、用户需求报告

2、需求规格说明书

需求分析原则:

需要能够表达和理解问题的信息域和功能域

需求分析的步骤:

1.需求获取

2.需求提炼

3.需求描述

4.需求验证

需求获取的目的:

清楚的理解所要解决的问题完整获取用户需求

分析和描述系统的逻辑模型:

1.建立起目标系统的逻辑模型

2. 沿数据流图回溯

结构化分析方法:

面向数据流自顶向下逐步求精进行需求分析的方法。

高质量需求叙述的特性:

1、正确

2、可行性

3、必要性

4、优先权

5、明确

6、可证实

7、完整

8、可修改性

9、可追踪

六、系统总体设计:

软件设计的任务:

把需求阶段产生的软件说明转换为用适当手段表示的软件设计文档

1、软件系统设计

2、软件结构设计

3、数据结构及数据库设计

4、编写概要设计文档

5、评审

设计任务阶段:

总体设计阶段、详细设计阶段

软件设计的全过程:

总体设计——总体设计复审——详细设计——详细设计复审

总体设计阶段,应划分出组成系统的物理元素:

程序、文件、数据库、人工过程和文档等,并确定系统中每个程序由哪些模块组成以及这些模块相互间的关系。

软件设计的基本原理:

1、抽象

2、信息隐蔽

模块独立性:

指每个模块只完成系统要求的独立的子功能,并且与其它模块的联系量最少且接口简单。

两个度量准则:

耦合性内聚性

模块间的耦合:

1、非直接耦合

2、数据耦合

3、标记耦合

4、控制耦合

5、公共耦合

6、内容耦合

如何降低模块间耦合度:

(1 如模块必须存在耦合,选择适当的耦合类型

原则:尽量使用数据耦合

少用控制耦合

限制公共耦合的范围

坚决避免使用内容耦合

(2降低模块间接口的复杂性

面向数据流的设计方法:

1.变换流

2.事务流

3.设计过程

变换分析设计方法:

1 、找出主加工、逻辑输入和逻辑输出 2、设计模块结构的顶层和第一层 3、设计中、下层模块

改进软件结构设计的指导原则:

(1程序结构尽可能与问题结构相对应 (2模块功能的完整 (3消除重复功能 (4作用范围应在控制范围内 (5减少高扇出争取高扇入 (6模块大小适中 (7降低模块接口的复杂性 (8模块功能可预测

两种典型的程序结构:

变换型程序、事务型程序

两种程序结构的共同特征:

上层模块只负责控制、协调下层模块完成具体的操作

修改模块结构方法:

使判定同受其影响的操作尽可能靠近

详细设计的基本任务:

1、算法设计

2、数据结构设计

3、数据库物理设计

4、其他设计:代码设计、输入/输出设计、界面设计

5、编写详细设计说明书

6、评审

详细设计内容:

详细设计是根据每个模块的功能设计其逻辑描述、实现其法以及实现这些算法的逻辑控制流程,并设计这些模块所需的局部数据结构。

结构化程序设计:

1、采用自顶向下,逐步求精的程序设计方法。

2、使用三种基本控制结构构造程序:顺序、选择、循环。单入口,单出口的共同特点。

3、主程序员的组织形式:一

个主程序员、一个后备程序员和一个程序管理员三人为核心,再加上一些专家、其他技术人员组成小组。

七、软件测试:测试的基本概念:测试目标测试的基本原则测试信息测试的方法和技术测试步骤测试的目标:为了发现错误,不能证明程序正确测试阶段工作步骤: 1)、单元测试 2)、系统测试 3)、集成测试软件测试:软件测试不等于程序测试,应贯穿于软件定义与开发的整个期间;测试的方法与技术:1)、静态测试基本特征是在对软件进行分析、检查和测试,不实际运行被测试的软件。 2)、动态测试通过运行软件来检验软件的动态行为和运行结果的正确性基本要素:被测试程序测试数据测试步骤: 模块测试集成测试/联合测试系统测试黑盒测试: 将被测试程序对象看作黑盒子,不考虑其内部程序结构与处理过程,仅仅对于程序接口进行测试。即检查适当的输入是否能够产生适当的输出。白盒测试: 分析程序结构与过程执行路径,按照程序内部的逻辑结构设计测试用例,检验程序的每条通路是否按预期正常进行,力求提高测试覆盖率。黑盒测试与白盒测试比较: 黑盒测试是根据程序外部特征进行测试白盒测试是根据程序内部逻辑结构进行测试不论黑盒还是白盒测试都不能进行穷尽测试基于白盒法的测试思想:分析被测程序的逻辑结构,选择逻辑执行路径子集设计测试方案。选择路径子集的覆盖标准:逻辑覆盖法、路径测试法黑盒法:不考虑程序的内部结构与特性,只根据程序功能或程序的外部特性设计测试用例。等价分类法边值分析法错误推测法因果图法综合测试策略:黑盒法为主、白盒法为辅,具体如下: 1.任何情况下都应该使用边界值分析设计测试用例; 2.必要时采用等价分类法补充用例; 3.必要时再用错误推测法补充用例; 4.对照程序逻辑,检查设计用例的逻辑覆盖标准。根据程序可靠性要求,补充用例使之达到规定的覆盖标准。深度优先与宽度优先:无论是自顶而下增值还是自底而上增值,还可选择深度优先或者宽度优先增值

确定集成过程的原则:自顶而下增值自底而上增值

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

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

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

《软件工程导论》实验报告

2011-2012(2)《软件工程导论》实验报告 学院:计算机学院 班级:软件工程114 姓名:黄芳恺 学号:119074258 目录 实验1:项目计划、分析和设计 实验2;编码 实验3:代码复查、编译 实验4:项目测试总结

软件工程导论实验一:项目计划、分析和设计 [ 实验日期 ] 2012 年 4 月 20 日 [ 实验目的 ] 初步了解结构化分析、设计方法的原理、步骤以及各阶段的文档,练习撰写简要的需求文档、设计文档。 [ 实验内容 ] 贪吃蛇程序:贪吃蛇游戏是一个深受人们喜爱的游戏,一条蛇在密闭的围墙内,在围墙内随机出现一个食物,通过按键盘上的四个光标键控制蛇向上下左右四个方向移动,蛇头撞到食物则表示食物被蛇吃掉,这时蛇的身体长一节,同时计1分,接着又出现食物,等待被蛇吃掉,如果蛇在移动过程中,撞到墙壁或身体交叉蛇头撞到自己的身体,游戏结束。根据编写贪吃蛇的游戏规则,我们利用c语言来进行编辑具体步骤,从而使游戏能够运行,根据编写贪吃蛇程序,掌握软件工程思想及要领,进一步巩固编程思想和掌握画图函数底层,依据项目可行性研究的结果,进行需求分析和设计,编写简要的需求规格说明书,绘制程序流程图。 [ 实验原理和步骤] 当前的建模方法主要有传统的结构化分析、设计方法(SA/D)和面向对象分析、设计方法(OOA/D)两种。 分析阶段: 结构化分析(SA)是一种建模技术,它通过一定方法帮助开发人员定义系统需要什么功能,系统需要存储和使用哪些数据,以及为完成这些功能,系统需要什么样的输入和输出以及如何把这些功能结合在一起来完成任务。 设计阶段: 分总体设计和详细设计两阶段。总体设计阶段的任务主要是确定系统由哪些模块组成,以及这些模块之间的相互关系;详细设计阶段的任务主要是设计每个模块的处理过程。常用的结构化设计(SD)方法有面向数据流分析(DFA)的设计方法和面向数据的设计方法。DFA设计技术实施的通用步骤:(1)复查并精化DFD;(2)确定DFD类型; (3)把DFD映射到系统模块结构,设计出模块结构的上层;(4)基于DFD逐步分解高层模 块,设计出下层模块〈初步结构〉;(5)根据模块独立性原理,精化模块结构,得到更为合理的软件结构;(6)模块接口描述;(7)修改和补充数据词典;(8)制定测试计划。 详细设计阶段的任务主要是确定每个模块的处理过程,包括(1)确定每个模块的算法。(2)确定每一个模块的数据组织。(3)为每个模块设计一组测试用例。(4)编写详细设计说明书。详细设计阶段采用的方法是结构化程序设计(SP),与SA,SD方法衔接。目标是给出可以直接用以编码的程序逻辑结构,强调清晰第一。 设计思路: 这个程序的关键点是表示蛇的图形以及蛇的移动。用一个小矩形块表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用两节表示。移动时必须从蛇头开始,所以蛇不

软件工程导论总结报告

软件工程总结报告 序言 本期软件工程专业导论课程结束后,为圆满完结本期此课程的学习,特此总结个人学习所得以求些许回报先生无私教导。 主体 第一节课主要讲述了软件工程各领域之间的联系以及贯穿始终 的基础为何。其中较为基础并相当重要使的应该是算法。对于算法重要性与基础性的理解,我个人有比较切身的体验。比如前不久的 ACM 竞赛,在比赛中我所在的小组以及当场几乎所有小组都遇到这样一个 问题:超时—这无非就是个人设计的算法的效率不够高,这也证明我 们对算法理论知识的匮乏(不清楚优化个人算法的方法)。我对软件 工程这一专业有了一个较为全面的把握,对我个人未来进取方向而言 也起到了一定的指导作用。 第二节课老师带来了三位本专业的前辈向我们传授大学生活应 如何度过以及对我等一些问题作出解答。其中我个人印象深刻的是其 中一位学姐 PPt 中引用李开复的那部分内容。即试着记录下自己一整天做的所有事以及其所花费的时间,再仔细研究自己在哪些事上浪费 了时间,应该如何整改。我个人认为这方法可能有一定直观性,因为 直观的数据更能深刻的反映真实和刺激一个人整改,但此法实施起来又太古板,中觉得生活有些教条化、章程化,缺乏新意与自由。求上进,珍惜时间也无需以丧失人生情趣为代价。还有就是学长再提潘老师曾讲过的那些重要、紧急优先次序。他提到的个人的学习生活情况

倒没什么深刻感,但我认为他引用的一番话较有道理,大概意思是比 起个人兴趣更为优先的应该是谋生的本领,尤其是当自己感兴趣的正 好是冷门时。当掌握了一些实实在在有能保证自身良好发展前景后,再 去做一些自己感兴趣的事也来得及。于我而言,一个人尚不能独善其身,何求其兼济天下。成己方成人就是如此道理。 第三节课主要讲解了大学学习生活中应着重的基础课以传递重 基础的要旨。据个人体会,其中英语科目实是基础中的基础,主要是 为辨认单词(即代码变量以及注释)意义以达到理解他人算法并顺利 接手他人接下来的工作。企业和公司出于其本身利益主张雇方市场 -- 讲究项目的可接手性,而不希望对现有人员的过分依赖。离散数学则应该是为之后学习其他编程专业知识做理论知识的铺垫。概率统计更多应是对统计有关算法及理论的学习(个人认为现实生活中许多问题都可以运用概率统计的方法加以解决,因此应是很重要的基础知识)。C/C++(Java)语言是作为编程的工具使用,无疑是基础(现今水平下的 我们主要用 C 编代码)。数据结构则应是提供特定的解决问题的结构 思想以便进行数据处理方面工作。算法的重要性以及基础性的个人体 会已包含在第一节课中。计算机体系结构与汇编课程与操作系统原理 课程主要在于理解计算机系统运行原理能加深对代码运行原理的理 解,对于现今水平的我也能更深层次的理解 c 语言的指针操作等方面知识。汇编语言能够直接对硬件进行操作,生成的程序与其他的语言相 比具有更高的运行速度,占用更小的内存,因此在一些对于时效性要求很高的程序、许多大型程序的核心模块以及工业控制方面大量应

软件工程导论复习知识点

一、软件: 软件定义: 软件=程序+文档+数据 软件特点: 1、具有抽象性 2、没有明显的制造过程 3、软件的维护比硬件的维护要复杂得多 4、对计算机系统有着不同程度的依赖性 5、尚未完全摆脱手工艺的开发方式 6、软件本身是复杂的 7、软件成本相当昂贵 8、相当多的软件工作涉及到社会因素软件的发展: 程序设计、程序系统、软件工程 软件危机: 软件危机指的是软件开发和维护过程中遇到的一系列严重问题。 软件危机的问题: 如何开发软件,怎样满足对软件的日益增长的需求;如何维护数量不断膨胀的已有软件。 软件危机表现: 1.开发成本难以控制,进度不可预计; 2.软件系统的质量和可靠性很差,难以满意; 3.软件文档相当缺乏,软件系统不可维护; 4.软件开发生产率很低,软件产品供不应求。 5.软件产品成本十分昂贵。

软件危机产生原因: 1、软件本身的特点 2、对软件开发与维护存在许多错误认识和做法 3、软件开发与维护的方法不正确 解决软件危机途径: 1、将软件开发看成是一种组织严密、管理严格、各类人员协同配合共同完成的工程项目。 2、研究和推广成功的软件开发技术和方法。 3、开发和使用好的软件工具。 软件生命周期: 软件所经历的定义、开发、使用和维护直到废弃所经历的时期。 程序设计环境: 源程序编辑,编译或解释,链接,调试和运行工具的集合 软件工程环境: 软件定义,设计和实现,测试和维护等各个阶段所使用的软件工具的集合 二、软件工程: 软件工程定义: 研究如何应用一些科学理论和工程上的技术来指导软件的开发,用较少的投资获得高质量的软件的一门学科。 软件工程性质: 涉及计算机科学、工程科学、管理科学、数学等领域,着重于如何建造一个软件系统。用工程科学中的观点来进行费用估算、制定进度、制定计划和方案。用管

重庆大学研究生《软件过程与项目管理》课程教学大纲-重庆大学软件学院

重庆大学研究生《软件过程与项目管理》课程教学大纲 1、课程名称:软件过程与项目管理 课程编码:(在MIS系统中的课程编号) 2、学时学分:32学时/2学分 3、适用的学位类型:学术型博士/硕士 4、先修课程: 《软件工程导论》、《软件需求分析》 5、使用教材及主要参考书目 (1)朱少民、左智,软件过程管理,清华大学出版社,2007.4 (2)韩万江等,软件项目管理案例教程(第2版),机械工业出版社,2009.4(3)任永昌著,软件项目管理,清华大学出版社,2012.7 6、课程简介及主要内容(500字) 通过本课程的学习,学生能够全面了解软件开发和维护的全过程,深刻理解软件过程的框架、标准和内涵,能够将软件过程模型灵活地应用于实践之中,掌握软件项目管理的基本理论,熟悉软件项目管理的方法、流程和工具。培养学生在软件开发中不断改进软件过程、管理软件开发项目的基本能力,并将软件项目管理的理论应用于软件项目的实践,提高分析、解决问题的能力。 该课程主要内容包括软件过程规范、软件过程成熟度、软件过程的组织管理、需求管理和技术管理等相关的概念和理论,以及软件项目计划管理、成本管理、质量管理、配置管理、文档管理、风险管理和集成管理等流程、方法和实践。7、教学内容、教学方式及学时分配:

8、考核及成绩评定方式: 平时作业及出勤30% + 期末闭卷考试70% 编制人签字:柳玲学院主管院长签字:符云清编制时间:2015.12.18

Syllabus for Graduate Courses of Chongqing University 1、Course Name:Software process and project management Course Code: 2、Credits and hours:32 hours/2 credits 3、Degree Level: Academic Degree (Doctor/Master) Software Engineering 4、Prerequisite Courses: Software Engineering、Software requirement analysis 5、Textbooks and reference books: (1)朱少民、左智,软件过程管理,清华大学出版社,2007.4 (2)韩万江等,软件项目管理案例教程(第2版),机械工业出版社,2009.4(3)任永昌著,软件项目管理,清华大学出版社,2012.7 6、Course description Through the study of this course, students can understand the whole process of software development and maintenance, and deeply understand the framework, standards and contents of the software process, and can apply the software process model into the practice. Students can master the basic theory of software project management, and familiar with methods, processes and tools of the software project management. This course trains the basic ability of students in the software development process and software project management. The main content of this course includes the concepts and theories of software process specification, software process maturity, organization management, requirement management, technology management, etc., and the process, method and practice of software project plan management, cost management, quality management, configuration management, document management, risk management and integrated management.

软件工程导论重点内容

第一章软件工程概述 重点掌握的容:软件和软件工程的基本概念 一.什么是软件? 1.满足功能要求和性能的指令或计算机程序集合; 2.处理信息的数据结构; 3.描述程序功能以及程序如操作和使用所要求的文档; 软件的特点: 软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。 软件是通过人们的智力活动,把知识与技术转换成信息的一种产品,是在研制、开发中被创造出来的 在软件运行和使用的期间,没有硬件那样的机械磨损、老化问题 软件的开发和运行经常受到计算机系统的限制,对计算机系统有着不同程度的依赖性 软件的开发至今尚未完全摆脱手工的开发式 软件的开发费用越来越高,成本相当昂贵。 二.软件危机以及产生软件危机的原因? 1.软件开发生产率提高的速度,远远跟不上计算机迅速普及的趋势。软件产品“供不应求”。 2.软件成本在计算机系统总成本中所占的比例逐年上升。 3.软件开发人员和用户之间的信息交流往往很不充分,用户对“已完成的”的软件系统不满足的现象经常发生。 4.软件产品的质量不容易保证。 5.软件产品常常是不可维护的。 6.软件产品的重用性差,同样的软件多次重复开发。

7.软件通常没有适当的文档资料。 产生软件危机的原因可归结为两个重要的面: 软件生产本身存在的复杂性; 软件开发所使用的法和技术。 三、软件危机 1、软件危机定义:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列重问题。 2、软件危机的两个主要问题:如开发软件,以满足对软件日益增长的需求; 如维护数量不断膨胀的已有软件。 3、软件危机的典型表现:(1) 对软件开发成本和进度的估计常常很不准确。 (2) 用户对“已完成的”软件系统不满意的现象经常发生。 (3) 软件产品的质量往往靠不住。 (4) 软件常常是不可维护的。 (5) 软件通常没有适当的文档资料。 (6) 软件成本在计算机系统总成本中所占的比例逐年上升。 (7) 软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。 软件工程 1、软件工程定义:软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术法结合起来,以经济地、高效的开发出高质量的软件并有效地维护它,这就是软件工程。 软件工程准则可以概括为7条基本原则:

软件工程导论实验报告

<<软件工程概论>> 实验报告 姓名:李治 学号:100511210 班级:网工1001 指导教师:桂兵祥 实验一“图书馆系统”结构化需求分析

上机任务: 用结构化需求分析方法完成下列任务: (1)对“图书馆系统”问题进行描述; (2)对该系统进行功能分析; (3)建立数据流图; (4)建立实体 - 关系图; (5)建立数据字典; 一、图书馆系统的问题描述: ① 一个图书馆藏有图书和期刊杂志两大类书籍,每种图书/杂志可以有多册。 ② 图书馆可以维护(注册、更新和删除)图书资料。 ③ 图书馆管理员负责与借书者打交道。 ④ 借书者可以预约目前借不到的书或杂志。 ⑤ 所有人员都可以浏览图书馆的图书信息和各种告示。 ⑥ 系统能在流行的技术环境下运行,有一个良好的图形交互界面。 ⑦ 系统应具有良好的可扩展性。 二、图书馆系统功能分析: ① 浏览功能:所有人员都可以浏览图书馆的图书信息。 ② 借还功能:借书者可以借/续借、还、预约图书。 ③ 图书管理功能:图书管理人员可以做录入、更新和销毁等图书信息维护工作。④ 借书者管理:系统管理人员可进行注册、更改、注销借书者信息等维护工作。 三、建立数据流图: 1、图书馆系统的基本逻辑模型: 浏览图书 浏览者 图书信息 浏览信息 2、借/还功能数据流图: (1)借/还功能(第一步)DFD : 借书还书 续借预约 书目号和借书 证号 书目号 书目号 标题号和借书 证号 管理员 借书者 借书者 显示信息 (2)借/还功能(修改)DFD :

借书还书续借预约 书目号和借书 证号 书目号 书目号 标题号和借书 证号 管理员 借书者 3、维护功能数据流图: (1)维护功能(第一步)DFD : 更改借者注销借书者 录入新书更新图书管理员 注册借书者销毁图书处理罚金 管理员 (2)维护功能(修改) DFD : 录入标题修改标题删除标题录入新书管理员 销毁书目修改书目 标题信息 标题号 标题号 书目信息 书目号 书目号 4、借书功能细化的数据流图:

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

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

《软件工程导论》第六版期末复习总结要点

软件工程 一、名词解释与问答 1、S A——结构化分析方法 2、画数据流图应注意什么事项? (1)数据流名称只能是名词或是名词短语; (2)每个加工至少有一个输入数据和一个输出数据流,反映出此加工数据的来 源与加工的结果; (3)编号:某个加工分解成一张数据流图时,上层图为父类,下层图为子类; 父图与子图的平衡:子图的输入输出数据流同父类相应的输入输出数据流必须一致; (4)注意数据流图的易理解性; 3、什么是软件生存周期?它有那几个活动? 一个软件从提出开发要求开始直到该软件报废为止的整个时期。 包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。 4、什么是数据流图?作用是什么?其中的基本符号表示什么含义?以图的方式描述数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能,是一种功能模型。 箭头,表示数据流数据流是数据在系统内传播的路径,由一组成分固定的数据项组成; 圆或椭圆,表示加工对数据进行某些操作或变换,每个加工要有名字,通常是动词短语,描述完成的加工; 双杆,表示数据存储指暂时保存的数据;方框,数据源点或终点软件系统外部环境的实体,为帮助理解系统接口界面引入,只出现在顶层图中; 什么是数据字典简述数据字典与数据流图的关系答案:数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与 说明,是数据流程图的补充工具.(2分)数据流图和数据字典共同构成系统的逻辑模型没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用?数据流图和对数据

流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明.(3分)简述编码风格的重要性? 答案:阅读程序是软件开发和维护过程中的一个重要组成部分,程序实际上也是一种供 人阅读的文章?应当在编写程序时讲求程序的风格,这将大量地减少人们读程序的时间? 良好的编码风格有助于编写出可靠而又容易维护的程序,编码的风格在很大程度上决定 着程序的质量. 简述软件测试的任务、目的与类型。 答:软件测试是一个为了寻找软件错误而运行程序的过程。 目的就是为了发现软件中的错误。一个好的测试用例是指很可能找到迄今为止尚未发 现 的错误的用例。一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。软件测 试 主要分为白盒测试和黑盒测试两大类。 可行性分析的目的和主要任务是什么? 答:可行性分析的目的不是解决问题,而是确定问题是否值得去解决。 主要任务是从下面几方面研究每种解法的可行性:技术可行性,经济可行性,操作可行 性,社会可行性,抉择可行性。 需求分析的目的和主要任务是什么? 答:进行需求分析是为了准确地回答“系统必须做什么”这个问题,决定可以做什么不做什么。需求分析的主要任务是描述系统的功能需求、性能需求、数据需求、可靠性/可用性需求、出错处理需求、接口需求、约束条件、其他需求。 软件维护的目的和主要任务是什么?维护的类型有哪些? 答:软件维护是软件生命周期中最后一个、持续时间最长的阶段。 主要任务是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件,目的是提高软件的可靠性、可用性,延长软件的寿命。维护的类型有:改正性(错误)、适应性(环境)、完善性(功能)、预防性(新产品)什么是耦合?模块的耦合包括哪些类型?答:耦合是对一个软件结构内不同模块之间互连程度的度量。 模块的耦合包括以下几种类型:数据耦合,控制耦合,特征耦合,公共环境耦合,内容耦合,标记耦合,无耦合/非直接耦合 什么是内聚?模块的内聚包括哪些类型?

大连理工大学城市学院软件工程导论期末考试复习重点

软件工程导论重点 第一章重点: 软件的概念:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。 软件危机概念:软件危机暴发于上个世纪六十年代末。 主要表现为:软件的发展速度远远滞后于硬件的发展速度,不能满足社会日益增长的软件需求。软件开发周期长、成本高、质量差、维护困难。 软件工程概念: 概括地说,软件工程是指导计算机软件开发和维护的工程学科。 采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。 软件工程的目标: 软件工程的目标是运用先进的软件开发技术和管理方法来提高软件的质量和生产率,也就是要以较短的周期、较低的成本生产出高质量的软件产品,并最终实现软件的工业化生产。 基本目标: 付出较低的开发成本 达到要求的软件功能 取得较好的软件性能 开发的软件易于移植 需要较低的维护费用 能按时完成开发工作,及时交付使用 软件生存期概念和包含内容: 软件也有一个孕育、诞生、成长、成熟和衰亡的生存过程,我们称这个过程为软件生命周期或软件生存期。 软件生存期分为三个时期 软件定义 软件开发 运行维护

软件工程的方法: 软件工程包含技术和管理两方面的内容,是技术和管理紧密结合所形成的工程学科。 通常将软件开发全过程中使用的一整套技术方法的集合称为方法学(methedology),也称为范型(paradigm)。 目前使用最广泛的软件工程方法学:传统方法学(结构化方法学),面向对象方法学。 软件工程三要素: 三要素:方法、工具和过程。 第二章重点: 生存期模型有哪些: ?瀑布模型 ?快速原型模型 ?增量模型 ?螺旋模型 ?喷泉模型 ?统一过程 ?基于构件的开发模型 ?敏捷过程 前四种面向过程后四种面向对象 给一个模型,判断出是哪一模型的 第三章重点: 结构化分析方法的概念: 传统的分析建模方法称为结构化分析(structured analysis,SA)方法。 三大建模:(未完待续!!!) 功能建模: 功能建模的思想就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。功能模型

软件工程教学大纲正式版

软件工程教学大纲正式 版 WTD standardization office【WTD 5AB- WTDK 08- WTD 2C】

《软件工程导论》课程教学大纲一、课程基本信息 课程编号: 英文名称名:Software Engineering 总学时:54学时 学分:3 课程类别:专业必修课 适用专业:全校本(专)计算机科学与技术 先修课程:数据结构,大学数学,离散数学,计算机算法设计。 二、课程性质与目的、要求 《软件工程》是计算机专业的一门工程性基础课程,在软件工程学科人才培养体系中占有重要的地位。软件开发是建立计算机应用系统的重要环节,人们通过软件工程学把软件开发纳入工程化的轨道,而软件工程学是用以指导软件人员进行软件的开发、维护和管理的科学。《软件工程》已成为高等学校计算机软件教学体系中的一门核心课程, 本课程以IEEE最新发布的软件工程知识体系为基础构建内容框架,注重贯穿软件开发整个过程的系统性认识和实践性应用,以当前流行的统一开发过程、面向对象技术和UML语言作为核心,密切结合软件开发的先进技术、最佳实践和企业案例,力求从“可实践” 软件工程的角度描述需求分析、软件设计、软件测试以及软件开发管理,使学生在理解和实践的基础上掌握当前软件工程的方法、技术和工具。 通过本课程的学习,要求学生能掌握软件工程的基本概念、基本原理、开发软件项目的工程化的方法和技术及在开发过程中应遵循的流程、准则、标准和规范等;学生应能掌握开发高质量软件的方法,以及有效地策划和管理软件开发活动,为学生参加大型软件开发项目打下坚实的理论基础。 本课程注重培养学生理论应用于实践的能力,课堂上教师向学生讲述软件工程中的相关原理和概念,并通过课程设计,培养学生对整个软件开发过程的能力,让学生能切实体会到软件工程在实践中的指导作用,并按软件工程的要求完成规范的各项软件开发文档。本课程对提高学生的软件开发能力和项目管理能力有重要的现实意义。 三、教学内容及学时分配 本课程的教学内容共分十三章。

软件工程导论实验报告 白盒测试 黑盒测试

《软件工程导论》实验报告 学生姓名: 学号: 班级: 指导老师: 专业: 实验日期:

白盒测试 一、实验目的 通过简单程序白盒测试,熟悉测试过程,对软件测试形成初步了解,并养成良好的测试习惯。熟练掌握如何运用基路径测试方法进行测试用例设计,初步熟悉如何利用程序插装技术进行逻辑覆盖率分析。 二、实验内容: 1、被测试程序功能:求解系数为整数的方程ax2+bx+c=0 2、程序定义:键盘输入3个数字a,b,c,求解方程ax2+bx+c=0 3、测试环境:Windows 8.1、Eclipse 4、说明:本次测试采用插桩测试法,由于程序比较简单,手动输入测试用例。 四、实验步骤 1、程序流程图

2、代码: import java.util.Scanner; public class test { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("请输入3个整数a,b,c:"); String as; String bs; String cs; int a=0; int b=0; int c=0; double x, x1, x2; as=sc.nextLine(); bs=sc.nextLine(); cs=sc.nextLine(); try{ a=Integer.parseInt(as); b=Integer.parseInt(bs); c=Integer.parseInt(cs); }catch(Exception e){ System.out.println("输入错误"); System.exit(0); } if (a == 0) { if (b == 0) { if (c == 0) System.out.println("无穷多解" ); else

《软件工程导论》第五版-张海藩-编著-总结

《软件工程导论》第五版张海藩编著总结 分类:Computer System2011-01-04 10:14 6417人阅读评论(10) 收藏举报 测试数据结构工具任务文档软件测试 总结重点: ?Unit1 ?软件危机包含两方面の问题:一是如何开发软件,怎样满足人们对软件日益增长の需求?二是如何维护软件,使它们持久地满足人们の要求。 ?软件工程学定义:把软件当作一种工业产品,采用工程学の原理来管理和组织软件の开发和维护,称为软件工程。 ?软件是指程序、数据和文档三者共同构成の配置。 ?包含与数据处理系统操作有关の程序、规程、规则以及相关文档の智力创作称为软件。文档是描述程序开发过程の,是智力创作の真实记录,是创作活动の历史档案和结晶。 ?软件の描述性定义:软件由计算机程序,数据结构和文档组成。 ?软件质量定义为“与软件产品满足规定の和隐含の需求能力有关の特征和特性の全体” 具体来说: 1)软件产品中能满足给定需求の性质和特性の总体; 2)软件具有所期望の各种属性の组合程度。 ?将软件质量属性划分为六个特性(功能性、可靠性、易用性、效率、维护性和可移植性),这六个属性是面向用户の观点——面向管理の观点,且是定性描述の。 ?软件质量度量体系:内部度量可用于开发阶段の非执行软件产品,外部度量只能在生存周期过程中の测试阶段和任何运行阶段使用。 ?软件工程项目の基本目标:(1)低成本;(2)满足功能要求;(3)高性能;(4)易移植;(5)易维护。 ?软件工程方法学就是要从技术和管理上提供如何去设计和维护软件。 ?软件开发方法:面向数据流(约旦)方法、面向数据结构方法、面向对象方法。 ?结构程序设计是进行以模块功能和处理过程设计为主の详细设计の基本原则。它の主要观点是采用自顶向下、逐步求精の程序设计方法;使用三种基本控制结构构造程序,任何程序都可由顺序、选择、循环三种基本控制结构构造。 ?用来辅助软件开发、运行、维护、管理、支持等过程中活动の软件称为软件工具(CASE)。 ?软件生存周期定义:软件产品从形成概念开始,经过开发、使用和维护,直到最后不再使用の整个过程。各阶段の任务彼此间尽可能の相对独立,同一阶段内各项任务の性质尽可能の相同。软件の开发就是“按软件顺时间发展の过程分阶段进行”の。 ?软件生存周期模型: 瀑布模型(阶段间具有顺序型和依赖性,清楚地区分逻辑设计与物理设计、尽可能推迟程序の物理实现,是文档驱动模型,遵循结构化设计);

软件工程导论(第6版)知识点总结、复习课_图文.

复习课 --------酷爱YC 第一章 1、什么是软件危机,什么是软件工程 软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。它包括两方面:(1如何开发软件,以满足对软件日益增长的需求;(2如何维护数量不断膨胀的已有软件。 软件工程:采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件,并有效地维护它。 2、完整的软件配置由哪些内容组成 软件配置主要包括程序,文档和数据等成分。 3、软件生命周期分为哪3个时期和8个阶段,每个阶段的任务(工作分别是什么,重要性如何

概括地说,软件生命周期由软件定义、软件开发和运行维护3个时期组成 1、软件定义(系统分析。 软件定义时期的任务是:确定软件开发工程必须完成的总目标;确定工程的可行性;导出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该项工程需要的资源和成本,并且制定工程进度表。这个时期的工作通常又称为系统分析,由系统分析员负责完成。软件定义时期通常进一步划分成3个阶段,即问题定义、可行性研究和需求分析。 (1 问题定义,确定系统要解决的问题是什么。成果:关于问题性质、工程目标和工程规模的报告。 (2 可行性研究,确定问题是否有可用的、能行得通的解(包括:技术、经济、操作、社会等方面的可行性。这个阶段的任务不是具体解决问题,而是研究问题的范围,探索这个问题是否值得去解,是否有可行的解决办法。成果:可行性研究报告。 (3 需求分析,确定软件系统的必须实现的功能、必须达到的性能、必须满足的运行环境要求。系统分析员在需求分析阶段必须和用户密切配合,充分交流信息,以得出经过用户确认的系统逻辑模型。通常用数据流图、数据字典和简要的算法表示系统的逻辑模型。在需求分析阶段确定的系统逻辑模型是以后设计和实现目标系统的基础,因此必须准确完整地体现用户的要求。成果:软件需求规格说明书(SRS,内容包括:系统的逻辑模型;系统(子系统的名称、功能描述、接口、基本数据结构、性能、设计需求、开发标准、验收原则等。 2、软件开发。 开发时期具体设计和实现在前一个时期定义的软件,它通常由下述4个阶段组成:总体设计,详细设计,编码和单元测试,综合测试。其中前两个阶段又称为系统设计,后两个阶段又称为系统实现。 (1 总体设计(概要设计,回答“怎样实现目标系统”。

软件工程导论最全复习总结

1、软件危机是指在计算机开发过程中的开发和维护过程中所遇到的一系列的 严重问题。 2、软件是程序、数据及相关文档的完整集合,程序是能够完成预定功能和性能的可执行的 程序序列;数据是是使程序能够适当的处理信息的数据结构;文档是开发、使用和维护程序所需要的图文资料。 3、软件工程学包含3个要素:方法、工具、过程。 4、目前使用最广泛的软件工程方法学是传统方法学和面向对象方法学。 5、软件工程方法学的软件过程基本上可以用瀑布模型来描述。 6、瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型。 7、Rup把软件生命周期划为:初始、精化、构建、移交阶段。 8、可行性研究的三方面:技术可行性、经济可行性、操作可行性。 9、数据流图(DFD是一种图形化技术,他描绘信息流和数据从输入移动到输出的过程中 所经受的变化。 10、数据字典是关于数据信息的集合,也就是对数据流程图中所包含的所有元素的定义 的集合。 11、数据流图和数据字典共同构成系统的逻辑模型,没有数据字典,数据如就不严格, 没有流程图,数据字典也难以发挥作用。

12、需求分析阶段结束之前,系统分析员应该写出软件需求规格说明书,以书面形式准 确的描述软件需求。 13、9、结构化分析方法就是面向数据流自顶向下逐步求精进行需求分析的方法。 14、ER图中包含了实体、关系和属性,矩形代表实体,菱形表示关系,椭圆或圆角矩 形表示属性,用直线把实体和其属性连接。 15、验证软件需求的正确性:一致性、完整性、现实性、有效性。 总体设计又称 16、总体设计的基本目的是回答“概括地说,系统应该如何实现?”, 为 概要设或初步设计。 17、模块的独立程度可以有两个定性标量度量:内聚和耦合。 18、软件测试的目标:(1测试是为了发现程序中的错误而执行程序的过程;(2好的 测试方案是极可能发现迄今为止尚未发现的错误的测试方案;(3成功的测试是发现可至今为止尚未发现的错误的测试。 19、软件测试步骤:模块测试、子系统测试、系统测试、验收测试、平行运 行。 20、软件可靠性是程序在给定的时间点,按照规格说明书的规定,成功的运行的概率。

附1《软件工程导论》课程考核方法

附1:《软件工程导论》课程考核方法 综合考虑课程大纲与实际授课情况,为全面考察学生的学习情况,本课程拟采用课程报告的方式进行考核,具体方法如下: 1、该课程的总成绩由平时成绩和课程报告成绩两部份构成,平时成绩占20%,由任课教师自行确定,课程报告成绩占80%。 2、课程报告的具体要求如下: (1)课程报告题目:XX公司软件开发的调查报告 (2)课程报告的主要内容要求: A 描述调查方法; B 公司情况简介; C 软件开发岗位及职能分析; D 软件工程实施情况描述; E 总体评价 (3)课程报告的格式要求: 文件名规定:专业班级+学号.doc 例:软件工程2005081034.doc 题目:宋体小三号 标题或正文:宋体小四号 文档方式:必须是word文档格式 3、课程报告完成的基本要求 (1)在实施调查的基础上,每位学生必须独立完成。 (2)不允许抄袭,一经发现,不管是抄袭者还是被抄袭者一律取消考试资格。 (3)16周向学生公布题目,19周周五下午5:00以前提交课程报告,过时不交,学生做自动放弃考试处理或做缺考处理。 (4)提交既要以A4纸张打印,又须提交电子文档,电子文档传入教师

的网络存储。 4、课程报告的评分标准 A.调查方式(总分10分):实地考察(基础分为8分)、电话咨询 (基础分为6分)、E-Mail交流(基础分为5分)、网络查询总 结(基础分为3分),几种方式综合应用的,由教师酌情考虑。 B.公司情况介绍(总分20分):包括公司性质与规模、组织机构(5 分)公司业务(包括主要软件开发产品或项目情况与公司软件技 术使用情况,15分)。 C.岗位职能分析(总分15分):描述软件开发的各个职位并写出主 要岗位的职能。 D.软件工程实施情况(总分45分):包括软件开发模型、软件开发 方法的应用情况(10分);实际软件开发过程(10分);软件开 发项目管理方法(10分);软件质量保证措施(15分)。 E.总体评价(10分)

软件工程导论复习重点总结很全(第六版)(精)

第1章软件工程学概述 1.1 软件危机 1.1.1 软件危机的介绍 软件危机(软件萧条、软件困扰:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 软件危机包含下述两方面的问题: 如何开发软件,满足对软件日益增长的需求; 如何维护数量不断膨胀的已有软件。 软件危机的典型表现: (1对软件开发成本和进度的估计常常很不准确; (2用户对“已完成的”软件系统不满意的现象经常发生; (3软件产品的质量往往靠不住; (4软件常常是不可维护的; (5软件通常没有适当的文档资料; (6软件成本在计算机系统总成本中所占的比例逐年上升; (7软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。 1.1.2 产生软件危机的原因 (1与软件本身的特点有关 (2与软件开发与维护的方法不正确有关

1.1.3 消除软件危机的途径 对计算机软件有正确的认识。 认识到软件开发是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。应该推广使用在实践中总结出来的开发软件的成功技术和方法,并继续研究探索。 应该开发和使用更好的软件工具。 总之,为了解决软件危机,既要有技术措施(方法和工具,又要有必要的组织管理措施。 1.2 1.2.1 软件工程的介绍 软件工程:是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。(期中考 软件工程的本质特性: 软件工程关注于大型程序的构造 软件工程的中心课题是控制复杂性 软件经常变化 开发软件的效率非常重要 和谐地合作是开发软件的关键 软件必须有效地支持它的用户

安全工程导论(安全科学与工程导论)课程教学大纲

XXXXXXX 《安全工程导论》课程教学大纲 (安全工程专业) XXXXXXXXXXXXXXXXXXXXXXX 2015年8月

《安全工程导论》课程教学大纲 课程中文名称:安全工程导论 课程英文名称:Introduction to safety engineering 课程类别:专业必修课 课程编号:020******* 课程归属单位:矿业工程学院 制订时间:2015年8月 一、课程的性质、任务 1.课程性质和任务 (1)性质:《安全工程导论》是安全工程专业专业平台课程模块专业必修课。 (2)任务:通过本门课程的学习使学生了解安全工程专业的基本知识与内容,为后续专业课程的学习奠定坚实的基础。 2.教学要求 (1)课程的学习方法:课堂上进行理论学习、实例分析、课堂练习、课后作业,理解并掌握基本概念。课外,通过演示实验让学生对矿井各生产系统有基本了解。 (2)课程的重点及难点: ①课堂教学的重点、难点:本课程的重点及难点是讲授安全科学观、安全认识论、安全方法论、安全社会原理、安全经济原理。 ②实践教学的重点、难点:实践教学的重点及难点为煤矿各生产系统协调动作讲解。 (3)教学效果:通过本课程的学习,使学生对安全工程专业的基本知识与内容能有全面和系统的了解,能树立正确的安全观,运用正确的安全方法指导开展安全领域的研究与学习,为后续专业课程的学习奠定坚实的基础。 3.适用专业 安全工程 4.本门课程与其它课程的关系 《安全工程导论》是安全工程专业专业平台课程模块专业必修课之一,为后续安全工程核心专业课程学习打下了一定的理论基础。 5.学分、学时数

本课程学分数为1学分。教学总教学学时为18学时,其中理论教学16学时,实验教学2学时。6.推荐教材 周世宁,林柏泉,沈斐敏编著.安全科学与工程导论[M]. 中国矿业大学出版社, 2005 7.推荐参考书 1.金龙哲等编著.安全学原理[M].冶金工业出版社,2009; 2.毛海峰编.安全管理心理学[M]. 化学工业出版社, 2004 3.罗云,程五一编著.现代安全管理[M]. 化学工业出版社, 2004 4.叶龙,李森主编.安全行为学[M]. 北京交通大学出版社, 2005 5.罗国亮. 灾害应对与中国政府治理方式变革研究[D]. 南开大学2010 8.主要教学方法和多媒体教学要求: (1)主要教学方法:本课程采用课堂讲授与课外实践相结合教学。 ①课堂采用讲授、辅以课堂思考及答疑、课后作业的教学方法。 ②课外实践采用课程演示实验的方法。课程实验为现代化矿井模型演示实验,通过该实验,使学生对矿井各环节有初步了解,为学生学习安全工程后续专业课程打下坚实的基础。 (2)多媒体教学要求:课程采用多媒体教学,必要时辅以板书。 二、各章教学内容和要求 1、课堂讲授内容(16学时): 第一讲:第一章(2学时) 第一章结论 基本内容:本章主要是讲解安全的基本概念及特征、安全科学的发展现状及趋势、安全科学技术学科分类、安全科学的学科体系和研究范畴。 教学重点和难点:重点和难点是安全的基本概念及特征、安全科学的学科体系和研究范畴。 教学要求:理解安全的基本概念及特征、了解安全科学的学科体系及其相关学科的关系、了解安全科学的由来与发展、了解我国“安全科学与工程”学科、掌握安全科学的研究对象。 第二讲:第二章(2学时) 第二章安全科学观 基本内容:本章主要是讲解安全科学的指导思想、安全本质及安全第一原理、安全价值观、大安全观。 教学重点和难点:重点和难点是安全本质及安全第一原理。

相关文档
最新文档