潘鹏在CSDN上原创。如其它站点转载请注意排版和写明出处:

软件project本质

一级标题 控制 质量

二级标题  成本  扩展  高内聚低耦合 效率

控制

成本:企业要求的是以最快的速度完毕可正常执行的软件

须要多少人力做

多长时间能做好

-----控制好成本利润很多其它

扩展:

用户要求改动原先的某个功能,怪用户之前怎么不计划好

用户今添个功能

用户明删个功能

把项目分成几个模块。把人力划分完毕相应的一个模块。然后这个人边抽烟边说那个人没做完我这不知道怎么做。那个人说我还在等他呢,也去抽根烟

这几个人做完了要把几个模块合在一起串行检測。出了个错你怪我,我怪你

----面向对象来做,改哪里找到对应的那点代码改了,不像面向过程一样牵一发而动全身,划分了模块

----面向对象来做。这几个模块几个人商议好接口。自己做自己的去吧。等什么呢

----面向对象来做,谁错了来查各自模块,看看你传给我的数据对不正确。是不是我做的模块有问题

---问题局部化

(我不是推崇面向对象,继续往下看)

质量:

高内聚低耦合:

内聚要高:搞好内部团结。

你要这个功能是吧,我这个模块里面实现这个功能的代码条理清晰、结构好,紧密联合在一起

耦合要低:和外部联系。

你要用我这个模块是吧,你传一个东西即可了。我给你搞定,不用你这个那个的,要不你就糅合在一起

效率:

面向对象好,由于结构好,好拓展,好维护。执行的慢是慢了。能慢多少,CPU用的完吗。至于省那点吗,又不是科研或者那种多一点点就会崩的

面向对象不好。小程序不是必需的。弄的东西多,执行还变慢了

面向过程好,一个小程序,编出来的速度非常快,不用去分析需求、建模的,还执行的快

面向过程不好。我要是一个大的项目怎么办,企业里上万甚至数十万的代码怎么维护,改了这带出了那的BUG

无论面向对象还是面向过程,都仅仅是对代码的一种组织形式。就像链表和数组一样的,怎么适用怎么来

项目之软件project(我专业四年都未曾知道这四个字的含义,几句话便懂了)的更多相关文章

  1. 软件project—思考项目开发那些事(一)

    阅读文件夹: 1.背景 2.项目管理,质量.度量.进度 3.软件开发是一种设计活动而不是建筑活动 4.高速开发(简单的系统结构与复杂的业务模型) 5.技术人员的业务理解与产品经理的业务理解的终于业务模 ...

  2. 什么是软件project?

    Normal 0 7.8 pt 0 2 false false false MicrosoftInternetExplorer4 /* Style Definitions */ table.MsoNo ...

  3. 【软件project】菜鸟俯瞰软件project

    [背景]初次接触软件project,对软件project不是彻底的了解.但学完一遍软件project,我还是有些感触的. 以下我就对我这阶段的软工学习和理解做一下小小的总结,如有不妥之处.欢迎指正. ...

  4. 优秀软件project师必备的7大特性

    不是每个程序猿都能成为优秀的软件project师. 在过去的6年时间里,我在Ooyala.Quora和now Quip这3个创业公司面试过许很多多挺有发展潜力的"种子选手".他们都 ...

  5. 软件project师的属性与发展

    工作近十年了.[软件project师] 一直是我职业 title 的中心词,仅仅是前面的修饰语在不断变化,从0基础.中级.高级到资深. 事实上 [软件project师] 是一个非常泛化的定义.工作现实 ...

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

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

  7. 面向对象的软件project——面向对象分析

    为了解决软件危机.一些IT前辈国产软件project这个词汇,软件project它被引入到整个软件开发过程的维护. 软件project从程序的设计角度能够分为两类.一类是面向结构的软件project. ...

  8. Atitit. 高级软件project师and 普通的差别 高级编程的门槛总结

    Atitit.  高级软件project师and 普通的差别 高级编程的门槛总结 1. 完备的知识体系 2 2. 编程理论/原理的掌握 2 1.1. 掌握经常使用的概念(ORM,IOC.AOP,eve ...

  9. 软件project

    Problem Description Merlin的软件project老师Max布置了开发一个软件的大作业.因为这是一个大型软件.所以单靠Merlin一个人不可能在预订的时间内做完,必须与其它人合作 ...

随机推荐

  1. 14.2.1 MySQL and the ACID Model

    14.2 InnoDB Concepts and Architecture InnoDB 概念和结构体系: 14.2.1 MySQL and the ACID Model 14.2.2 InnoDB ...

  2. v$lock 视图访问慢解决方法

    V$ 视图访问慢 --解决方法 分析:可能是有数据字典统计信息过久,造成. exec dbms_stats.gather_fixed_objects_stats; ------收集所有数据字典的fix ...

  3. Windows 7如何建立一个FTP的快捷方式

    原来,使用Windows XP的时候,在IE6的地址栏里输入FTP服务器的地址,就可以打开一个资源管理器的界面来管理文件.但是,随着IE的版本的提升或是装了Windows 7,原来的这种方法就不能用了 ...

  4. HDOJ 4883 TIANKENG’s restaurant

    称号: TIANKENG's restaurant Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Ja ...

  5. Qml 写的弹出层控件(13篇博客)

    QML弹出窗口组件,灯箱效果.动画效果,可拖拽 核心思路:一个mask层,一个最顶层,都用rectangle,禁止事件穿透 使用 Popup { id: popup width: 200; heigh ...

  6. VC GDI双缓冲机制绘图防屏幕闪烁实现步骤

    在OnDraw(CDC* pDC) 中添加如下代码 CDC MemDC; //首先定义一个显示设备对象 CBitmap MemBitmap;//定义一个位图对象 //随后建立与屏幕显示兼容的内存显示设 ...

  7. 用Swift开发二维码扫描器教程

    (原文:Building a QR Code Reader in Swift 作者:Simon Ng 译者:xiaoying )我相信大多数人都知道二维码(QR code)是什么,如果你对这个概念还不 ...

  8. Android开发调试日志工具类[支持保存到SD卡]

    直接上代码: package com.example.callstatus; import java.io.File; import java.io.FileWriter; import java.i ...

  9. SpringMVC存取Session的两种方法

    方法一:使用servlet-api @Controller public class ManagerController { @Resource private ManagerService mana ...

  10. UVALive 5790 Ball Stacking 解题报告

    比赛总结 题目 题意: 有n层堆成金字塔状的球,若你要选一个球,你必须把它上面那两个球取了,当然也可以一个不取.求选的球最大的权值和. 题解: 将这堆球转成举行,第一行是(0,0),第二个是(1,0) ...