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

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

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

一.简化概念知识

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

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

         

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

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

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

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

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

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

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

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

          


二.个人理解下的OO

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

                                                

三.小结知识间联系

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

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





推荐阅读
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 基于事件驱动的并发编程及其消息通信机制的同步与异步、阻塞与非阻塞、IO模型的分类
    本文介绍了基于事件驱动的并发编程中的消息通信机制,包括同步和异步的概念及其区别,阻塞和非阻塞的状态,以及IO模型的分类。同步阻塞IO、同步非阻塞IO、异步阻塞IO和异步非阻塞IO等不同的IO模型被详细解释。这些概念和模型对于理解并发编程中的消息通信和IO操作具有重要意义。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • OO第一单元自白:简单多项式导函数的设计与bug分析
    本文介绍了作者在学习OO的第一次作业中所遇到的问题及其解决方案。作者通过建立Multinomial和Monomial两个类来实现多项式和单项式,并通过append方法将单项式组合为多项式,并在此过程中合并同类项。作者还介绍了单项式和多项式的求导方法,并解释了如何利用正则表达式提取各个单项式并进行求导。同时,作者还对自己在输入合法性判断上的不足进行了bug分析,指出了自己在处理指数情况时出现的问题,并总结了被hack的原因。 ... [详细]
  • 本文总结了淘淘商城项目的功能和架构,并介绍了传统架构中遇到的session共享问题及解决方法。淘淘商城是一个综合性的B2C平台,类似京东商城、天猫商城,会员可以在商城浏览商品、下订单,管理员、运营可以在平台后台管理系统中管理商品、订单、会员等。商城的架构包括后台管理系统、前台系统、会员系统、订单系统、搜索系统和单点登录系统。在传统架构中,可以采用tomcat集群解决并发量高的问题,但由于session共享的限制,集群数量有限。本文探讨了如何解决session共享的问题。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 统一知识图谱学习和建议:更好地理解用户偏好
    本文介绍了一种将知识图谱纳入推荐系统的方法,以提高推荐的准确性和可解释性。与现有方法不同的是,本方法考虑了知识图谱的不完整性,并在知识图谱中传输关系信息,以更好地理解用户的偏好。通过大量实验,验证了本方法在推荐任务和知识图谱完成任务上的优势。 ... [详细]
  • 深入理解Java虚拟机的并发编程与性能优化
    本文主要介绍了Java内存模型与线程的相关概念,探讨了并发编程在服务端应用中的重要性。同时,介绍了Java语言和虚拟机提供的工具,帮助开发人员处理并发方面的问题,提高程序的并发能力和性能优化。文章指出,充分利用计算机处理器的能力和协调线程之间的并发操作是提高服务端程序性能的关键。 ... [详细]
  • ejava,刘聪dejava
    本文目录一览:1、什么是Java?2、java ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了adg架构设置在企业数据治理中的应用。随着信息技术的发展,企业IT系统的快速发展使得数据成为企业业务增长的新动力,但同时也带来了数据冗余、数据难发现、效率低下、资源消耗等问题。本文讨论了企业面临的几类尖锐问题,并提出了解决方案,包括确保库表结构与系统测试版本一致、避免数据冗余、快速定位问题等。此外,本文还探讨了adg架构在大版本升级、上云服务和微服务治理方面的应用。通过本文的介绍,读者可以了解到adg架构设置的重要性及其在企业数据治理中的应用。 ... [详细]
  • 企业数据应用挑战及元数据管理的重要性
    本文主要介绍了企业在日常经营管理过程中面临的数据应用挑战,包括数据找不到、数据读不懂、数据不可信等问题。针对这些挑战,通过元数据管理可以实现数据的可见、可懂、可用,帮助业务快速获取所需数据。文章提出了“灵魂”三问——元数据是什么、有什么用、又该怎么管,强调了元数据管理在企业数据治理中的基础和前提作用。 ... [详细]
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社区 版权所有