软件工程知识点汇总
软件工程知识点汇总

软件工程知识点汇总软件工程知识点汇总1. 软件工程概述软件工程是一门研究和应用如何以系统化、规范化、可量化和可复用的方式进行软件开发、维护和管理的学科。
它涵盖了软件需求分析、设计、编码、测试、部署和维护等一系列活动。
2. 软件开发过程模型软件开发过程模型描述了软件开发过程中不同阶段的活动、输入、输出和交付物之间的关系。
常见的软件开发过程模型包括瀑布模型、迭代模型、螺旋模型和敏捷开发等。
- 瀑布模型:顺序执行,按照需求分析、设计、编码、测试和部署的顺序进行,适用于需求较为稳定的项目。
- 迭代模型:将开发过程划分为若干个迭代周期,每个迭代周期包含需求分析、设计、编码和测试等活动,适用于需求可能变化的项目。
- 螺旋模型:循环迭代执行,结合风险管理,适用于大型复杂项目。
- 敏捷开发:强调快速响应需求变化和团队协作,采用迭代、自组织和自适应的方式进行开发。
3. 软件需求工程软件需求工程是软件工程中的一个重要环节,旨在明确和理解用户对软件系统的需求,并将其转化为可执行的软件需求规格说明。
常见的软件需求工程技术包括需求获取、需求分析、需求建模和需求验证等。
- 需求获取:通过与用户沟通、观察和收集信息等方式获取软件需求。
- 需求分析:对收集到的需求进行分析,理解用户需求的本质和背后的目标。
- 需求建模:采用不同的建模技术,如用例图、活动图、时序图等,对需求进行建模和表达。
- 需求验证:通过验证技术和方法,验证需求的正确性、完整性和可行性。
4. 软件设计软件设计是根据需求分析阶段得到的软件需求规格,进行软件架构设计、模块设计和接口设计等,在不同的抽象层次上设计软件结构和组件。
- 软件架构设计:确定软件的整体结构,包括系统分层、模块划分和组件关系等。
- 模块设计:对软件系统进行细分,将系统划分为若干个模块,明确模块之间的功能和接口。
- 接口设计:定义模块之间的接口规范,确保模块之间能够相互协作和交互数据。
5. 软件测试软件测试是为了发现和修复软件中的错误、缺陷和风险,确保软件满足预期需求和品质要求的过程。
软件工程概论知识点汇总

软件工程概论知识点汇总软件工程概论知识点汇总第一章软件工程概述1. 软件工程定义及概念2. 软件工程的历史发展3. 软件开发生命周期模型a. 瀑布模型b. 迭代模型c. 增量模型d. 螺旋模型e. 敏捷开发模型第二章需求分析与管理1. 需求工程的基本概念2. 需求获取与分析方法3. 需求规格说明书4. 需求变更与配置管理第三章软件设计与架构1. 结构化设计方法2. 面向对象设计方法3. 设计模式及应用4. 软件架构设计与选择第四章软件编码与测试1. 编码规范与风格2. 测试方法与策略3. 单元测试与集成测试4. 软件质量保证与评估第五章软件项目管理1. 软件项目组织与人力资源管理2. 软件项目计划与进度管理3. 风险管理与配置管理4. 软件项目质量管理第六章软件维护与演化1. 软件维护的类型与阶段2. 软件维护的过程与方法3. 软件重构与演化第七章软件工程的理论与方法1. 软件需求建模方法2. 软件设计原则与方法3. 软件度量与评估方法4. 软件工程的形式化方法第八章软件工程的伦理与职业道德1. 软件工程的伦理问题2. 软件工程师的职业道德要求3. 软件工程师的专业素养与发展本文档涉及附件:________本文所涉及的法律名词及注释:________1.著作权法:________保护软件的著作权,禁止未经授权的复制、修改、发布等行为。
2.商标法:________保护软件的商标权,禁止他人未经授权使用相同或相似的商标。
3.专利法:________保护软件的发明专利权,禁止他人未经授权使用相同或相似的发明。
4.合同法:________规定软件开发过程中的合同签订与履行等事项。
软件工程知识点总结

