软件工程课程笔记

软件工程课程笔记
软件工程课程笔记

软件工程课程笔记

软件

●与计算机系统操作有关的程序、规程、规则及任何与之有关的文档和数据

●软件=程序+数据+文档

程序设计语言的发展

●机器语言

●汇编语言

●高级语言

●面向问题的4GL

文档

●标准化

●规范化

开发过程

●依赖于开发人员的专业素养,脑力劳动,开发成本、进度很难估计,不可预料因素较多,

产品的不可见性,错误不可能完全剔除

使用过程

●大量维护投入(纠错、完善、适应)

逻辑特性

●不会磨损,但会老化

变更与错误影响范围具有扩大的效应

软件分类(基于开发过程):CASE工具软件、个人计算机软件、人工智能软件、事务处理软件、科学与工程计算机软件、嵌入式软件、系统软件、实时软件

软件危机的表现

●软件越来越复杂,规模越来越庞大

●但是单纯增加人力,并不能提高生产力

●随着人员的增加,组织、管理、协调成长突出问题

软件危机的产生原因

●需求定义不完整、不精确,用户参与少

●没有挖掘用户愿望

●缺乏发型项目开发经验和项目组织经验

●缺乏有力的方法学和工具支持

●软件产品的特殊性:复杂,开发过程不可见,进度难以估计

开发模型:

瀑布型模型

原型模型

螺旋模型

基于4GL技术的模型

变换模型

敏捷开发

组合模型

CASE工具及环境

软件工具:单一,不兼容

CASE:集成,协同

第3讲软件项目管理

对软件项目开发过程中所涉及的过程、人员、产品、成本和进度等要素进行度量、分析、规划、组织和控制的过程,以确保软件项目按照预订的成本、进度、质量要求顺利完成开发任务。

●过程管理

过程定义和剪裁

软件项目计划

软件度量

软件项目的跟踪和监督

风险管理

●人员管理

软件项目团队

纪律和激励机制

●产品管理

软件需求管理

软件质量保证

软件配置管理

软件度量(Metrics)是指对软件产品、软件开发过程或者资源的简单属性的定量描述

●产品:软件开发过程中所发生的各种文档和程序

●过程:与软件开发有关的各种活动,如软件设计等

●资源:软件开发过程中所需支持,如人员、费用等

注意点

●定量描述,而不是定性描述

●简单属性无需参照其它属性便可直接获得定量描述。

软件测量(Measure)是对软件产品、软件开发过程和资源复杂属性的定量描述,它是简单属性度量值的函数,软件测量用于事后或实时状态,如软件可靠性

●注意点

定量描述,而不是定性描述

复杂属性,不可直接获得、需要参照其它属性的度量值

估算(Estimation)对软件产品、软件开发过程和资源复杂度属性的定量描述,它是简单属性度量值的函数,软件估算用于事前,如软件开发成本

●注意点

定量描述,而不是定性描述

复杂度,不可直接获得、需要参照其它属性的度量值

事前状态

可采用经验公式,可参考历史资料和数据。估算的结果一般用于签订合同、立项、指定

工作计划等

用软件代码行数来表示软件项目规模

生产率P=L/E(KLOC/人.月)L:代码量E:软件项目工作量

平均成本C=S/L(每千行代码成本)S:软件项目的总开销

文档与代码比D=Pd/L(每千行代码页数)Pd:软件项目的文档页数

代码出错率EQR=Ne/L(每千行代码错误数)Ne:软件项目的代码缺陷数

成本估算是双方签订合同的主要依据:另一方面,涉及因素多,难以精确估计

常用的估算方法

参照和依据已完成项目的历史数据

将大项目分解为小项目

将项目按照软件生命周期分解

根据经验估算公式

组合使用以上各方法

CoCoMo模型

●CoCoMo是Boehm于1981年提出的构造性成本模型(Constructive Cost Model),用于

对软件开发项目的规模、成本、进度等方面进行估算

●基本CoCoMo模型

系统开发的初期,估算整个系统的工作量(包括维护)和软件开发和维护所需的时间●中间CoCoMo模型

估算各个子系统的工作量和开发时间

●详细CoCoMo模型

估算独立的软构件,如各个子系统的各个模块的工作量和开发时间

Putnam估计模型

Putnam于1978年提出了发型项目、动态多变量估计模型。

L——源程序代码行数L=CKEtd

td——技术常数

E——工作量

软件质量至关重要,质量不高的软件会带来严重、甚至灾难性的后果

不同的人对质量的理解与要求是不同的

软件质量:软件产品满足规定的和隐含的与需求有关的全部特征和特性。

●软件质量依赖于软件内部特性及其组合;

●必须加强对软件质量的管理和监控;

●必须在开发过程中能够可视化所开发软件的质量。

质量要素:面向管理者的软件质量

质量要素的评价准则:面向技术、决定产品质量的软件属性

软件质量的度量:可以量化度量的软件属性及度量方法

1987年HP提出的FURPS软件质量要素:功能性、可用性、可靠性、性能、可支持性1985年IOS建议的软件质量模型:

高层软件质量需求评价准则SQRC

中层软件质量设计准则SQDC

底层软件质量度量评价准则SQMC

质量度量应该在软件开发过程中持续不断地进行。

软件复杂度:

●理解程序的难度

●纠错、维护程序的难度

●向他人解释程序的难度

●按指定方法修改程序的难度

●根据设计文档编写程序的工作量

●执行程序时需要资源的程度

需求分析:

●需求分析的任务

●获取需求的方法

●需求建模与分析

●需求规格说明及评审

软件需求:是指用户对目标软件在功能、行为、性能、设计约束等方面的需求

需求的分类

●功能性需求:业务功能及操作对象

●非功能性需求:性能约束等

●其它约束:开发、运行环境等

需求分析与软件过程:

系统工程→需求分析(需求质量保证,需求获取验证方法)[系统架构,开发计划修订]→需求规格说明书→评审→软件设计

其它文档:

需求定义;

用户使用手册;

系统架构设计;

开发设计。

需求规格说明书的主要内容:

●分类逐项描述每一项需求

●建立需求规格说明与用户需求之间的对应关系

●注意:

1.描述方法要与建模方法相对应

2.可以多种描述方法相结合

3.描述的抽象层次要一致

4.描述一定是精确、准确

需求规格说明书

●引言

需求规格说明书的目的

软件产品的作用范围

定义、同义词和缩略词

参考文献

需求规格说明书概览

