《软件工程基础知识.pptx》由会员分享,可在线阅读,更多相关《软件工程基础知识.pptx(19页珍藏版)》请在优知文库上搜索。
1、软件工程基础知识 软件需求包括功能需求、非功能需求和设计约束。 业务需求 用户需求 系统需求 三者之间的关系:业务需求生成范围文档、用户需求生成用例文档、系统需求和用户需求生成功能需求,三者结合加上质量属性、非功能需求、设计约束成为软件需求规格说明书(SRS)。1. 软件需求分析与定义 需求调查必须清楚了解三个问题 1、 应该搜集什么信息 2、 从什么地方搜集这些信息 3、 用什么机制或者技术搜集这些信息需求捕获的策略:在整个需求过程中,需求捕获、需求分析、需求规格化、需求验证四个阶段不是瀑布式发展,而是迭代式的演化过程。1. 软件需求分析与定义 可行性研究工作的基础 可行性研究的内容 1、
2、技术可行性 2、 经济可行性 3、 运行环境可行性 4、 其他方面的可行性分析可行性研究 1、 确定项目规模和目标 2、 研究正在运行的系统 3、 建立新系统的逻辑模型 4、 导出和评价各种方案 5、 推荐可行性方案 6、 编写可行性研究报告 7、 递交可行性研究报告可行性研究工作步骤 软件设计基本原则: 1、 信息隐蔽:每个模块的实现细节对于其他模块来说是隐蔽的,模块中所包含的信息不允许其他模块使用。信息隐蔽技术提高了软件的可维护性,改善了软件的可靠性。 2、 模块独立性:是指软件系统中每个模块只涉及软件要求的具体子功能,和其他的模块接口是简单的,一般采用两个准则度量模块独立性:模块间耦合和
3、模块内聚。2 软件设计 软件测试是为了发现错误而执行程序的过程,是根据程序开发阶段的规格说明及程序内部结构而精心设计的一批测试用例,并利用这些测试用例去运行程序,以发现程序错误的过程。3 软件测试 测试用例设计 测试用例是为特定目标开发的测试输入、执行条件和预期结果的集合。设计测试用例通常有两种常用的测试方法:黑盒测试和白盒测试 软件测试是由一系列不同的测试所组成,这些软件测试步骤分为:单元测试、集成测试、确认测试和系统测试。3 软件测试 软件维护的目的是保证软件在运营时期能够正常运行。 软件具有可维护性由以下三个因素决定: 可理解性 可测试性 可修改性4 软件维护 纠错型维护 适应型维护 完
4、善型维护 预防型维护 纠错型维护、适应维护、完善型维护是由用户驱动的、预防型维护是由开发商驱动的。 总体上完善性维护约占50%以上,适应性维护约占25%,纠错型维护约占20%,预防型维护约占5%。软件维护的分类 CMM:软件过程能力成熟度模型 CMM分级标准 1、初始级:软件过程定义无章法和无步骤可循的状态,成功往往依赖个别人或机遇 2、可重复级:建立了基本的项目管理过程,对类似的项目,能重复以往所取得的成功 3、已定义级:定义了组织级的标准软件过程 4、 已管理级:是量化的管理,所有过程都建立了相应的度量方式 5、优化级:通过各种定量分析,能够不断地、持续地进行过程改进。5 软件过程管理 个
5、体软件过程(PSP) 个体软件过程是一种可用于控制、管理和改进个人工作方式的自我持续改进过程。是一个包括软件开发表格、指南和规程的结构化框架。PSP与具体的技术相对独立,其原则能够应用到几乎软件工程任务之中。 群组软件过程(TSP) TSP对群组软件过程的定义、度量和改革提出了一套原则、策略和方法,描述了如何创建高效且具有自我管理能力的工程小组。5 软件过程管理 CMM/TSP/PSP三者的结合 CMM/TSP/PSP为软件产业提供了一个集成化的、三维的软件过程改进框架。CMM是过程改善的第一步,它提供了评价组织能力的方式,并为TSP提供了指导原则。PSP为TSP的实施提供了软件工程师的个人技
6、能。TSP结合了CMM的管理方法和PSP的工程技能。5 软件过程管理 以特定的图形符号加上说明,表示算法的图,称为流程图或框图。 流程图有时也称作输入-输出图。该图直观地描述一个工作过程的具体步骤。流程图对准确了解事情是如何进行的,以及决定应如何改进过程极有帮助。流程图 用例图定义:由参与者(Actor)、用例(Use Case)以及它们之间的关系构成的用于描述系统功能的静态视图称为用例图。 用例图(User Case)是被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。 用例图展示了用例之间以及同用例参与者之间是怎样相互联系的。用例图用于对系统、子系统或类的行为进行可视化,使用户能够理解如何使用这些元素,并使开发者能够实现这些元素。用例图 类图(Class diagram)由许多(静态)说明性的模型元素(例如类、包和它们之间的关系,这些元素和它们的内容互相连接)组成。类图可以组织在(并且属于)包中,仅显示特定包中的相关内容。 类图(Class diagram)是最常用的UML图,显示出类、接口以及它们之间的静态结构和关系;它用于描述系统的结构化设计。类图