软件工程知识点总结软件工程知识点总结1.软件工程概述1.1 软件工程定义1.2 软件工程的重要性1.3 软件生命周期2.需求分析与规格说明2.1 需求分析过程2.2 需求获取方法2.3 需求规格说明的要素2.4 需求跟踪与变更管理3.软件设计3.1 软件设计原则3.2 结构化设计方法3.3 面向对象设计方法3.4 数据库设计3.5 用户界面设计4.软件开发4.1 编码规范4.2 编程语言选择4.3 软件构建工具4.4 软件测试4.5 版本控制5.软件项目管理5.1 项目计划与进度管理 5.2 软件开发过程模型 5.3 团队协作与沟通5.4 风险管理6.质量保证与软件维护6.1 质量保证方法6.2 软件维护类型6.3 软件维护活动6.4 软件退役与替换附件:________本文档涉及的附件(请附上相关文档、图表等)法律名词及注释:________1.软件工程:________指将系统化的、规范化的、可量化的方法应用于软件的开发、运行和维护的工程学科。
2.需求分析:________确定用户对软件系统需要的功能、性能和约束等方面的要求,并以此为基础进行系统的分析和设计。
3.软件设计:________根据需求分析的结果,制定软件系统的总体结构和各组成部分的详细设计方案。
4.软件开发:________根据软件设计的方案,进行编码和调试,最终可执行的软件系统。
5.软件项目管理:________对整个软件项目进行计划、协调、控制和有效地管理,确保项目顺利完成。
6.质量保证:________通过不同的方法和技术,提高软件产品的质量,确保其满足用户的需求和要求。
7.软件维护:________对已投入使用的软件进行修复性、适应性、完善性和预防性等各方面的修改和改进。
软件工程基础知识点总结(2023版)

软件工程基础知识点总结软件工程基础知识点总结
1.软件工程概述
1.1 软件工程定义
1.2 软件工程的历史与发展
1.3 软件工程的特点和目标
1.4 软件工程的生命周期
2.软件需求工程
2.1 软件需求定义和分类
2.2 需求获取与分析
2.3 需求规格说明
2.4 需求验证和确认
3.软件设计
3.1 软件设计原则和概念
3.2 结构化设计方法
3.3 面向对象设计
3.4 软件设计工具和标记语言
4.软件开发
4.1 编码规范与规范检查
4.2 编程技术与方法
4.3 集成开发环境(IDE)和调试工具
4.4 软件测试和调试
5.软件项目管理
5.1 软件项目规划和组织
5.2 项目进度和资源管理
5.3 项目风险管理
5.4 质量管理与配置管理
6.软件工程度量与评估
6.1 软件度量概述
6.2 软件度量指标与度量方法
6.3 软件质量评估与改进
7.软件维护与演化
7.1 软件维护概述
7.2 维护过程与维护方法
7.3 软件重构与演化
8.软件工程的伦理和专业责任
8.1 软件工程的伦理问题
8.2 软件工程的专业责任
附件:
本文档涉及的法律名词及注释:
1.版权:一种法律保护措施,确保作品的原创性和独立性。
2.知识产权:指由人们的智能活动所创造的权利,包括专利权、著作权等。
3.商标:用以区别商品或服务来源的记号,被注册后获得权益
保护。
4.隐私保护:保护个人信息和隐私不被非法或未经授权的使用、泄漏、外传等。
软件工程知识点汇总

软件工程知识点汇总1. 软件工程简介软件工程是运用系统化、规范化和可管理的方法进行软件开发、运行和维护的学科。
它涵盖了软件生命周期的各个阶段,包括需求分析、设计、编码、测试、发布和维护等。
2. 软件工程流程模型常见的软件工程流程模型包括瀑布模型、迭代模型、增量模型、螺旋模型等。
不同的模型适用于不同的项目需求和开发环境,每个模型都有其优缺点。
3. 软件需求工程软件需求工程是确定软件系统应该如何工作的过程。
它包括需求获取、需求分析、需求规格和需求验证等活动。
良好的需求工程能够确保软件系统满足客户的需求和预期。
4. 软件设计软件设计是将软件需求转化为可执行的程序设计的过程。
它包括系统架构设计、模块设计、接口设计和数据库设计等活动。
良好的软件设计能够提高软件的可维护性和可扩展性。
5. 软件开发软件开发是按照软件设计规范进行编码和测试的过程。
开发人员应该具备良好的编程技能和测试能力,并遵循编码规范和测试流程。
6. 软件测试软件测试是为了发现软件中的错误和缺陷,保证软件的质量和可靠性。
测试方法包括功能测试、性能测试、压力测试和安全测试等。
高质量的测试能够提高软件的稳定性和用户满意度。
7. 软件配置管理软件配置管理是对软件开发过程中所的各类工作产品进行控制、记录、审计和追踪的过程。
配置管理包括版本管理、变更管理、发布管理和文档管理等活动。
8. 软件项目管理软件项目管理是对软件开发项目进行规划、组织、指导和控制的过程。
它包括项目需求分析、项目计划制定、项目资源分配和进度控制等活动。
有效的项目管理能够提高软件开发效率和项目成功率。
9. 软件质量管理软件质量管理是在软件开发过程中对质量进行全面管理的过程。
它包括质量计划、质量控制和质量保证等活动。
良好的质量管理能够提高软件的可靠性和用户满意度。
10. 软件维护与迭代软件维护是在软件发布后对其进行修复bug、优化性能和添加新功能的过程。
软件迭代是对软件系统进行增量式的开发和发布,不断提高软件质量和功能。
软件工程知识点汇总

