热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

软件工程:(六)面向对象技术

一.简化概念知识在软件工程中,Coad和Yourdon给出面向对象的定义是:“面向对象对象+类+继承+通信”。如果一款软件系统是使用这样四个概念设计和实现的,则我们认

一.简化概念知识

    在软件工程中,Coad和Yourdon给出面向对象的定义是:“面向对象=对象+类+继承+通信”。如果一款软件系统是使用这样四个概念设计和实现的,则我们认为这款款软件系统是面向对象的。

    对象是面向对象开发模式的基本成份,每个对象可用它本身的一组属性和它可以执行的一组操作来定义。换言之,对象指的是一个独立的、异步的、并发的实体,它能存储数据、提供服务,并与其它对象交换消息,从而完成系统的所有功能。类的生存期指导着类的设计;

         

    类是一组具有相同数据结构和相同操作的对象的集合,类的定义包括一组数据属性和在数据上的一组合法操作;

    继承是使用已存在的定义作为基础建立新类定义的技术,新类的定义可以是既存类所声明的数据和新类所增加的声明的组合;

    消息是一个对象与另一个对象的通信单元,是要求某个对象执行类中定义的某个操作的规格说明,对象向对象发出的服务请求;

    面向对象技术可以保证软件的可复用性。

    对象模型化技术OMT,把分析时收集的信息构造在三类模型中,即对象模型、功能模型和动态模型,这个模型化的过程是一个迭代过程。对象模型是其中最为关键的一个模型,其作用是描述系统的静态结构。

    面向对象分析模型(OOA模型),其组成是由五个层次:类与对象、属性、服务、结构和主题。

    面向对象设计模型(OOD模型),设计阶段继续做面向对象分析的工作,建立软件的结构,主要分为两个阶段:高层设计和类设计。高层设计,开发系统的结构,即构造应用软件的总体模型,可以表征为标识和定义模块的过程。

    面向对象软件的实现与测试,在开发过程中,类的实现是核心问题,在只用面向对象风格所写的系统中,所有的数据都被封装在类的实例中而整个应用都被封装在一个更高级的类中。

          


二.个人理解下的OO

    通过翻寻笔记总结这个阶段的学习,画出个人意识形态下的软工阶段的面向对象技术的思维导图,以作总结这部分的知识:

                                                

三.小结知识间联系

    通过学习本阶段的软件工程的相关的知识,对于面向对象的知识也增加了新的认识,是一种再学习的感受,与先前的C语言以及C++的学习,相关的面向对象的技术,在这里更加实例化。在软工里将这种面向对象的技术用于实践,构建出软件系统的架构,知识的完美展现。

    感觉现阶段的知识总结起来很费劲,一方面是由于实践比较长,另外一方面,这部分的知识总结起来,联系不是很紧密,导致自己有点儿迷茫,只能再看一遍笔记,总结一番,记录成长的脚步!





推荐阅读
  • Redis:缓存与内存数据库详解
    本文介绍了数据库的基本分类,重点探讨了关系型与非关系型数据库的区别,并详细解析了Redis作为非关系型数据库的特点、工作模式、优点及持久化机制。 ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • PHP面试题精选及答案解析
    本文精选了新浪PHP笔试题及最新的PHP面试题,并提供了详细的答案解析,帮助求职者更好地准备PHP相关的面试。 ... [详细]
  • 深入探讨:Actor模型如何解决并发与分布式计算难题
    在现代软件开发中,高并发和分布式系统的设计面临着诸多挑战。本文基于Akka最新文档,详细探讨了Actor模型如何有效地解决这些挑战,并提供了对并发和分布式计算的新视角。 ... [详细]
  • 协程作为一种并发设计模式,能有效简化Android平台上的异步代码处理。自Kotlin 1.3版本引入协程以来,这一特性基于其他语言的成熟理念,为开发者提供了新的工具,以增强应用的响应性和效率。 ... [详细]
  • 电商高并发解决方案详解
    本文以京东为例,详细探讨了电商中常见的高并发解决方案,包括多级缓存和Nginx限流技术,旨在帮助读者更好地理解和应用这些技术。 ... [详细]
  • 本文总结了近年来在实际项目中使用消息中间件的经验和常见问题,旨在为Java初学者和中级开发者提供实用的参考。文章详细介绍了消息中间件在分布式系统中的作用,以及如何通过消息中间件实现高可用性和可扩展性。 ... [详细]
  • 本文详细探讨了在Java TCP编程中,如何理解和测量并发连接数、请求数及并发用户数,并提供了实际应用中的测试方法和优化建议。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 2023年,Android开发前景如何?25岁还能转行吗?
    近期,关于Android开发行业的讨论在多个平台上热度不减,许多人担忧其未来发展。本文将探讨当前Android开发市场的现状、薪资水平及职业选择建议。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • 本周三大青年学术分享会即将开启
    由雷锋网旗下的AI研习社主办,旨在促进AI领域的知识共享和技术交流。通过邀请来自学术界和工业界的专家进行在线分享,活动致力于搭建一个连接理论与实践的平台。 ... [详细]
  • 知识图谱与图神经网络在金融科技中的应用探讨
    本文详细介绍了融慧金科AI Lab负责人张凯博士在2020爱分析·中国人工智能高峰论坛上的演讲,探讨了知识图谱与图神经网络模型如何在金融科技领域发挥重要作用。 ... [详细]
  • 从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有