软件工程笔记Word下载.docx
- 文档编号:19250082
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:17
- 大小:5.62MB
软件工程笔记Word下载.docx
《软件工程笔记Word下载.docx》由会员分享,可在线阅读,更多相关《软件工程笔记Word下载.docx(17页珍藏版)》请在冰豆网上搜索。
软件过程模型:
瀑布模型。
最早的软件开发模型,它将软件生命周期的各个阶段线性相连,自顶向下进行。
上一个阶段完成才能开始下一个阶段,同时当前阶段出现问题,就会返回上一个阶段进行修改。
优点:
有利于对软件开发过程中人员的组织和管理,也极大地提高了软件开发效率。
缺点:
不适应用户需求的变化;
最终产品可能不能满足用户真正的需要
适用:
用户的需求非常清楚全面,且在开发过程中没有或很少变化。
快速原型模型:
先对整个系统中的部分功能来设计一个初步的原型系统,将原型给客户试用,再从客户的反馈中对原型进行改进。
可以得到比较良好的需求定义,容易适应需求的变化。
客户与开发者对原型理解不同;
不利于开发人员的创新。
预先不能确切定义需求的软件系统的开发。
增量模型:
增量模型是把待开发的软件系统模块化,将每个模块作为一个增量组件,从而分批次地分析、设计、编码和测试这些增量组件。
可以分批次地提交软件产品,了解软件的进展;
开发顺序灵活,可以按需调整。
需要软件具备开放式的结构,能被模块化。
软件产品可以分批次地进行交付;
软件系统能够被模块化。
喷泉模型:
一种以用户需求为动力,以对象为驱动的模型,主要用于描述面向对象的软件开发过程。
该模型认为软件开发过程自下而上周期的各阶段是相互迭代和无间隙的特性。
软件的某个部分常常被重复工作多次,无间隙指在各项活动之间无明显边界。
模型的各个阶段没有明显的界限,开发人员可以同步进行开发。
其优点是可以提高软件项目开发效率,节省开发时间。
各个开发阶段是重叠的,开发过程需要大量的开发人员,不利于项目的管理。
适应于面向对象的软件开发过程。
螺旋模型:
引入了其他模型不具备的风险分析。
在软件开发的每个阶段都增加了风险分析,使软件在可能出现重大风险时有机会停止,以减小损失。
白盒测试和黑盒测试。
白盒测试:
白盒测试也称为结构测试,主要用于检测软件编码过程中的错误。
把测试对象看做一个打开的盒子,对软件的过程性细节做细致的检查,对程序内部的逻辑结构、所有逻辑路径进行测试。
看是否符合设计规格说明书,正常工作。
黑盒测试:
黑盒测试又称为功能测试,主要检测软件的每一个功能是否能够正常使用。
把测试对象看做一个不能打开的盒子,在完全不考虑程序内部结构和内部特性的情况下,通过程序接口进行测试,只检查功能是否符合需求规格说明书能正常使用。
类构件的重用方式:
实例重用、继承重用、多态重用。
实例重用。
1.可以使用适当的构造函数,按照需要创建类的实例。
然后向所创建的实例发送适当的消息,启动相应的服务,完成需要完成的工作。
2.可以用几个简单的对象作为类的成员,创建出一个更复杂的类。
继承重用。
为提高继承重用的效果,关键是设计一个合理的具有一定深度的类构件继承层次结构。
多态重用。
1.使对象的对外接口更加一般化,从而降低了消息连接的复杂程度。
2.提供一种简便可靠的软构件组合机制。
软件维护、几种软件维护和决定软件维护的因素。
软件维护就是在软件已经交付使用之后为了改正错误或满足新的需要而修改软件的过程。
软件维护分为四类:
改正性维护、适应性维护、完善性维护、预防性维护。
决定软件维护的因素5个:
可理解性、可测试性、可修改性、可移植性、可重用性。
软件危机的概念及表现。
软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。
它包括两方面:
如何开发软件,以满足对软件日益增长的需求;
如何维护数量不断增长的已有软件。
软件危机的一些典型表现:
(1)对软件开发和进度的估计常常很不准确;
(2)经常出现用户对已完成的软件不满意的情况;
(3)软件的质量往往达不到要求;
(4)软件通常很难维护;
(5)软件通常没有适当的文档资料;
(6)软件成本越来越高;
(7)软件开发生产率提高的速度不能满足对软件日益增长的需求;
(供不应求)
软件危机出现的原因:
(1)来自软件自身的特点:
是逻辑部件,缺乏可见性:
规模庞大、复杂。
修改、维护困难。
(2)软件开发与维护的方法不当:
忽视需求分析:
认为软件开发等于程序编写,轻视软件维护。
(3)供求矛盾将是个永恒的主题:
面对日益增长的软件需求,人们显得力不从心。
软件工程的概念。
软件工程是:
(1)将系统的、规范的、可度量的方法应用于软件开发、运行和维护,即将工程化应用到软件;
(2)研究把工程应用于软件中操作的途径。
大数据。
大数据自提出至今得到广泛关注,其并无统一的定义,由于大数据是相对概念,因此目前的定义都是对大数据的定性描述,并未明确定量指标。
维基百科中指出大数据是指利用常用软件工具捕获、管理和处理数据所耗时间超过可容忍时间限制的数据集;
全球著名的管理咨询公司McKinsey则将数据规模超岀传统数据库管理软件的存储、管理以及分析能力的数据集称为大数据;
研究机构Gartner
归纳为需要新处理模式才能增强决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产;
徐宗本院士则在第462次香山会议上的报告中,将大数据定义为“不能够集中存储、并且难以在可接受时间内分析处理,其中个体或部分数据呈现低价值性而数据整体呈现高价值的海量复杂数据集。
虽然以上关于大数据定义的定义方式、角度以及侧重点不同,但是所传递的信息基本一致即大数据归根结底是一种数据集其特性与传统的数据管理以及处理技术对比来突显,并且在不同需求下,其要求的时间处理范围具有差异性最重要的一点是大数据的价值并非数据本身而是由大数据所反映的大决策、“大知识"
、“大问题”等。
需求分析的任务。
(1)确定对系统的综合要求。
例如:
功能需求、性能需求、可靠性和可用性需求等。
(2)分析系统的数据要求。
(3)导出系统的逻辑模型。
(4)修正系统开发计划。
软件测试的主要阶段:
单元测试;
集成测试;
系统测试;
验收测试;
(平行运行。
)
耦合和内聚。
(高内聚低耦合)
耦合。
耦合是指一个软件结构内不同模块之间互连的紧密程度。
低耦合。
软件设计应该降低各个模块之间的依赖关系,减少模块间的影响,提高可重用性、可移植性。
内聚。
衡量一个模块内各个元素彼此结合的紧密程度。
高内聚。
若一个模块内各元素(语句之间、程序段之间)联系的越紧密,则它的内聚性就越高。
模块是一系列语句组成的,由标识符组成的边界元素来界定的。
比如面向对象语言中的一个类、一个方法;
也如面向过程中的函数。
流图的环形复杂度。
回归测试。
回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。
应用原因:
在有新代码加入软件的时候,除了新加入的代码中有可能含有错误外新代码还有可能对原有的代码带来影响。
因此,每当软件发生变化时,我们就必须重新测试现有的功能,为了验证修改的正确性及其影响就需要进行回归测试。
自动回归测试将大幅降低系统测试、维护升级等阶段的成本。
用例。
在不展现一个系统或子系统内部结构的情况下,对系统或子系统的某个连贯的功能单元的定义和描述。
可以被行为者感受到的、系统的一个完整的功能。
特征:
用例代表某些用户可见的功能,实现一个具体的用户目标;
用例总是被行为者启动的,并向行为者提供可识别的值;
用例必须是完整的。
基线。
已经通过了正式复审的规格说明或中间产品,它可以作为进一步开发的基础,并且只有通过正式的变化控制过程才得改变它。
软件配置项内容:
计算机程序;
描述计算机程序的文档;
数据;
组合聚集。
举例:
一个窗口,由文本框、按钮和列表框组成,关闭窗口,文本框等也随之消失。
共享聚集。
一个课题组有多个人,一个人属于多个课题组,某个课题组没了,人还在。
数据字典。
关于数据的信息的集合,对数据流图中包含的所有元素的定义的集合。
在软件分析和设计的过程中给人提供关于数据的描述信息。
包括内容:
数据流;
数据元素;
数据存储;
处理。
数据字典与数据流图的关系。
数据字典和数据流图共同构成系统的逻辑模型。
没有数据字典精确定义数据流图中每个元素,数据流图就不够严密;
没有数据流图,数据字典也很难发挥作用。
平均无故障时间MTTF。
公式:
MTTF=1/K(ET/IT-EC/IT)
用数据流的方法将数据流图转化为软件结构。
UML符号代表的关系及建议所给例题公司的对象模型。
判定树
面向对象的概念和特征。
面向对象是软件开发方法。
将现实世界的事物抽象成对象,现实世界中的关系抽象成类、继承,帮助人们实现对现实世界的抽象与数字建模。
通过面向对象的方法,更利于用人理解的方式对复杂系统进行分析、设计与编程。
封装性、继承性、多态性
软件工程管理包括哪些内容?
开发人员、组织结构、用户、文档资料
软件工程的三个要素。
方法、工具和过程。
作用:
过程:
管理和控制产品质量的关键,实现在规定的时间和预算内开发高质量软件的目标。
方法:
通过某种语言或图形的模型表示方法、良好的设计实践以及质量保证标准等为软件开发提供“如何做”的技术。
工具:
为软件工程方法提供自动或半自动的软件支撑环境,辅助软件开发任务的完成。
软件测试的方法。
黑盒测试、白盒测试。
(静态测试、动态测试)
静态测试。
主要过程为通过软件的静态性测试(即人工推断或计算机辅助测试)测试程序中运算方式、算法的正确性。
动态测试。
检测软件运行中出现的问题,主要依赖程序的运用,检测软件中动态行为是否缺失、软件运行效果是否良好。
其最为明显的特征即为进行动态测试时软件为运转状态。
软件设计的原则。
模块化、内聚、耦合(高内聚低耦合)复用性。
数据流图的分类及每一类的特点。
变换型结构数据流图。
它所描述的工作可表示为输入、主处理和输出,呈线性状态。
事务型结构数据流图。
这种数据流图呈束状,即一束数据流平行流入或流出,可能同时有几个事务要求处理。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 笔记