●一般性描述

产品与其环境之间的关系

产品功能

用户特征

限制与约束

假设与前提条件

●需求描述

功能需求N:引言、输入、处理、输出●外部界面需求N

用户界面

硬件界面

软件界面

●性能需求N

●设计需求N

标准化约束

硬件约束

………

●属性

可用性

可靠性

安全性

可移植性

………

●其它需求

数据库需求

用户操作需求

用户场地需求

………需求评审内容

正确性

无歧义性

完备性

可验证性

一致性

可理解性

可追踪性

需求分析小结:

明确需求的概念与任务、过程、方法问题的抽象与抽象层次

成果:软件需求规格说明书

软件工程概论考试要点及备选试题

软件工程概论考试要点 考试形式为开卷考试,主要考学生的分析、设计与测试的能力 开卷形式可以带进考场的可以是教材和手写笔记,不可以用任何形式的打印稿和复印件 一、基本知识题 考试形式为填空形式,或文字说明形式 二、系统分析题 给出问题画出系统的数据流图、数据字典的定义、加工说明、ER图 三、系统设计题 给出问题的数据流图,画出系统的软件结构图 给出问题,写出过程设计的程序流程图或PAD图 四、软件测试题 给出问题,进行墨盒测试的等价分类法和白盒测试的路径测试法 备选: 一、基本知识题:(20分) 填空题 1.在信息处理和计算机领域内,一般认为软件是 _程序____、_文档____ 和_ 数据____ 。 2.数据流图的基本组成部分有 _数据的源点与终点____、数据流_____、加 工_____、数据文件_____。 3.数据流图和数据字典共同构成了系统的_逻辑____模型,是需求规格说明书 的主要组成部分。 4.划分模块时尽量做到__高内聚、低耦合______,保持模块的独立性,尽量使 用公共模块。 5.类的实例化是_对象_______。 6.将待开发的软件细化,分别估算每一个子任务所需要的开发工作量,然后将 它们加起来,将得到软件的总开发量。这种成本估算方法称为_自底向上_______。

7.如果一个模块被 n 个模块调用,其中直接的上级模块的个数是 m 个 ( m<=n )那么该模块的扇入数是 ____N_______ 个。 8.结构化设计以 __数据流图_________ 为基础,按一定的步骤映射成软件结 构。 9.面向对象分析的目的是对客观世界的系统进行___建模_______________ 。 10.一个进行学生成绩统计的模块其功能是先对学生的成绩进行累加,然后求平 均值,则该模块的内聚性是 __________顺序内聚________ 。 11.投资回收期就是使累计的经济效益等于 __最初的投资费用______________ 所需的时间。 12.软件生存周期是指一个软件从提出开发要求开始直到 __软件废弃____为止 的整个时期。 13.曾被誉为“程序设计方法的革命”的结构化程序设计,使程序设计从 主要依赖于程序员个人的自由活动变成为有章可循的一门科学。 14.从结构化程序设计到面向对象程序设计,是程序设计方法的又一次飞跃。 15.在单元测试时,需要为被测模块设计___测试用例_______。 判断题 1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。(对) 2.数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。(错) 3.软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。(错) 4.软件模块之间的耦合性越弱越好。(对) 5.过程描述语言可以用于描述软件的系统结构。(错) 6.如果通过软件测试没有发现错误,则说明软件是正确的。(错) 7.快速原型模型可以有效地适应用户需求的动态变化。(对) 8.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。(对) 9.集成测试主要由用户来完成。(错) 10.确认测试计划应该在可行性研究阶段制定(错)

软件工程导论复习笔记

简答题: 1.什么是软件? 答:软件是: (1)指令的集合(计算机程序),通过执行这些指令可以满足预期的特征、功能和性能需求。 (2)数据结构,使得程序可以合理利用信息。 (3)软件描述信息,它以硬拷贝和虚拟形式存在,用来描述程序操作和使用。 2.How do software characteristics differ from hardware characteristics? 软件的特性是如何不同硬件的特性? 答:(1)软件是设计开发的,而不是传统意义上生产制造的(2)软件不会磨损,但会退化 (3)虽然整个工业向着基于构件的构造模式发展,然而大多数软件仍是根据实际的顾客需求定制的 3.What do people mean by the expression "software crisis"? 人们是怎样理解“软件危机”这个短语的?

答:软件危机主要表现在两个方面: (1)无法满足日益增长的对软件的需求。 (2)难以满足对已有的软件系统的维护需求。 软件危机出现的原因: (1)由于软件生产本身存在着复杂性 (2)与软件开发所使用的方法和技术有关 “软件工程”的概念用工程化的思想来克服软件危机。 4.What myths about software still exist ? 软件仍然存在着什么神话? 答:管理者的神话;用户的神话;开发者的神话。 简答题: 1.What are the three generic phases of software engineering? 软件工程的三个一般的阶段是? 答:定义阶段、开发阶段、维护阶段 (软件生存周期的三个阶段:软件定义、软件开发、软件维护) 2.What are the names of the five levels of the SEI Capability Maturity Model?

人机工程学课程设计说明书范本

人机工程学课程设计 题目键盘的人机工程学分析与设计 学生姓名郑平平学号1115074008所在学院机械工程学院 专业班级工业设计2011级1101班 指导教师王小军 完成地点陕西理工学院北区 2013年 12 月 28 日

课程设计任务书 院(系) 机械工程学院专业班级工业设计11 学生姓名李洋 一、课程设计题目键盘的人机工程学分析与改进设计 二、课程设计工作自__ 2013 _年_ 12 月_ 16 日起至 2014_年 1 月 08 日止。 三、课程设计进行地点: 校内 四、课程设计的内容要求: 设计内容 1、对所研究的产品进行人机工程学分析,包括该产品与人体尺寸的匹配,操纵或显示装置的感知、认知分析,操纵机构的宜人性分析,用户视觉感受与使用心理的分析; 2、在分析的基础上,总结现有该产品存在的问题或不足; 3、针对所存在的问题,提出解决方案;(或进行创新设计) 4、经过分析论证,进行方案的比较、筛选,优化设计方案,并最终确定设计方案; 5、建立三维模型,制作效果图六视图; 6、绘制标准CAD六视图工程图; 7、制作展板,进行效果展示。 设计要求: 1、设计说明书A4幅面,统一采用计算机打印; 2、设计说明书撰写规范参考《陕西理工学院毕业设计(论文)》格式及计要求; 3、所有图纸打印幅面A4(工程图、设计草图、效果图6视图、展板),单独装订成册; 4、设计说明书、图册、所有源文件的刻录光盘一并装入资料带,并填写清单; 5、课程设计题目参见选题表及题目清单,每位同学可从中自行选择其中之一,或自拟题目,但必须经过指导教师同意,方可进行; 6、每位同学独立设计,完成所有设计任务。 指导教师王小军系(教研室)工业设计教研室系(教研室)主任签名批准日期

