为了解决软件危机。一些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. java去全半角空格,trim(), replaceAll(" +",""),replaceAll("\\s*", ""), replaceAll(" | ", "")

    JAVA中去掉空格 . String.trim() trim()是去掉首尾空格 .str.replace(" ", ""); 去掉所有空格,包括首尾.中间 St ...

  2. 从零開始学android&lt;ImageSwitcher图片切换组件.二十六.&gt;

    ImageSwitcher组件的主要功能是完毕图片的切换显示,比如用户在进行图片浏览的时候.能够通过button点击一张张的切换显示的图片,并且使用ImageSwitcher组件在每次切换的时候也能够 ...

  3. 划分树 静态第k大

    划分树是保存了快速排序的过程的树,可以用来求静态第k小的数 如果,划分树可以看做是线段树,它的左孩子保存了mid-L+1 个 小于等于 a[mid] 的数字,  右孩子保存了 R-mid个大于等于a[ ...

  4. spring问题排查-调低日志等级

    问题描写叙述 1. 页面经过一次改动后,提交后页面出现400错误,可是后台并没有输出不论什么错误信息. 2. debug监听应页面对应的提交链接也没有不论什么反应(没有进入后台的controller方 ...

  5. 递归算法的数据结构和算法 C++和PHP达到

    递归算法:它是一种间接的方法调用本身,直接或. 实施过程:按功能或子程序完成.在函数编写代码或子程序直接或间接拥有被称为.你可以完成递归. (相同类型的问题,子问题到最小问题有已知条件,然后来求解,然 ...

  6. 做web项目时对代码修改后浏览器端不生效的应对方法(持续更新)

    做web项目时,经常会遇到修改了代码,但浏览器端没有生效,原因是多种多样的,我会根据我遇到的情况逐步更新解决办法 1.运行的时候采用debug模式,一般情况下使用项目部署按钮右边那个按钮下的tomca ...

  7. ContentProvider的使用

    这方面的资料应该网上已经很多了,我在这里只是做简单的总结就行了. 如题:ContentProvider是android的内容提供器,可以为应用程序提供各种的数据,例如数据表,txt文件,xml文件等等 ...

  8. MySql语句大全:创建、授权、查询、修改等(转)

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 一.用户创建.权限.删除 1.连接MySql操作 连接:mysql -h 主机地址 -u 用户 ...

  9. 使用 Cordova+Visual Studio 创建跨平台移动应用(2)

    目前开发移动应用有三种模式:Native.Hybird.Web,若要开发跨平台的移动应用,又希望与本地API交互,那么Hybird是一个非常好的选择.       作为一个.Net程序员,可以使用熟悉 ...

  10. Spring3.2 HelloWorld

    直接上图吧: jar包: 项目文件夹一览: 这里的HelloWeb-servlet,xml 是在WEB-INF 下 HelloController: package com.cqu.tutorial; ...