为了解决软件危机。一些IT前辈国产软件project这个词汇,软件project它被引入到整个软件开发过程的维护。

软件project从程序的设计角度能够分为两类。一类是面向结构的软件project。还有一类是面向对象的软件project。以下我们先宏观把控一以下向对象的软件project,然后在对当中的面向对象的分析在做进一步的解释。

一、面向对象的软件project导图

面向对象的软件project能够分为五个阶段:1、OO分析; 2、OO设计。3、OO编程。 4、OO測试; 5、OO维护。

二、面向对象的分析

三、图解

用面向对象方法开发软件,通常须要建立3种形式的模型它们各自是:描写叙述系统数据结构的对象模型、描写叙述系统控制结构的动态模型和描写叙述系统功能的功能模型。

假设将这三个模型表示做一件事的步骤的话。对象模型表示的是对谁做?功能模型表示的是何时做?动态模型表示的是做什么?

对象模型中的对象、类、主题分别描写叙述的是两个不同级别的抽象,对象抽象成类。类抽象成主题,然后在找出当中的关联和属性,最后在优化。

动态模型的核心是事件的跟踪图和对象的状态图,这两表示“做一件事”是信息流的传递方向与状态。

动态模型中须要编写脚本来描写叙述每个动态交互过程动作序列的信息,构造与用户交互的界面好让用户来输入信息。

功能模型就表示做什么的事情了,三个模型中对象模型是基础,在三个模型的构建中我们还有不断的优化。就相当于结构设计中的每个阶段都要进行评审一样。

四、小结

面向对象分析的关键是找出问题域的对象,并分析它们相互间的关系。终于建立起问题域的简洁、精确、可理解的正确模型。面向对象的程序设计相对于面向结构的程序设计而言是一个“升级”。

面向对象目的在于让代码有更好的可读性,可维护性与可扩展性,这样一来就减少了软件的开发与维护工作工作量,给我们节省了大量的时间。

版权声明:本文博客原创文章,博客,未经同意,不得转载。

面向对象的软件project——面向对象分析的更多相关文章

  1. 5.15 python 面向对象的软件开发&领域模型

    1.面向对象的软件开发 参考地址::http://www.cnblogs.com/linhaifeng/articles/6182264.html#_label14 面向对象的软件工程包括下面几个部: ...

  2. Python--反射(重点)、面向对象内置方法:如__str__、面向对象的软件开发

    复习: Python3统一了类与类型 类的名称空间在定义阶段产生,看名称空间:类.__dict__ Python3特点:可以多继承 Python3都是新式类 继承意义:解决重复代码   组合:也是解决 ...

  3. day34 反射、面向对象内置方法:如__str__、面向对象的软件开发

    Python之路,Day21 = 反射.面向对象内置方法:如__str__.面向对象的软件开发 几个内置查看的方法使用 .__base__ 查看类的继承结构.mro() 对象找属性的顺序存在里面 -- ...

  4. 从软件project的角度写机器学习3——主要监督学习算法的project性分析

    主要机器学习算法的project适用性分析 前段时间AlphaGo跟李世石的大战及相关的深度学习的新闻刷了一遍又一遍的朋友圈.只是这件事情,也仅仅是在机器学习的深度上进一步拓展,而机器学习的广度(也即 ...

  5. 《软件project》课程报告 —国土资源执法监察管理信息系统建模

    ***********************************************声明*************************************************** ...

  6. 项目之软件project(我专业四年都未曾知道这四个字的含义,几句话便懂了)

    潘鹏在CSDN上原创.如其它站点转载请注意排版和写明出处: 软件project的本质 一级标题 控制 质量 二级标题  成本  扩展  高内聚低耦合 效率 控制: 成本:企业要求的是以最快的速度完毕可 ...

  7. 软件project(六)——需求分析

           需求分析是软件开发期的第一个阶段,是关系到软件开发成败的关键步骤.需求分析的任务就是明白系统必须完毕那些工作,以下是对需求分析这一章做的简要总结. 导图: 解释说明:        我将 ...

  8. Java面向对象编程 第一章 面向对象开发方法概述

    一.软件开发经历的生命周期: ①软件分析 ②软件设计 ③软件编码 ④ 软件测试 ⑤ 软件部署 ⑥软件维护 二.为了提高软件开发效率,降低软件开发成本,一个优良的软件系统应该具备以下特点: ① 可重用性 ...

  9. 软件project(一)——宏观总结

    曾经看视频,看过去就忘.不想再这样子下去了,所以总结了好久.想让自己忘不了.这个过程花费时间有点长,可是假设让自己忘不了.一切都值了. 以下先来一张导图来总结一下<软件project>这门 ...

随机推荐

  1. jQuery的理论基础

    概述 jQuery是用JavaScript语言编写的函数库,我们用时,可以直接调用jQuery中相应的函数,对于JavaScript的理解,前面的博客已经介绍过了,在这里只说一下函数的作用,也可以说为 ...

  2. 关于扩展IP地址空间的几个方案的探讨

    摘  要:在IP地址紧缺的背景下,IPv6.NAPT.SuIP几种解决方案应运而生.分析.比较几种方案后,可知SuIP是最佳方案. 关键词:IPv6:NAPT:SuIP:IP地址空间扩展 The In ...

  3. Mvc后台接收 参数

    @Html.TextAreaFor(m => m.Emps, new { @class = "easyui-validatebox", @style = "heig ...

  4. [Python网络编程]gevent httpclient以及网页编码

    之前看到geventhttpclient这个项目,https://github.com/gwik/geventhttpclient,官方文档说非常快,因为响应使用了C的解析,所以我一直想把这玩意用到项 ...

  5. Android各种屏幕分辨率(VGA、HVGA、QVGA、WQVGA、WVGA、FWVGA) 具体解释

    看资料的时候常常看到各种VGA,全都混了,无奈,找了些资料总结了下,分享给大家: 这些术语都是指屏幕的分辨率. VGA:Video Graphics Array,即:显示画图矩阵,相当于640×480 ...

  6. 【原创】leetCodeOj --- Find Minimum in Rotated Sorted Array II 解题报告

    题目地址: https://oj.leetcode.com/problems/find-minimum-in-rotated-sorted-array-ii/ 题目内容: Suppose a sort ...

  7. JQuery操作select checkbox radio总结

    JQuery是一个非常强大的工具,所以我必须找到它最方便的方法,嘻嘻 Select CRUD: Select搜: 1.val值: $("#selectid").val();     ...

  8. PC2日记——坑爹的第一天2014/08/28

    我不想安慰自己说今天是因为第一次将pc2用于实际的比赛经验不足而导致的今天出现种种问题,我想说的是自从我開始干后台我所做的每一件事都是第一次,所以这绝对不是让自己免去责怪的理由:我想说的是假设我今天是 ...

  9. 认识Backbone (三)

    Backbone.Collection(集合)  collection是model对象的一个有序的组合,我们可以在集合上绑定 "change" 事件,从而当集合中的模型发生变化时f ...

  10. hdu 神、上帝以及老天爷

    HDU 2006'10 ACM contest的颁奖晚会隆重开始了! 为了活跃气氛,组织者举行了一个别开生面.奖品丰厚的抽奖活动,这个活动的具体要求是这样的: 首先,所有参加晚会的人员都将一张写有自己 ...