心得体会 软件测试心得体会(精选5篇)

软件测试心得体会(精选5篇) 软件测试心得体会(精选5篇) 关于软件测试的心得体会 虽然一如继往地写读书笔记,笔墨也浪费了不少。但真正坐下来利用大段的时间将自己的思路理清还没有过。因为最近有了一定的时间,更因为狠狠地泡了一段时间51Testing测试论坛,下载学习了该网站的电子测试杂志之后,自己的思路终于开始清晰起来,朦朦胧胧地开始看清了远方的路,麻着胆子去分析一下自己,也学着展望一下未来了,毕竟摸黑走路的感觉很不好。 我觉得学习软件测试的通用技术与针对某类软件的测试技术外,还有一个重要的与技术无关的方面:业务知识.没有具体的业务知识很难发现软件中潜在的逻辑错误甚至是需求上的错误,当然需求要依据特定的软件,但软件测试人员对需求理解的深入程度不应低于软件开发的人员.因为软件测试所有的依据来自于需求,而所有的需求来自于客户,甚至是我们的全部都来自于客户.识别需求后还必须转化为测试上的需求,毕竟测试人员看需求的角度和开发人员还是有区别的. 关于学习,我知道我并非计算机专业的学生,初涉软件测试行业,没有接受系统的培训,对软件测试一无所知,既不知道该测试什么,也不知道如何开始测试。但是,总该知道如何去学习,然而我认为,学习总该有必要的方法 1.找个好师傅 这是最重要的一条了,也是公司提供的最好的一个条件.刚进来的时

候,td,测试案例都有一个pm细心的和你讲,案例有什么方法来设计?要注意哪些错误?软件测试技术相关书籍目录、软件测试流程相关文档目录、产品业务相关的文档目录,一大堆的东西马上够你头晕的了.呵呵,还好,悟性不错,都囫囵吞枣地吞下去了. 2.学会读书 无论是神马专业,我始终确信,万变不离其宗,我知道,我不是这个专业的,但这个并不代表这我就不了解这个,再怎么不济,我也是从书本中走出来的,我相信,只要我努力地吧书本啃熟,我能够灵活地融入到这个职业中去,从书本中找寻解决问题的方法。标记出自己所错误的。 3.与前辈们一起讨论,多说 总有一天,我们会成为一位前辈,不过不是现在,至少现在我们应该好好的向别人学习,所以,我觉得,前辈是我们前进道路上不可或缺的一部分,他会成为引领我们前进的发动机,给我们指点,跟我们道工作的经验。然而,我们也应该多说,我知道,前辈们给我们讲解,已经是很辛苦的事情,毕竟,这不是他们的义务。我们也应该多多说说我们的观点,这样既能够让人家了解我们的水平,也方便老师前辈们对我们进行指导。 这些天的学习,我也有了一点自己的心得体会 体会一:软件测试在整个软件周期中的重要性。 它存在于整个项目周期,在项目开始之初需求调研的时候就开始了,在形成需求规格说明书的时候就需要针对文档进行测试。这个环节在

智慧课堂虚拟现实-zspace

第一章智慧课堂虚拟现实 1.1智慧课堂 1.1.1系统概述 在学校,课堂教学环节是学生接受系统教育最重要的一环,做好教学互动环节,是掌握好教学环节的质量,提高教学水平的关键。现行的教学过程中,传统的签到环节、疑问确认环节、提问互动环节、课堂小测试环节存在诸多问题。签到过程中,使用纸张签到,效率低且存在代签现象,结果不便于教师统计;提问互动环节和课堂小测试的环节中,教师给出简单选择后,学生举手或者口头回答,不能获得准确的统计数据,教师只能根据大体情况来判断是否进行教学,没有准确的数据,更不能考虑后期的数据挖掘和数据统计工作。传统的教学方式已经不适应现代化教学的需要,基于物联网技术集智慧教学、人员考勤、资产管理、环境智慧调节、视频监控及远程控制于一体的新型现代化智慧教室系统在逐步的推广运用。智慧教室作为一种新型的教育形式和现代化教学手段,给教育行业带来了新的机遇。 1.1.2智慧课堂功能 智慧教室系统打通教学流程的课前、课中、课后、课外各环节,使用专项定制的人人通学习机,可与学校现有的课程中心、网络教学平台、资源平台、电子书包进行灵活畅通对接互通。智慧教室课堂系统根据学校的现有信息技术架构,提供了数据中心版、私有云服务版、公有云服务版多种灵活的部署实施方式,为学校的教学模式创新与落地提供个性化、灵活逐级扩展、安全稳定的技术与服务水平。 智慧课堂系统的特色: ●颠覆传统教学,提高学生知识应用力、自主思考力、探究学习力 ●无线多屏互动技术,权限控制、跨平台多点交互 ●大数据挖掘分析,助力教师针对性制定教学方案

●满足各种需求的定制服务 ●个人学习空间满足进阶式教学 多种教学互动场景与功能推动探究式教学模式、启发式教学模式、讨论式教学模式等创新型教学理念的研究与实现,并同时支持多种教学终端(电子白板、人人通学习机、PC、笔记本等等)。 智慧课堂允许学生和教师在开课前掌握预习情况,并在课堂上导入课前作业进行讲评,老师主持与指导学生进行探究式小组教学活动,系统自动采集课堂信息生成质量报告。 1.1.3智慧课堂布局 智慧教室系统由交互式电视、书写电子白板、微课笔、智慧课堂系统、学生学习终端、短焦投影机等主要功能模块组成,教师教学登录到智慧课堂平台,,实现无尘教学,保护师生的健康,老师可在电子白板上进行书写、绘制讲解分析。老师使用的智能终端受学校管理员通过智能中控设备统一管理,在云平台中心存放大量丰富的教学资源,学生及老师可以在线查阅或者下载到本地,与此同时,老师也可以将备课资料存放到云平台,当上课需要时,直接调出来使用即可。 在学生平板电脑上安装智慧课堂电子书包系统,平板电脑无线网络连接到班级AP上,学生可以自行分组讨论教学问题,也可以与教师进行教学互动,灵活的教学方式使整个教学更加生动,学生更易及时掌握课堂知识。

