码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 面向对象技术--面向对象开发技术


    说在前面:

    本系列文章专注于软考备考复习内容梳理,文章内容是对教材中知识点和考点的提炼,备考过程中可以有针对的进行复习,减少阅读量,有的放矢。


    导航目录:

      • 一、面向对象分析
        • 1.认定对象
        • 2.组织对象
        • 3.描述对象间的相互作用
        • 4. 定义对象的操作
      • 二、面向对象设计
      • 三、面向对象测试
        • 1.算法层
        • 2.类层
        • 3.模板层
        • 4.系统层

    一、面向对象分析

    面向对象分析的目的是为了获得对应用问题的理解。理解的目的是确定系统的功能、性能要求。
面向对象分析包含5个活动,即认定对象、组织对象、描述对象间的相互作用、定义对象的操作和定义对象的内部信息。

    1.认定对象

    在应用领域中,按自然存在的实体确立对象。在定义域中,首先将自然存在的"名词"作为一个对象,这通常是研究问题、定义域实体的良好开始。通过实体间的关系寻找对象常常没有问题,而困难在于寻找(选择)系统关心的实质性对象,实质性对象是系统稳定性的基础。

    2.组织对象

    分析对象间的关系,将相关对象抽象成类,其目的是为了简化关联对象,利用类的继承性建立具有继承性层次的类结构。抽象类时可从对象间的操作或一个对象是另一个对象的一部分来考虑,如房子由门和窗构成,门和窗是房子类的子类。由对象抽象类,通过相关类的继承构造类层次,所以说系统的行为和信息间的分析过程是一种迭代表征过程。

    3.描述对象间的相互作用

    描述出各对象在应用系统中的关系,如一个对象是另一个对象的一部分、一个对象与其他对象间的通信关系等。这样可以完整地描述每个对象的环境,由一个对象解释另一个对象,以及一个对象如何生成另一个对象,最后得到对象的界面描述。

    4. 定义对象的操作

    当考虑对象的界面时,自然要考虑对象的操作。其操作有从对象直接标识的简单操作,如创建、增加和删除等也有更复杂的操作,如将几个对象的信息连接起来。一般而言,应避免对象太复杂,当连接的对象很复杂时,可将其标识为新对象。当确定对象的操作后,再定义对象的内部。对象内部定义包括其内部数据信息、信息存储方法、继承关系以及可能生成的实例数等属性。

    二、面向对象设计

    面向对象设计的含义是设计分析模型和实现相应源代码,在目标代码环境中这种源代码可被执行。设计期间必须充分考虑系统的稳定性,这会影响系统的结构。
    


对象标识期间的目标是分析对象,设计过程也是发现对象的过程,称之为再处理。对象可以用预先开发的源代码实现,称这样的部分为构件。

    三、面向对象测试

    就测试而言,用面向对象方法开发的系统测试与其他方法开发的系统测试没有什么不同,在所有开发系统中都是根据规范说明来验证系统设计的正确性。程序调试步骤是从最底层开始,从单元测试、综合测试到系统测试。
一般来说,对面向对象软件的测试可分为下列4个层次进行。

    1.算法层

    测试类中定义的每个方法,基本上相当于传统软件测试中的单元测试。

    2.类层

    测试封装在同一个类中的所有方法与属性之间的相互作用。在面向对象软件中类是基本模块,因此可以认为这是面向对象测试中所特有的模块测试。

    3.模板层

    测试一组协同工作的类之间的相互作用。大体上相当于传统软件测试中的集成测试,但是也有面向对象软件的特点(如对象之间通过发送消息相互作用)。

    4.系统层

    把各个子系统组装成完整的面向对象软件系统,在组装过程中同时进行测试。

    未完待续。。。

    更多知识传送:

    • 计算机操作系统–基础知识
    • 计算机操作系统–进程管理
    • 计算机操作系统–存储管理
    • 计算机操作系统–设备管理
    • 计算机操作系统–文件管理
    • 计算机操作系统–作业管理
    • 计算机操作系统–网络操作系统和嵌入式操作系统
    • 计算机操作系统–UNIX操作系统
    • 软件工程基础知识–认识软件工程
    • 软件工程基础知识–软件过程模型
    • 软件工程基础知识–需求分析
    • 软件工程基础知识–系统设计
    • 软件工程基础知识–运行和维护
    • 软件工程基础知识–软件项目管理
    • 软件工程基础知识-软件质量
    • 结构化开发方法–系统分析及设计概述
    • 结构化开发方法–结构化分析方法
    • 结构化开发方法–用户界面设计
    • 面向对象技术–概念及程序设计

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    以上内容整理参考《软件设计师教程(第5版)》和《软件设计师考试同步辅导(第四版)》(忘记是哪个老师的了,侵删)。本文章内容旨在帮助更多想要进军软考,给自己镀金的小伙伴。有兴趣的小伙伴可以共勉。

  • 相关阅读:
    1分钟教会你如何截图文字识别,建议收藏备用
    STM32+UART串口+DMA收发
    [杂谈]-快速了解直接内存访问 (DMA)
    专业护眼灯什么牌子好?2024年专业护眼灯品牌排行分享
    Luby控制器从哪里购买
    前端工程化面试题
    使用dockerfile部署springboot应用
    net基于asp.net的二手商品的交易系统-二手网站-计算机毕业设计
    java11中String类,StringBuffer类和StringBuilder类区别
    打造一个极度舒适的Chrome扩展项目开发环境
  • 原文地址:https://blog.csdn.net/qq_37502042/article/details/126586167
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号