软件工程知识点汇总软件工程知识点汇总
1、软件需求
1.1 需求概述
1.2 需求分类
1.3 需求获取与分析
1.4 需求规格说明
2、软件设计
2.1 面向对象设计
2.2 结构化设计
2.3 数据库设计
2.4 用户界面设计
2.5 系统架构设计
3、软件编码
3.1 编程语言选择与使用
3.2 编码规范
3.3 软件开发环境
3.4 编码工具和技术
3.5 调试和测试
4、软件测试
4.1 测试基础知识
4.2 测试方法与策略
4.3 白盒测试
4.4 黑盒测试
4.5 功能性测试
4.6 性能测试
4.7 集成测试
4.8系统测试
4.9用户验收测试
5、软件项目管理
5.1 项目计划与进度管理 5.2 风险管理
5.3 人员管理
5.4 项目质量管理
5.5 变更管理
5.6 项目交付与部署
6、软件维护与升级
6.1 软件维护分类
6.2 软件维护流程
6.3 软件升级策略
6.4 软件版本控制
7、软件安全
7.1 信息安全基础知识
7.2 软件安全需求与设计
7.3 安全测试与评估
7.4 安全漏洞修复与更新
附件:
法律名词及注释:
1、版权: 对一种表达形式的独特创造进行保护的法律概念。
2、商标: 表示和区分特定商品或服务来源的标识符。
3、专利: 对于新发明的独特权利,使得发明人可以禁止他人在专利权期限内使用该发明。
4、法律责任: 违反法律规定而应承担的法律后果。
软件工程知识点汇总

软件工程知识点汇总软件工程知识点汇总1. 软件工程概述软件工程是一门应用科学,关注软件产品的开发、维护和组织管理的学科。
它涵盖了软件开发过程中的各个阶段,并运用工程化的原理、方法和工具来提高软件产品的质量和生产效率。
2. 软件生命周期软件生命周期是指软件开发过程中的各个阶段,包括需求分析、设计、编码、测试、部署和维护等。
每个阶段都有相应的活动和产物,这些活动和产物共同构成了软件开发的全过程。
2.1 需求分析需求分析是软件开发的第一步,旨在明确用户对软件的需求和期望。
它包括需求收集、需求分析、需求规格化和需求验证等活动,旨在确保软件开发过程中的需求清晰、准确,并能够满足用户的实际需求。
2.2 设计软件设计是在需求分析的基础上,根据系统的需求和约束条件,通过对系统的整体结构、组件设计、接口设计等进行详细的规划和设计。
2.3 编码编码阶段是将设计好的软件系统转化为可执行的程序代码的过程。
在编码阶段,开发人员需要按照设计规范进行编码,并遵循编码规范和最佳实践,以确保代码的可读性、可维护性和高效性。
2.4 测试测试是验证软件系统是否符合设计和需求的过程。
它包括单元测试、集成测试、系统测试和验收测试等各个层次的测试,旨在发现和修复软件系统中存在的缺陷和问题。
2.5 部署与维护部署阶段是将开发完成的软件系统部署到目标环境并投入使用的过程。
维护阶段则是针对已发布的软件系统进行问题修复、功能增强和性能优化等活动。
3. 软件开发方法软件开发方法是一套规范和指导软件开发过程的方法论和技术体系。
不同的软件开发方法适用于不同的项目需求和团队情况,常见的开发方法有瀑布模型、敏捷开发和迭代开发等。
3.1 瀑布模型瀑布模型是一种传统的软件开发方法,它将软件开发过程划分为阶段并且各个阶段严格按顺序进行。
瀑布模型适用于需求稳定、风险较小的项目,但缺乏灵活性和适应变化的能力。
3.2 敏捷开发敏捷开发是一种以人为核心、快速迭代、灵活应变的开发方法。
软件工程基础知识点总结