软件工程课程论文

目录 1.学习目的 (2) 1.1用途 (2) 1.2要求 (2) 2.学习态度 (2) 3、学习内容 (3) 4、学习心得 (5) 5.自我评价 (6) 6.学习成果 (7)

软件工程课程总结 1.学习目的 1.1用途 在本学期的软件工程课程中我们大略学习了软件的开发过程,需要哪些工具,具体建模模式和方法以及这些模型和方法是如何实现软件的某一功能的,让我们在脑海里形成了系统的关于软件开发的流程图,为今后的关于软件工程的学习打下基础,同时为我们开发软件带来方便。通过这学期以来的学习,虽说课本中的很多内容仍不能清晰地理解掌握,但对于软件工程确实也有了更明晰系统的概念和理解,同时也在老师授课下对许多以前未所听闻的开发软件和开发方法如UML模型等有了初步的了解,深感这是一门博大精深而十分有用的学问,需要我们认真进一步地学习。 1.2要求 关于软件工程的学习,我对自己的要求是:①掌握老师课堂上指出的重点内容,并在课后通过各种手段作一定的深入了解。②认真记下重要的笔记,保证按时完成老师交代的作业并及时上交,同时检查自己是否仍有不懂的知识。③积极和同学讨论自己对于书本中一些方法、模型的理解和感受。④上课不旷课逃课,不迟到早退。 2.学习态度 在这个学期的《软件工程》这一门课程的学习中,我的学习态度端正,从没有旷课逃课、请假、迟到早退等行为,上课认真记下老师讲过的重点知识的笔记,下课也和朋友讨论刚学的模型和方法如瀑布模式、增量模式、用例图的画法、活动图的作用等,受益良多。也有按时完成老师布置的作业并及时上交给老师检查。

但是有一点让我惭愧的是,我的课外阅读量太少,对软件的了解仍然有待加强,在今后的学习中,我一定会加强这方面的阅读并好好的运用在软件开发中。 3、学习内容 软件的定义:软件是能够完成预定功能和性能的可执行的计算机程序和使程序正常执行所需要的数据,加上描述程序的操作和使用的文档。软件的特征:①软件有对硬件不可缺失的依赖。②软件有不同与硬件的生产流程。软件不是制造出来的,而是开发出来的。硬件生产的最大成本是复杂的制造工艺,而软件的最大成本则是分析与设计。③软件有不同与硬件的生命过程。包括:磨合期、正常使用期、老化期。 软件危机:①软件开发成本、进度失控。②软件质量不能获得有效保证。③软件不能满足用户应用需要。④软件可维护性差。 软件生存周期:一个软件从定义到开发、使用和维护,直到最终被弃用,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期。软件的生存周期可分为三个阶段:软件定义期、软件开发期、运行维护期。 瀑布模式:是传统的软件开发模式,其中的“瀑布”是对这个模式的形象表达,由山顶倾泻下来的水,自顶向下、逐渐细化。其特点是:线性化过程;分为分析、设计、编码、集成等几个阶段,并且各阶段逐级推进,不允许跨越。里程碑管理;阶段评审;文档驱动;简洁便于工程应用的线性化过程步骤,并可以通过里程碑管理机制而使项目进程量化。其明显的优点就是没个阶段结束前都要对所完成的阶段成果进行评审,这使得软件的错误能够在个阶段内尽早发现并尽早解决,总的来说瀑布模式具有良好的质量保证机制,有很强的生命力。 原型进化模式:对软件进行直接模拟或仿真,只需要分析用户的需求框架后进行原型创建,再根据用户的使用评价对原型系统进行逐步细化与完善,通过版本更新逐步满足用户对于软件的多方面需要。 增量模式:开发过程有三个任务域,分别是设计结构、开发构件和集成系统,它既有完善的工程管理机制,又能适应用户需求变更,有利于质量的监控,并且各局部基于构件构造,有利于逐步构建与完善;由于先交付核心构件可利于降低

软件工程读书笔记

软件工程读书笔记 专业:软件工程硕士A班 学生姓名:丁浩宸 学号:13214020 二〇一④年八月

The impact of imperfect change rules on framework API evolution identification:an empirical study 实证研究:框架API更新辨别的不完善变化规则的影响 Wei Wu·Adrien Serveaux·Yann-Ga¨el Gu′eh′eneuc· Giuliano Antoniol 摘要:软件框架在持续更新。程序员保持他们的客户端代码更新很费时。而且不是所有的框架都有着更新的文档说明。因此许多处理方法被提出以减少没有更新文档的影响,这些方法依靠通过辨别软件两个发行版本的改变规则。但是这些改变规则是不完善的,即不是100%正确的。在我们的知识范围内,并没有展示这些非完善改变规则的可用性的实证研究。因此我们设计并实施了一个实验来评价非完善规则的影响。在实验中,实验人员必须在三个不同的发行版本中找到21处丢失了的方法的替换。三个版本分别依靠1)全部正确的改变规则,2)不完善的改变规则,3)无改变规则。统计分析结果表明实验人员在三个不同的发行版本中找到的替换的精度有着显著差异。其中依赖全部正确的改变规则的结果精度是最高的,没有改变规则的精度是最低的,不完善的改变规则在两者中间。不完善改变规则和没有改变规则的精度差的效应值是巨大的,不完善改变规则和完全正确改变规则的精度差的效应值是适度的。研究结果表明框架API更新方法总结出的改变规则确实可以帮助开发者,即使这些规则并不是一直正确的。非完善改变规则可以帮助开发者在文档不可用时更新他们的代码,或者作为部分文档的补充。完全正确和不完善改变规律间适度的差异表明提高改变规则的精度依然可以帮助开发者。 关键词软件维护·可用性·框架API更新·变化规则

环境艺术设计《人体工程学》课程标准

