项目之软件project(我专业四年都未曾知道这四个字的含义,几句话便懂了)
潘鹏在CSDN上原创。如其它站点转载请注意排版和写明出处:
软件project的本质
一级标题 控制 质量
二级标题 成本 扩展 高内聚低耦合 效率
控制:
成本:企业要求的是以最快的速度完毕可正常执行的软件
须要多少人力做
多长时间能做好
-----控制好成本利润很多其它
扩展:
用户要求改动原先的某个功能,怪用户之前怎么不计划好
用户今添个功能
用户明删个功能
把项目分成几个模块。把人力划分完毕相应的一个模块。然后这个人边抽烟边说那个人没做完我这不知道怎么做。那个人说我还在等他呢,也去抽根烟
这几个人做完了要把几个模块合在一起串行检測。出了个错你怪我,我怪你
----面向对象来做,改哪里找到对应的那点代码改了,不像面向过程一样牵一发而动全身,划分了模块
----面向对象来做。这几个模块几个人商议好接口。自己做自己的去吧。等什么呢
----面向对象来做,谁错了来查各自模块,看看你传给我的数据对不正确。是不是我做的模块有问题
---问题局部化
(我不是推崇面向对象,继续往下看)
质量:
高内聚低耦合:
内聚要高:搞好内部团结。
你要这个功能是吧,我这个模块里面实现这个功能的代码条理清晰、结构好,紧密联合在一起
耦合要低:和外部联系。
你要用我这个模块是吧,你传一个东西即可了。我给你搞定,不用你这个那个的,要不你就糅合在一起
效率:
面向对象好,由于结构好,好拓展,好维护。执行的慢是慢了。能慢多少,CPU用的完吗。至于省那点吗,又不是科研或者那种多一点点就会崩的
面向对象不好。小程序不是必需的。弄的东西多,执行还变慢了
面向过程好,一个小程序,编出来的速度非常快,不用去分析需求、建模的,还执行的快
面向过程不好。我要是一个大的项目怎么办,企业里上万甚至数十万的代码怎么维护,改了这带出了那的BUG
无论面向对象还是面向过程,都仅仅是对代码的一种组织形式。就像链表和数组一样的,怎么适用怎么来
项目之软件project(我专业四年都未曾知道这四个字的含义,几句话便懂了)的更多相关文章
- 软件project—思考项目开发那些事(一)
阅读文件夹: 1.背景 2.项目管理,质量.度量.进度 3.软件开发是一种设计活动而不是建筑活动 4.高速开发(简单的系统结构与复杂的业务模型) 5.技术人员的业务理解与产品经理的业务理解的终于业务模 ...
- 什么是软件project?
Normal 0 7.8 pt 0 2 false false false MicrosoftInternetExplorer4 /* Style Definitions */ table.MsoNo ...
- 【软件project】菜鸟俯瞰软件project
[背景]初次接触软件project,对软件project不是彻底的了解.但学完一遍软件project,我还是有些感触的. 以下我就对我这阶段的软工学习和理解做一下小小的总结,如有不妥之处.欢迎指正. ...
- 优秀软件project师必备的7大特性
不是每个程序猿都能成为优秀的软件project师. 在过去的6年时间里,我在Ooyala.Quora和now Quip这3个创业公司面试过许很多多挺有发展潜力的"种子选手".他们都 ...
- 软件project师的属性与发展
工作近十年了.[软件project师] 一直是我职业 title 的中心词,仅仅是前面的修饰语在不断变化,从0基础.中级.高级到资深. 事实上 [软件project师] 是一个非常泛化的定义.工作现实 ...
- 《软件project》课程报告 —国土资源执法监察管理信息系统建模
***********************************************声明*************************************************** ...
- 面向对象的软件project——面向对象分析
为了解决软件危机.一些IT前辈国产软件project这个词汇,软件project它被引入到整个软件开发过程的维护. 软件project从程序的设计角度能够分为两类.一类是面向结构的软件project. ...
- Atitit. 高级软件project师and 普通的差别 高级编程的门槛总结
Atitit. 高级软件project师and 普通的差别 高级编程的门槛总结 1. 完备的知识体系 2 2. 编程理论/原理的掌握 2 1.1. 掌握经常使用的概念(ORM,IOC.AOP,eve ...
- 软件project
Problem Description Merlin的软件project老师Max布置了开发一个软件的大作业.因为这是一个大型软件.所以单靠Merlin一个人不可能在预订的时间内做完,必须与其它人合作 ...
随机推荐
- Vmdk文件如何使用,vmdk导入虚拟机VMware8.0教程
一.打开虚拟机VMware Workstation8.0,点击新建虚拟机. 二.进入虚拟机向导,选择自定义. 三.这里保持默认即可. 四.这里选择“我以后安装操作系统”. 五.这里选择Windows ...
- LintCode 推断一个二叉树树是否是还有一个二叉树的子书
有两个不同大小的二进制树: T1 有上百万的节点: T2 有好几百的节点. 请设计一种算法.判定 T2 是否为 T1的子树. /** * Definition of TreeNode: * class ...
- Swift - 列表项尾部附件点击响应(感叹号,箭头等)
列表单元格尾部可以添加各种样式的附件,如感叹号,三角箭头等.而且点击内容区域与点击附件的这两个响应事件是不同的,这样可以方便我们实现不同的功能(比如点击内容则查看详情,点击感叹号则编辑) 1 2 3 ...
- 条款38 通过复合塑膜出has-a或"依据某物实现"
结论: 复合的意义和public继承全然不同. (public继承參考:条款32 确定你的public继承塑模出is-a关系) 在应用域,复合意味着has-a(有一个).在实现域,复合意味着is-im ...
- delphi 精要-读书笔记(内存分配释放)
delphi 精要-读书笔记(内存分配释放) 1.内存分为三个区域:全局变量区,栈区,堆区 全局变量区:专门存放全局变量 栈区:分配在栈上的变量可被栈管理器自动释放 堆区:堆上的变量内存必须人 ...
- Html中隐藏a标签
<div><a href="#"><span style="visibility:hidden">我的</span&g ...
- MIPS平台目标机安装Oprofile时出现error
在Debian下安装Oprofile 重要:应该使linux内核选项支持 在 .config 文件中设置CONFIG_PROFILING=y和CONFIG_OPROFILE=y. 重新编译,烧写.使用 ...
- 疯狂Android演讲2 环境配置
笔者:本笃庆军 原文地址:http://blog.csdn.net/qingdujun/article/details/37053681 jdk-6u3-windows-i586-p.exe 下载地 ...
- Chrome App远程控制
現在google app連上chrome就能遠控了出了幾年了, 能用觸控控制mouse https://chrome.google.com/webstore/detail/chrome-remote- ...
- Flex与Java交互(Flex调用java类展示数据)解析xml展示数据
Flex与java通信最简单例子(详细说明了各种需要注意的配置):http://blog.csdn.net/u010011052/article/details/9116869 Flex与java通信 ...