软件工程-第5章面向对象分析

2024-06-23 20:04

本文主要是介绍软件工程-第5章面向对象分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

快期末考试了,再写7篇就准备下线考试去了。

面向对象方法的基本原理是使用现实世界的概念抽象问题从而自然地解决问题,它强调模拟现世界中的概念而不强调算法。

5.1面向对象方法介绍

①基本概念:对象指要研究的任何事物。

类是对象的模板,即类是对一组有相同数据和相同操作的对象的定义,一个类所包含的数据和方法描述一组对象的共同属性和行为。

继承性是子类自动共享父类中数据和方法的机制。

封装性是对象的重要特性,封装是一种信息隐蔽技术,使数据更安全。

多态性是指相同的操作可作用于多种类型的对象上并获得不同的结果。

面向对象以对象为中心,以类和继承为构造机制。

②统一建模语言UML:简单,统一且能表达软件设计中的动态和静态信息的特点。

特点:支持面向对象技术的主要概念。通用。建模能力强。一种建模语言而非开发过程

基本组成:UML的基本构造块,支配规则和公用机制。

UML基本构造块有事物,关系和图。

UML规则:命名,范围,可见性,完整性,执行。

UML公共机制:规格说明,修饰,通用划分,扩展机制。

5.2面向对象分析概述

面向对象分析就是抽取和整理用户需求并建立问题精确模型的过程,一般有用例模型,对象模型和交互模型。

5.3建立用例模型

它由一组用例,参与者以及它们之间的关系所组成。

过程:①确定业务参与者:人,组织机构,外部系统或硬件设备等。

②确定业务需求用例:环境图来确定系统的主要输入/输出。再从功能进行分析。

③创建用例模型:把前两者结合起来。

5.4建立对象模型

对象模型是模型的静态结构,用于表示软件要处理的数据,在UML中表示为类图。包括类,类的内部结构及类与类之间的关系。

①建立对象模型的过程:划分主题,确定类和对象,确定类与类之间的关系,确定类和关联的属性及确定类和关联的操作。

主题应当适中,以含有6个左右的类为宜。主题的应用功能应具有独立性和完整性,与其他主题的应用有最少的联系。

筛选正确的类和对象时应遵循冗余,无关,笼统,属性,操作,实现的原则。

5.5建立交互模型

交互模型一般是由顺序图,状态图和活动图表示的动态模型。

这篇关于软件工程-第5章面向对象分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1088142

相关文章

《计算机英语》 Unit 3 Software Engineering 软件工程

Section A Software Engineering Methodologies 软件工程方法论 Software development is an engineering process. 软件开发是一个工程过程。 The goal of researchers in software engineering is to find principles that guide the

【软件工程】【22.04】p1

关键字: 软件需求规约基本性质、数据字典构成、内聚程度最高功能内聚、公有属性、RUP实体类、评审、测试序列、软件确认过程、CMMI能力等级 软件需求分类、DFD数据流图组成(实体)、经典详细设计、数据耦合、关联多重性、状态图、黑盒测试、CMMI过程改善、需求开发过程域意图 一、单选 二、填空

1969python房屋租赁管理系统mysql数据库Flask结构BootStrap布局计算机软件工程网页

一、源码特点     python Flask房屋租赁管理系统是一套完善的web设计系统mysql数据库 ,对理解python编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 python flask 房屋租赁管理系统     开发环境pycharm     mysql 5.0 到5.5     依赖包 Flask1.1.4           pymy

【会议征稿,CPS出版】第四届管理科学和软件工程国际学术会议(ICMSSE 2024,7月19-21)

第四届管理科学和软件工程国际学术会议(ICMSSE 2024)由ACM珠海分会,广州番禺职业技术学院主办;全国区块链行业产教融合共同体,AEIC学术交流中心承办,将于2024年7月19-21日于广州召开。 会议旨在为从事管理与软件工程领域的专家学者、工程技术人员、技术研发人员提供一个共享科研成果和前沿技术,了解学术发展趋势,拓宽研究思路,加强学术研究和探讨,促进学术成果产业化合作的平台。大

nuc软件工程导论期末

1.过程模型: 瀑布模型 描述: 按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。 适用情形: 需求是预知的; 软件实现方法是成熟的; 项目周期较短。 优点: 可使开发人员采用规范的方法; 严格地规定了每个阶段必须提交的文档; 要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。 缺点: 只能通过文档了

【会议记录】软件工程课程设计第一次会议

一.要求: 会前有准备,会议有记录(包括日期、出席人员、主题、讨论纪要、结论与问题、计划与行动分工。事后要保存好供老师检查),会后有分工和检查。开发小组工作会议的可能内容是:   1) 选题内容及开发方案研讨;小组成员分工;开发计划拟定。   2) 同类著名网站浏览、分析;需求分析;网站原型及成员分工确认。   3) 原型主页设计及网页组织研讨。  4) 数据库设计及应用研讨。

1979python健身房管理系统mysql数据库Django框架VUE前端node运行计算机软件工程网页

一、源码特点     python Django Vue2.9 健身房管理系统是一套完善的web设计系统mysql数据库 ,对理解python编程开发语言有帮助 前端采用 vue进行设计开发,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 Django vue 健身房管理系统1     开发环境pycharm     mysql 5.0 到5.5     依赖包 Dja

基本面向对象分析和设计

具体流程: 1、把要解决的问题写下来,或者画出流程图。 2、将第一条中的关键概念摘录出来并加以研究。 3、创建一个类和对象的层析结构图。 4、用代码实现各个类,并写一个测试来运行它们。 5、重复上述步骤并细化代码

每个人都懂得敏捷开发 (软件工程), 为何产品开发的效率与质量还是这么的烂?

敏捷开发(软件工程)是 “设计” 出来的,不是 “学” 来的…… 许多人都一直在质疑敏捷开发是否能提高效率与质量? 更有不少人以嘲讽,不屑的口吻看待软件工程。 其实,敏捷开发或者软件工程, 无法提升团队开发的效率与质量,唯一且真正的问题在于…… “每个人都懂得敏捷开发(软件工程),但却没有人懂得如何 “设计” 可提升团队效率与质量的敏捷(软件工程)的实践。“ 为何没有人懂得? 因为,没有人

专业是软件工程,现在好迷茫,感觉什么都没有学到,该怎么办?

学习软件工程可能会遇到迷茫和困惑的时期,这很正常,尤其是在学习初期。这里有一些建议,或许可以帮助你找到方向:   明确目标:思考你学习软件工程的目的是什么,是为了将来从事软件开发工作,还是对编程和创造软件有浓厚的兴趣。 基础知识:确保你对编程语言、数据结构、算法等基础知识有扎实的掌握。这些是构建更复杂软件系统的基石。 实践项目:通过参与实际项目来应用你的知识。这可以是学校的项目、开源项