《人体工程学》课程教学标准 一、课程简介 2.课程简介 《人体工程学》是以生理学、心理学、人体测量等学科为基础,研究如何使人-机-环境系统的设计符合人的身体结构和生理心理特点,以实现人、机、环境之间的最佳匹配,使处于不同条件下的人能有效地、安全地、健康和舒适地进行工作与生活的科学。为设计中考虑“人的因素”提供人体尺度参数,为设计中“物”的功能合理性提供科学依据,为设计中考虑“环境因素”提供设计准则,为进行人-机-环境系统提供理论依据。 二、本课程的性质与任务 本课程的性质:《人体工程学》是建筑装饰工程技术专业的专业基础课程,是职业能力培养必修课程之一。 本课程的任务:通过本课程的学习,使学生具备高技能人才所必需的人体工程方面的基本知识和基本技能,培养学生把人-机-环境系统作为一个统一的整体来研究,以创造最适合于人操作的机械设备和作业环境,使人-机-环境系统相协调,从而获得系统的最高综合效率能为主要目标,同时,要体现以“人为核心“的设计价值观,为今后的功能性设计打下一个好的基础。人体工程学的教学应立足于促进学生能力和认识的提

高,为其今后的专业发展奠定科学的方法论基础。 三、课程教学目的要求 (一)知识目标 1、掌握人体工程学基础知识; 2、掌握人体工程学与室内设计; 3、掌握人体工程学与室外环境设施设计; (二)能力目标 1、能够结合人体工程学的知识进行室内设计; 2、能够结合人体工程学的知识进行室外环境设施设计; 3、掌握人体工程学基本知识,增强工程实践能力和综合职业能力。 (三)素质目标 1、养成严谨务实、勤奋刻苦的工作作风; 2、遵纪守法、诚实守信、爱岗敬业,具有强烈的社会责任感。 3、具有团队合作精神; 4、具有良好的口头表达能力、沟通能力和协调能力; 5、培养学生以“人为核心“的设计价值观。 四、教学环节及学时安排

软件测试技术笔记

软件测试技术学习笔记 1. 软件工程:应用计算机科学,数学及管理科学等原理开发软件的工程。 软件工程是实现一个大型程序的一套原则方法,是指将其他工程领域中行之有效的工程学知识运用到软件开发中来,即按工程化的原则和方法组织软件开发工作。 2. 软件:程序以及开发,使用和维护程序所需的所有文档。 3. 软件测试:使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求 或弄清楚预期结果与实际结果之间的差别,软件测试以检验是否满足需求为目标。 4. 软件测试的价值:(1)防止质量灾难的发生; (2)确保软件满足用户的需求(功能性,非功能性); (3)确保软件符合质量标准(国家,行业,企业)。 5. 软件测试的目的:(1)证明程序的正确性—除非仅处理有限种情况; (2)发现程序错误(BUG)—直接目标; (3)检查软件(系统)是否满足需求—期望目标。 6. 软件测试的原则:(1)测试必须是有计划的,有准备的,包括任务,时间,人员,设备,经费,方法与 工具,问题等; (2)所有的测试都应追溯到用户需求; (3)应当尽早地和不断地进行软件测试; (4)软件测试充分注意测试中的集群现象; (5)总假定程序具有错误的; (6)旁举测试是不可能的; (7)彻底检查每一个测试结果。 7. 软件测试的分类:(1)按照开发阶段划分:单元测试,集成测试,系统测试,验收测试; (2)按照测试实施组织划分:开发方测试,用户测试,第三方测试; (3)按照测试技术划分:白盒测试,黑盒测试。 8. 软件测试流程:制定测试计划,设计测试,实施测试,执行测试,评估测试。 9. 白盒测试:已知产品的详细设计过程,可以通过测试证明每种内部操作是否符合设计规格需求,所有内 部成分是否已通过检查。 10. 黑盒测试:已知产品的用户需求规格,可以通过测试证明整个软件系统是否符合用户最终要求。 11. 采用等价类划分的原因:由于旁举测试的办法数量太大,以至于无法实际完成,自然促使我们选取测 试用例。 12. 为何采用因果图:等价类划分方法并没有考虑到输入情况的各种组合,也没有考虑到各个输入情况之 间互制约关系。 13.

审计数据转换笔记

目录 一、Oracle课堂笔记 (3) 第一章:Oracle 9i数据库概述 (3) 第二章:Oracle 9i数据库的安装与卸载 (4) 第三章:Oracle 9i数据库的启动与关闭 (4) 第四章:创建数据库 (5) 第五章:配臵访问数据库 (6) 第六章:管理数据库表 (6) 第7章 Oracle数据库的导入导出 (7) 第8章 PL/SQL语言 (9) 实例一 (10) 实例二 (10) 二、SQL Server2000课堂笔记 (10) 第一章:关系数据库基础 (11) 第二章:SQL Server 2000 基础 (12) 第三章:数据库的创建与管理 (12) 第四章:T-SQL 语言基础 (12) 第五章:基本表的创建与管理 (14)

第七章:实现数据完整性 (14) 三、SQL Server2000习题库 (16) 第一章:书本例题(第六章) (16) 第二章:课后习题 (22) 第三章:课间练习 (32) 第四章:单科考试题 (33) 四、数据采集转换 (41) 第一章:课堂笔记 (41) 1、用excel自身的功能导入SQL Server数据 (41) 2、将SQL Server里的表导入AO系统 (42) 3、把设有密码的access的密码取消的方法 (42) 4、金蝶.ais文件变成.mdb文件的处理 (42) 5、SQL Server数据采集方法 (43) 6、业务数据的采集与分析 (44) Ⅰ业务数据一(旌县医院) (44) Ⅱ业务数据二(空调费) (46) 第二章:十一套数据 (47) 0标准数据(2003年) (48) 1真实数据(2004年) (49) 2通用数据(2007年) (50)

软件工程课程笔记

软件工程课程笔记 软件 ●与计算机系统操作有关的程序、规程、规则及任何与之有关的文档和数据 ●软件=程序+数据+文档 程序设计语言的发展 ●机器语言 ●汇编语言 ●高级语言 ●面向问题的4GL 文档 ●标准化 ●规范化 开发过程 ●依赖于开发人员的专业素养,脑力劳动,开发成本、进度很难估计,不可预料因素较多, 产品的不可见性,错误不可能完全剔除 使用过程 ●大量维护投入(纠错、完善、适应) 逻辑特性 ●不会磨损,但会老化 变更与错误影响范围具有扩大的效应 软件分类(基于开发过程):CASE工具软件、个人计算机软件、人工智能软件、事务处理软件、科学与工程计算机软件、嵌入式软件、系统软件、实时软件 软件危机的表现 ●软件越来越复杂,规模越来越庞大 ●但是单纯增加人力,并不能提高生产力 ●随着人员的增加,组织、管理、协调成长突出问题 软件危机的产生原因 ●需求定义不完整、不精确,用户参与少 ●没有挖掘用户愿望 ●缺乏发型项目开发经验和项目组织经验 ●缺乏有力的方法学和工具支持 ●软件产品的特殊性:复杂,开发过程不可见,进度难以估计 开发模型: 瀑布型模型 原型模型 螺旋模型 基于4GL技术的模型 变换模型 敏捷开发 组合模型