软件工程基础知识点总结在软件工程领域,掌握一些基础知识点非常重要。
这些知识点包括软件开发生命周期、需求分析、设计模式、软件测试等。
本文将对软件工程基础知识点进行总结和梳理,以供参考。
1、软件开发生命周期1.1、瀑布模型1.2、增量模型1.3、快速原型开发模型1.4、敏捷开发模型1.5、DevOps模型2、需求分析2.1、需求获取2.2、需求分析与规格说明2.3、需求验证与确认2.4、需求管理3、设计模式3.1、创建型设计模式3.1.1、工厂模式3.1.2、单例模式3.1.3、原型模式3.1.4、建造者模式 3.2、结构型设计模式 3.2.1、适配器模式 3.2.2、装饰器模式 3.2.3、代理模式3.3、行为型设计模式 3.3.1、观察者模式 3.3.2、策略模式3.3.3、命令模式4、软件测试4.1、黑盒测试4.2、白盒测试4.3、单元测试4.4、集成测试4.5、系统测试4.6、验收测试5、软件质量保证5.1、代码规范与静态代码分析工具5.2、缺陷管理与版本控制5.3、自动化构建与持续集成5.4、负载与性能测试5.5、安全与漏洞分析附件:- 附件A:示例需求规格说明文档- 附件B:示例工厂模式代码实现- 附件C:示例单元测试代码法律名词及注释:- 著作权:指对软件的内容享有的法律权利,包括复制权、发行权等。
- 商标权:指对软件的商标标识享有的法律权利,用于区分其它软件和服务。
- 声明:指对软件功能、质量等进行明示的声明,可用于法律保护和责任追究。
- 许可证:指授予他人使用软件的特定权限和条件的法律协议。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程知识点汇总1软件工程、软件工程方法学:三要素1.1软件工程:应用系统化的、规范化的、可度量的方法来开发、运行和维护软件,即将工程应用到软件;对的各种方法的研究1.2软件工程是一门研究用工程化方法构建和维护有效的实用的和高质量的软件的学科1.3软件工程三要素是:方法、工具、过程软件工程的方法:是指完成软件开发各项任务的技术方法软件工具:是指为软件工程方法的运用提供自动半自动的软件支撑环境软件工程过程:是指将软件工程方法和工具综合起来以达到合理、及时地进行计算机软件开发这一目的2软件工程的原则包括:模块化原则、信息隐蔽原则、抽象化原则、模块独立原则(内聚、耦合)、依赖倒转原则、开闭原则等2.1模块化原则:指解决一个复杂问题时自顶向下逐层把软件系统划分为若干模块的过程。
模块是程序中相对独立的成分,一个独立的编程单位,应有良好的编程接口,模块的大小要适中,模块过大会使模块内部的复杂性增加不利于模块的理解和修改,模块过小会导致整个系统表示过于复杂,不利于控制系统的复杂性。
2.2信息隐蔽原则:采用封装技术,将程序模块的实现细节隐藏起来,使模块接口尽量简单。
2.3抽象化原则:抽取事物最基本的特性和行为,忽略非本质细节,采用分层次抽象,自顶向下,逐层细化的办法控制软件开发过程的复杂性。
2.4模块独立原则:是指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单。
要求在一个物理模块内集中逻辑上相互关联的计算机资源,保证模块间由松散的偶合关系,模块内部有较强的内聚性,这有助于控制系统的复杂性。
(即:高内聚低耦合)2.5依赖倒转原则:抽象不应该依赖于细节,细节应该依赖于抽象。
2.6开闭原则:软件实体应该是可扩展的,但是不可以修改。
即对于扩展是开放的,对于更改是封闭的。
3软件开发模型:瀑布模型;快速原型;喷泉模型;各种模型的工作原理、阶段、每阶段任务、特点、示意图;软件开发模型(也称为软件过程模型):是从软件项目需求定义开始直至软件经使用后废弃为止,跨越整个生命周期的系统开发、运行和维护所实施的全部过程、活动和任务的结构框架3.1瀑布模型(又称线性模型):3.1.1工作原理:规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。
前一阶段的工作成果是后一阶段工作开始的基础.所以,每个阶段都必须交出合格的文档,必须对前阶段的工作进行评审,前一阶段的工作完成后才可以开始后一阶段的工作3.1.2阶段:计划时期:问题定义、可行性研究开发时期:需求分析、设计、编码、测试运行时期:运行和维护3.1.3各阶段任务:1.需求分析和定义在软件项目进行过程中,需求分析是从软件定义到软件开发的关键步骤,是今后软件,开发的基本依据,同时也是用户对软件产品进行验收的基本依据。
需求分析和定义是以用户需求为基本依据,从功能、性能、数据、操作等多个方面,对软件系统给出完整、准确、具体的描述,用于确定软件规格。
2.软件设计根据系统需求的定义,确定系统的结构,进行系统的概要设计和各部分的功能与结构的详细设计。
3.编码与单元测试在这一阶段,根据软件设计文档完成了程序模块或程序单元的编码。
通过程序单元测试,验证其是否满足设计规范。
4.集成和系统测试程序模块或程序单元被组装集成起来成为一个软件系统,然后进行系统测试。
测试完成后即交付用户使用。
5.运行和维护通常这是软件生命周期中最长的一个阶段。
如果在运行期发现了软件的错误,就要修改软件,可能会重复上述某个或多个阶段的活动。
3.1.4特点:①顺序性、依赖性:下一阶段依赖上一阶段的完成。
②推迟实现:阶段任务结束形成文档,并审核后方能进行设计任务,将程序的实现推迟进行。
③质量保证:文档完整、文档评审,避免错误积累与放大效应。
3.1.5示意图:3.2快速原型3.2.1工作原理:快速原型是利用原型辅助软件开发的一种新思想。
经过简单快速分析,快速实现一个原型,用户与开发者在试用原型过程中加强通信与反馈,通过反复评价和改进原型,减少误解,弥补漏洞,适应变化,最终提高软件质量。
废弃型:也称快速建立需求规格原型法:先构造一个功能简单而质量要求不高的模型系统,针对这个模型系统反复的进行分析修改,从而形成较好的设计思想,据此设计出更加完整、准确、一致可靠的最终系统,系统构造完成后,原来的模型就被废弃追加型:也称快速建立渐进原型法。
它采用循序渐进的开发方式,对系统模型作连续精化,即先构造一个功能简单而且质量要求不高的模型系统,最为最终系统的核心,将系统需要具备的性能逐步添加上去,通过不断地扩充修改,逐步追加新的要求,直至所有性能全部满足,此时原型模型也就是最终的产品。
3.2.2阶段及任务原型快速分析:是指在分析者和用户的紧密配合下,快速确定软件系统的基本要求,根据原型所要体现的特性(总体结构、处理功能、模拟性能、界面形式等),描述基本需求规格说明,以满足开发圆形的需要。
原型构造:在快速原型分析的基础上,根据基本需求规格说明,忽略细节只考虑主要特性快速构造一个可运行的系统。
原型运行与评价:是软件开发人员与用户频繁通信、发现问题、消除误解的用药阶段,目的是验证原型的正确程度,进而开发新的并修改原有的需求。
原型修改:根据评价原型的活动结果进行修改。
若原型未满足需求说明的要求,说明对需求说明存在不一致的理解或实现方案不够合理,则根据明确的要求迅速修改原型。
3.2.3特点1.增强了软件开发人员和用户对系统需求的理解,便于将用户模糊的功能需求明确化2.为用户提供了一种强有力的学习手段3.易于确定系统的性能,是理解和确定软件需求规格说明的良好工具4.按照快速建立渐进原型法建立的原型即为最终的产品利用快速原型化技术可以为软件开发提供一种完整、灵活、近似动态的需求规格说明方法。
3.2.4示意图3.3喷泉模型3.3.1工作原理:喷泉模型是一种以用户需求为动力,以对象为驱动的模型,主要用于描述面向对象的软件开发过程。
该模型认为软件开发过程自下而上周期的各阶段是相互重叠和多次反复的,各个开发阶段没有特定的次序要求,并且可以交互进行,可以在某个开发阶段中随时补充其他任何开发阶段中的遗漏。
3.3.2阶段3.3.3每阶段任务3.3.4特点:喷泉模型体现了软件创建所固有的迭代和无间隙的特征。
迭代指系统中某个部分常常重复工作多次,无间隙指活动之间没有明显的间隙,如在分析和设计之间没有明显的界限。
3.3.5示意图。
4软件生命周期:阶段、各阶段功能、所涉及的内容(图、工具和文档)4.1软件生命周期:是指一个计算机软件从功能确定、设计到开发成功投入使用,并在使用中不断地修改、增补和完善,知道被新的需求所替代而停止该软件的使用全过程。
4.2四个工作阶段:初始阶段:建立业务模型,定义最终产品视图,并且确定项目的范围。
精化阶段:设计并确定系统的体系结构,制定项目计划,确定资源需求。
构建阶段:开发出所有构件和应用程序,把它们集成为客户需要的产品,并且详尽地测试所有功能。
移交阶段:把开发出的产品提交给用户使用4.3各阶段功能:1问题定义可行性研究可性研究的任务是以最小的代价在尽可能短的时间内确定问题是否值得解决、是否能够解决。
阶段性成果《项目可行性报告》2需求分析阶段需求分析的主要任务就是要通过软件开发人员与用户的交流和讨论,准确地获取用户对系统的具体要求。
阶段性成果《需求规格说明书》、数据字典、数据流图(DFD)3概要设计阶段划分出组成系统的物理元素,设计软件的结构,即确定模块及模块间的关系,根据需求分析阶段得到的逻辑模型来设计系统的物理模型阶段性成果《概要设计说明书》4详细设计阶段设计每个模块的算法,确定每一模块使用的数据结构,确定模块接口的细节,为每一个模块设计一个测试用例,编写详细设计说明书《软件详细设计》文档5编码和单元测试6系统测试7软件维护阶段4.4各阶段所涉及的内容(文档、工具、图)5结构化方法:生命周期中各阶段任务.获取用户需求、画数据流图、数据字典6可行性分析、需求分析、设计(概要设计+详细设计)、测试、维护7面向对象方法:核心概念、模型7.1面向对象中的基本概念:对象:代表了一个现实的或虚构的实体类:对具有相同数据和相同操作的一组相似对象的定义继承:子类自动的共享父类中定义的数据和方法的机制多态性:一个名字具有多种语义封装:将属性和操作包装成一个单元,使得对状态的访问和修改只能通过封装提供的接口进行消息:对象间在交互中所传送的通讯信息关联:对象之间所存在的联系7.2模型对象模型:即寻找问题域中的对象,从对象中抽象出类的定义,识别对象的内部特征,定义属性,识别对象的外部关系,识别主题。
动态模型:即建立交互图、状态图和活动图,进一步定义用例。
功能模型:即用例分析,以用例对用户需求进行规范化描述;为了更好地理解问题,人们常采用建立建立问题模型的方法。
模型就是为了理解事物而对事物作出的一种抽象,是对事物的一种无歧义的书面描述。
通常,模型由一组图示符号和组织这些符号的规则组成。
模型是一种思考工具,可以把知识规范地表示出来。
对于那些因过分复杂而不能直接理解的系统,特别需要建立模型,建模的目的主要是为了减少复杂性。
一旦建立起模型之后,就要经受用户和各个领域专家的严格审查。
模型常常会经过多次必要的修改。
用OO方法开发软件,通常需要建立3种形式的模型:对象模型----描述系统数据结构;动态模型----描述系统控制结构;功能模型----描述系统功能;这三种模型各自从不同的侧面反映软件系统的内容,相互影响、相互制约,有机地结合在一起,全面地表达对目标系统的需求。
对象模型表示静态的、结构化的系统的“数据”性质。
描述了系统的静态结构。
面向对象方法强调围绕对象而不是功能来构造系统。
对象模型为建立动态模型和功能模型,提供了实质性的框架。
1997年11月,国际对象管理组织OMG批准把UML1。
1作为基于面向对象技术的标准建模语言。
通常,使用UML的类图来建立对象模型。
在UML中术语“类”的实际含义是,“一个类及属于该类的对象”-----------------------------------------------状态模型表示瞬时的、行为化的系统的“控制”性质,它规定了对象模型中的对象的合法变化序列。
一旦建立起对象模型之后,就需要考察对象的动态行为。
所有对象都具有自己的生命周期。
状态,是对对象属性值的一种抽象。
各对象之间相互触发就形成了一系列的状态变化。
一个触发行为称作一个事件。
对象对事件的响应,取决于接受该触发的对象当时所处的状态,响应包括改变自己的状态或者又形成一个新的触发行为。
状态有持续性,它占用一段时间间隔。
状态与事件密不可分,一个事件隔开两个状态,一个状态隔开两个事件。
事件表示时刻,状态表示时间间隔。