CASE工具及环境 软件工具:单一,不兼容 CASE:集成,协同 第3讲软件项目管理 对软件项目开发过程中所涉及的过程、人员、产品、成本和进度等要素进行度量、分析、规划、组织和控制的过程,以确保软件项目按照预订的成本、进度、质量要求顺利完成开发任务。 ●过程管理 过程定义和剪裁 软件项目计划 软件度量 软件项目的跟踪和监督 风险管理 ●人员管理 软件项目团队 纪律和激励机制 ●产品管理 软件需求管理 软件质量保证 软件配置管理 软件度量(Metrics)是指对软件产品、软件开发过程或者资源的简单属性的定量描述 ●产品:软件开发过程中所发生的各种文档和程序 ●过程:与软件开发有关的各种活动,如软件设计等 ●资源:软件开发过程中所需支持,如人员、费用等 注意点 ●定量描述,而不是定性描述 ●简单属性无需参照其它属性便可直接获得定量描述。 软件测量(Measure)是对软件产品、软件开发过程和资源复杂属性的定量描述,它是简单属性度量值的函数,软件测量用于事后或实时状态,如软件可靠性 ●注意点 定量描述,而不是定性描述 复杂属性,不可直接获得、需要参照其它属性的度量值 估算(Estimation)对软件产品、软件开发过程和资源复杂度属性的定量描述,它是简单属性度量值的函数,软件估算用于事前,如软件开发成本 ●注意点 定量描述,而不是定性描述 复杂度,不可直接获得、需要参照其它属性的度量值 事前状态 可采用经验公式,可参考历史资料和数据。估算的结果一般用于签订合同、立项、指定

软件工程 期末复习笔记

软件工程期末复习笔记 胡丹 一.基本概念 1.什么是软件工程? 答:见作业 2.什么是参与者,角色? 答:所有参与到软件项目中的人员称为参与者。把项目或系统的一组职责称为角色。一个角色与一组任务联系在一起,且被派给一个参与者。一个参与者能充当多个角色。 3.系统和模型。系统指内部关联部分的集合。模型指系统的任何抽象。 4.软件工程开发活动:开发活动通过构造和验证应用域模型或系统模型处理复杂性问题,开发活动包括:需求获取、分析、系统设计、对象设计、实现、测试。 二.基本概念(2) 1.系统开发的主要内容集中在系统的3个不同模型上: 功能模型,在MUL中,使用用例图表示功能模型,以从用户观点描述系统功能。 对象模型,在MUL中,使用类图表示对象模型,使用对象、属性、关联和操作来描述系统的结构。 动态模型,在UML中,使用交互图、状态图和活动图表示动态模型,以描述系统的内部行为。 2.用例模型(功能模型) 2.1用例模型=用例文档+用例图 2.2用例间的关系:用例之间的关系关联(association )、包含(include)、扩展(extend)和泛化(generalization)这几种关系。 关系关联(association ):通信1.表示参与者用例之间进行通信。 2.不同的参与者可以访问相同的用例。 包含(include):把它所包含的用例行为作为自身行为的一部分。 扩展(extend):扩展用例被定义为基础用例的增量扩展。 基础用例提供扩展点以添加新的行为。 扩展用例提供插入片段以插入到基础用例的扩展点上泛化(generalization):继承 2.3 用例文档包括的内容:1.用例名。2.范围。 3.级别。 4.主要参与者。 5.涉众及其关注点。 6.前臵条件 7.后臵条件 8.主事件流 9.备用事件流。 3.类图(对象模型) 3.1类是面向对象系统组织结构的核心。对一组具有相同属性、操作、关系和语义的对象的抽象。包括名称部分(Name)、属性部分(Attribute)和操作部分(Operation)。

AltiumDesigner自学电子笔记

第一天 Altium Designer概述 a. (1)电子开发辅助软件的发展; (2)软件安装及破解; (3)软件开发环境; (4)软件功能; (5)preference setting(优先项) b. (1)help文档knowledge center和shortcut keys; (2)基本的窗口操作(移动、合并、split vertical垂直分割、open in new window);(3)reference designs and exampals; (4)home page;

第二天 电子设计基础知识 a. (1)PCB(Printed Circuit Board)印制电路板设计流程:双面覆铜板下料叠板 数控钻导通孔 检验、去毛刺涮洗 化学镀(导通孔金属化,全板电镀覆铜) 检验涮洗 网印负性电路图形、固化(干膜或湿膜曝光,显影)检验、修版 线路图形电镀 电镀锡(抗腐蚀镍/金) 去印料(感光膜) 刻蚀铜 (退锡) 清洁刷洗 网印阻焊图形(常用热固化绿油) 清洁、干燥 网印标记字符图形、固化 (喷锡) 外形加工 清洗、干燥 电气通断检测 检验包装 成品出厂; (2)EDA设计基本流程: 原理图设计 网络报表的生成 印制板的设计; (3)印制板总体设计的基本流程: 原理图设计 原理图仿真 网络报表的生成 印制板的设计 信完整性分析 文件储存及打印; (4)原理图的一般设计流程: 启动原理图编辑器 设置原理图图纸 设置工作环境

装载元件库 放置元件并布局 原理图布线 原理图的电气检查 网络报表及其他报表的生成 文件储存及打印; (5)PCB设计的一般流程: 启动印制板编辑器 设置工作环境 添加网络报表 设置PCB设计规则 放置原件并布局 印制电路板布线 设计规则检查 各种报表的生成 文件储存及打印; (6)基本概念: 层(Layer):印制电路板的各铜箔层; 过孔(Via):为连通各层之间的线路的公共孔; 埋孔(Buriedvias):中间一层到表面,不穿透整个板子; 盲孔(Blindvias):只连接中间几层的PCB,在表面无法识别其位置; 丝印层(Overlay):标志图案代号和文字; 网格填充区(External Plane):网状铜箔; 填充区(Fill Plane):完整保留铜箔; SMD封装:表面焊装器件; 焊盘(Pad); 膜(Mask):元件面助焊膜,元件面阻焊膜; (7)印制板的基本设计准则 抗干扰设计原则 热设计原则 抗振设计原则 可测试型设计原则 b. (1)抗干扰设计原则 1.电源线的设计:(1)选择合适的电源;(2)尽量加宽电源线;(3)保证电源线、底线走线与数据传输方向一致;(4)使用抗干扰元器件(磁珠、磁环、屏蔽罩、电源滤波器);(5)电源入口添加去耦电容 2.地线的设计:(1)模拟地与数字地分开;(2)尽量采用单点接地;(3)尽量加宽地线;(4)将敏感电路连接到稳定的接地参考源;(5)对PCB板进行分区设计,把高宽带的噪声电路与低频电路分开;(6)尽量减少接地环路的面积 3.元器件的配置:(1)不要有过长的平行信号线;(2)保证PCB的时钟发生器、晶振和CPU的时钟输入端尽量靠近,同时远离其他低频器件;(3)元器件应围绕核心器件进行配置,尽量减少引线长度;(4)对PCB板按频率和开关特性进行分区布局,保证噪声元器件和非噪声元器件的距离;(5)考虑PCB板在机箱中位置和方向(放出热量高的

软件工程课程总结

课程总结
题目
《软件工程》课程总结
学生姓名
学号
学院
专业班级
指导教师
职称
教授
2014 年 11 月
《软件工程》课程总结
一、学习目标 通过系统的学习,了解软件开发从项目确定到需求分析,再到概 要及详细设计、代码实现、开发后的软件测试这一完整软件开发过程。 学习上面提到的每一个步骤中完成任务的相关方法与工具。学完后应 初步具备管理整个软件开发完整流程的能力。提高软件的质量与生产 率,最终实现软件的社会化大生产。在给定成本、进度的前提下,开 发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用 性、可适应性、可移植性、可追踪性和可互操作性并且满足用户需求 的软件产品。 二、学习态度 这一学期的软件工程课就要进入尾声了,在复习理论知识的同 时,更需要回顾和反思自己的学习态度。

在这学期的软件工程学习中,我从来没有迟到、早退以及旷课。 不过因为参加银行从业考试请了一次假。在这学期中,我每节课都是 按时上课,虽然我对软件、计算机这方面没有天赋,但是我尽量做到 认真听课,提醒自己不要开小差。听很多人说这是一门比较深奥的课 程,刚开始的时候我比较排斥这门课,但是老师讲的风趣幽默,慢慢 的我开始进入状态,上课认真做笔记,认真听讲。
三、学习内容 通过一学期软件工程的学习,使我了解到了很多以前都不知道的 知识。现将所学课本外的知识总结如下:
第一章 软件工程概述 软件工程是工程化软件开发与维护的方法论软件的开发者维护 者或软件项目管理者都将是软件工程的实践者,并都需要掌握与应用 软件工程方法。 1.1.软件是计算机系统中的逻辑成分,是程序、数据、文档等诸 多元素的集合,需要有物理硬件的支持才能产生作用。是一系列按照 特定顺序组织的计算机数据和指令的集合。软件并不只是包括可以在 计算机上运行的电脑程序,与这些电脑程序相关的文档一般也被认为 是软件的一部分。 1.2.软件危机(software crisis),20 世纪 60 年代以前,计 算机刚刚投入实际使用,软件设计往往只是为了一个特定的应用而在 指定的计算机上设计和编制,采用密切依赖于计算机的机器代码或汇 编语言,软件的规模比较小,文档资料通常也不存在,很少使用系统 化的开发方法,设计软件往往等同于编制程序,基本上是个人设计、 个人使用、个人操作、自给自足的私人化的软件生产方式。软件危机 主要表现在:软件开发费用和进度失控,生产出来的软件难以维护, 软件产品质量难以保证等等。 1.3.软件工程是关于软件开发,使用与维护的工程方法学,并是 工程技术、工程管理与工程经济的有机综合。 1.4.结构化方法学是传统的主流方法学,以功能为基本元素,包

软件工程笔记完整版

. 第一章软件工程概述 1.软件危机 (software crisis):是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。即“两低一高”问题:质量低、效率低、成本高。 软件危机也成为“软件萧条(depression)”或“软件困扰(afflication)” 2.软件危机主要表现 1)开发成本和进度估计不准 2)用户对“已完成的”软件系统不满意 3)软件质量往往靠不住 4)软件常常是不可维护的 5)软件通常没有适当的文档资料 6)软件成本逐年上升 7)软件开发生产率滞后于硬件和计算机应用普及的趋势 3.产生软件危机的原因 1)与软件本身的特点有关 a. 软件不同于硬件,是逻辑部件而不是物理部件 缺乏可见性 难于测试 管理和控制开发过程困难 不会因使用时间过长而被“用坏” 难以维护 b.软件不同于一般程序,规模庞大,而且程序复杂性随着程序规模的增加而呈指数上升 2)和软件开发与维护的方法不正确有关 a.对软件开发和维护有关的错误认识和作法 忽视软件需求分析的重要性 认为软件开发就是写程序 轻视软件维护 b. 对软件开发过程与方法的认识与应用 软件开发要经历一个漫长的时期(编程占10-20%) 程序仅是完成软件配置的一个组成部分 软件开发方法要有利于软件维护 4.软件的特点 (1)软件是无形的(intangible) (2)软件副本的大批量生产轻而易举 (3)软件业是劳动密集型的 (4)一个没有经过充分训练的软件开发人员很容易编写出难以理解和修改的软件 (5)软件本身很容易修改。但由于它的复杂性,又很难正确地修改。 (6)软件不像其他的工业产品那样会因使用而磨损,随着反复修改,它的设计会逐渐退化 5.消除软件危机的途径 1)对计算机软件的正确认识 2)认识到软件开发不是个体劳动的神秘技巧,而是一种组织良好、管理严密、各类人员协

软件测试自学笔记整理

黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别 黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。 软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类错误: 1、是否有不正确或遗漏的功能? 2、在接口上,输入是否能正确的接受?能否输出正确的结果? 3、是否有数据结构错误或外部信息(例如数据文件)访问错误? 4、性能上是否能够满足要求? 5、是否有初始化或终止性错误? 软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。白盒测试主要是想对程序模块进行如下检查: 1、对程序模块的所有独立的执行路径至少测试一遍。 2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。 3、在循环的边界和运行的界限内执行循环体。 4、测试内部数据结构的有效性,等等。 单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。 单元测试是由程序员自己来完成,最终受益的也是程序员自己。可以这么说,程序员有责任编写功能代码,同时也就有责任为自己的代码编写单元测试。执行单元测试,就是为了证明这段代码的行为和我们期望的一致。 集成测试(也叫组装测试,联合测试)是单元测试的逻辑扩展。它的最简单的形式是:两个已经测试过的单元组合成一个组件,并且测试它们之间的接口。从这一层意义上讲,组件是指多个单元的集成聚合。在现实方案中,许多单元组合成组件,而这些组件又聚合成程序的更大部分。方法是测试片段的组合,并最终扩展进程,将您的模块与其他组的模块一起测试。最后,将构成进程的所有模块一起测试。 系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。(常见的联调测试) 系统测试的目的是对最终软件系统进行全面的测试,确保最终软件系统满足产品需求并且遵循系统设计。 验收测试是部署软件之前的最后一个测试操作。验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。 验收测试是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是验收测试的任务,即软件的功能和性能如同用户所合理期待的那样。

湖南大学软件工程复试攻略

湖大2013年硕士研究生复试 (一)复试由笔试和专业综合面试组成。复试总分分值240分,其中复试专业课100分,外语 听力测试20分,专业综合面试120分。 (二)复试笔试内容包括外语听力测试和复试专业课考试。 外语听力测试时间:3月23日下午14:00—14:30 复试专业课笔试时间:3月23日下午14:30—16:30 考试地点:南校区教学楼(具体安排另行通知,请考生关注湖南大学研究生招生信息网的通知) 二年真题(2010.2011)+一年真题(2012回忆版)+笔记(复习目录、重点)——参考2012年 笔试部分 复试笔试只考软件工程,总共有5个大题重复一、二个吧。 作答时像政治,要点写上,再论述下。就算不会也尽量写满,把你背的东西,有关无关都写些上去,反正不能空(这样分高些) 英语听力 今年英语听力只有20分有单个听的(听一个答一个) 再就是听完一段对话、一段话再作答(去年的前面跟六级题型、难度差不多)。之后就是听力填单词,

填句子。最后是听一段话总结中心思想(有点专四的感觉——本人水平不高) 英语口语面试 敲门进后说hello ,…(去年我们的有一个黑人老师,还有一个本校老师)。作个自我介绍,老师问你几个问题,一般三个。黑人老师问了一个(我对长沙有什么看法,长沙有哪些地方好的?我当初就说天气较好,空气啥的不错,听不清时本校老师会提示或者会把关键词复述一遍), 另外那个本校老师问二个(经常会用网络做些什么事情?会不会经常说英语?我说My English is very poor)。 不要紧张,问的不会太难,而且老师也很和气,从头到尾都是微笑着问你。 专业面试 在复试面试过程中,还需要注意一些其他的细节,比如礼仪、着装等方面。(进门之前最好要先敲门,进了之后可以说:各位老师您们好?回答完问题要说谢谢老师)因为导师对考生的印象是非常重要的,会直接影响到考生的最终得分以及录取情况。在面试当天要注意个人仪表,可以不用穿得太高档,但是一定要整洁、整齐,不要给老师邋遢的感觉。在回答问题过程中要有自信,眼神不要游离(哪个老师问问题时最好把目光转向他--个人看法),同时要礼貌、谦和。面试结束离开考场时,要鞠躬向老师道别,可以提高印象分。 掌握面试时的沟通技巧。 第一,反应要迅速。第二,不要紧张。熟悉的地方可以多说一点,不懂的地方尽量避开,不要不懂装懂。如果一开始就察觉到自己的把握不是很大,就不要顺着老师的思路走,把老师引到你熟悉的领域去。第三,注意真实。可以多说自己比较优秀的一面,但是不要虚夸,回答要有理有据,用辩证的方法全面看待问

(考研复试)软件工程笔记培训资料

(考研复试)软件工程 笔记

1:软件危机:问题1:如何开发软件,以满足对软件日益增长的需求。问题2:如何维护数量不断膨胀的软件。表现:对软件开发成本和时间估计不准,用户对已完成软件不满意,软件质量不可靠,软件不可维护,软件缺少文档,软件成本过高,软件跟不上硬件发展速度。原因:与软件本身特点有关,缺乏可见性,质量难以评价,规模庞大难以维护。与软件开发维护的不当方法有关,轻视需求分析和维护,对用户的要求没有完整准确的认识就编写程序,忽视程序,文档,数据等软件配置。 2:软件工程:采用工程的概念,原理,技术和方法开发与维护软件,把正确的管理技术和软件开发技术结合起来,经济的开发出高质量的软件并有效的维护。即把系统化的,规范的,可度量的途径应用于软件开发,运行和维护的过程。 3:软件工程7条基本原理:用分阶段的生命周期计划严格管理,坚持进行阶段评审,实行严格的产品控制,采用现代程序设计技术,结果应能清楚地审查,开发小组的人员应该少而精,承认不断改进软件工程实践的必要性。 4:软件工程领域:软件需求,设计,构建(写代码),测试,维护,配置管理,工程管理,工程过程,工程工具,软件质量。

5:软件生命周期:软件定义(问题定义,可行性研究,需求分析),软件开发(概要设计,详细设计,编码和单元测试,综合测试),运行维护(改正性维护,适应性维护,完善性维护,预防性维护)。、 生命周期模型 6:瀑布模型:就是把一个开发过程分成收集需求,分析,设计,编码,测试,维护六部分,只有完成前面一步才能开始后面一步,上一步的输出的文档就是这一步的输入文档,每一步完成都要交出合格的文档,每一步都会有反馈,如果反馈有错误就退回前一步解决问题。瀑布模型的缺点:实际的项目开发很难严格按该模型进行;由于用户只能通过文档来了解产品,客户往往很难清楚地给出所有的需求,而瀑布模型不适应用户需求的变化;软件的实际情况必须到项目开发的后期客户才能看到。 7:快速原型模型:就是根据用户的需求迅速设计出一个原型系统,原型系统具有基本的功能,然后用户使用原型并对原型提出需求和改变,开发人员再对原型进行修改和完善知道用户满意。优点:容易适应需求的变化;有利于开发与培训的同步;开发费用低、开发周期短且对用户更友好。缺点:快速建立起来的系统结构加上连续的修改可能会导致产品质量低下;使用这个模型的前提是要有一个展示

相关文档
最新文档