
项目管理与代码管理
山西茄子
多媒体工程师,从事ffmpeg,gstreamer,视频编码,deepstream等开发,做做笔记。
展开
-
软件的基本模块
软件开发会有几个通用的模块,便于以后的升级,维护。第一:日志模块发布的软件不能调试,出了问题只能查看日志,因此日志模块是必须的,而且要能动态的调整日志的级别。第二:守护模块如果对软件的稳定性没有信心,可以做个守护模块,软件崩溃了,就重启它;不过商业软件(操作系统,QQ等)都没有守护模块。发布的软件会崩溃,因此需要做一个守护进程,监视主进程,如果主进程崩溃,就重启它。第三:版原创 2012-07-14 16:51:14 · 1491 阅读 · 0 评论 -
PPT
甘特图 甘特图内在思想简单,即以图示的方式通过活动列表和时间刻度形象地表示出任何特定项目的活动顺序与持续时间。基本是一条线条图,横轴表示时间,纵轴表示活动(项目),线条表示在整个期间上计划和实际的活动完成情况。它直观地表明任务计划在什么时候进行,及实际进展与计划要求的对比。管理者由此可便利地弄清一项任务(项目)还剩下哪些工作要做,并可评估工作进度。 甘特图是基于转载 2014-02-10 17:09:19 · 681 阅读 · 0 评论 -
visio画图
类之间的关系 继承关系 继承关系是最容易理解的关系。画成图的话就像下面这样。面向对象的说法就是is-a关系。也就是说Class2 is a Class1。在C++中我们说Class2是Class1的派生类,或者说Class1是Class2的基类。聚集和组成 从容易理解的关系说起.经常有一个类是另一格类的数据成员的情况。在UML中表现为,聚集(aggregation)和组成(co转载 2013-10-08 17:05:43 · 943 阅读 · 0 评论 -
WORD技巧
批注点“审阅”,点“修改”,以后双击每一行,都会给出红色注释区。二表格合并:选中两行(或两列),点右键,选合并行(或者列)。另存为PDF打开Word2007文档,单击左上角的office按钮,选择“另存为”,如果没有安装加载项,可以去http://www.microsoft.com/downloads/details.aspx?FamilyID=4D951911-3E7E-4...原创 2013-02-01 09:11:14 · 555 阅读 · 0 评论 -
发布软件
最近给用户发了一个动态库,问题挺多的,现在总结如下:# 接口要简洁明了,接口函数越简单越好,这样用户调用起来方便,不至于搞不清调用方法。# 函数之间逻辑关系要强,比如:如果有init,use函数,如果init失败,use就不执行。# 给出返回值的详细定义,这样能知道调用是否正确。# 日志要详细准确,这样便于查找异常的原因。# 函数要有详细注释,如果没注释,用户不知道如原创 2013-09-09 16:04:58 · 767 阅读 · 0 评论 -
WBS介绍
工作分解结构工作(work)--可以产生有形结果的工作任务;分解(breakdown)--是一种逐步细分和分类的层级结构;结构(structure)--按照一定的模式组织各部分。根据这些概念,WBS有相应的构成因子与其对应:⑴结构化编码编码是最显著和最关键的WBS构成因子,首先编码用于将WBS彻底的结构化。通过编码体系,我们可以很容易识别WBS元素的层级关系、分组类别和特性。并且由于近转载 2015-10-12 16:41:47 · 1192 阅读 · 0 评论 -
CVS,SVN使用
常用操作如何比较两个版本?svn diff -r a:b如上,选中两行,右键点“Compare Revisions”,然后选中要比较的文件即可。怎么回退?比如,提交错了,想退到上个版本。点击"show log",右键提交错误的版本,点“revert changes from this revision”,最后再提交。怎么回退?比如,提交错了,想退到上上个版本。...原创 2012-10-09 14:31:48 · 883 阅读 · 0 评论 -
UML
UML活动图与流程图的区别 (1)、流程图着重描述处理过程,它的主要控制结构是顺序、分支和循环,各个处理过程之间有严格的顺序和时间关系。而UML活动图描述的是对象活动的顺序关系所遵循的规则,它着重表现的是系统的行为,而非系统的处理过程。(2)、UML活动图能够表示并发活动的情形,而流程图不行。 (3)、UML活动图是面向对象的,而流程图是面向过程的。 活动图与状态图的区别活转载 2015-11-04 14:42:26 · 723 阅读 · 0 评论 -
框架,设计模式,架构的关系
框架、设计模式这两个概念总容易被混淆,其实它们之间还是有区别的。框架通常是代码重用,而设计模式是设计重用,架构则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用。在软件生产中有三种级别的重用:内部重用,即在同一应用中能公共使用的抽象块;代码重用,即将通用模块组合成库或工具集,以便在多个应用和领域都能使用;应用框架的重用,即为专用领域提供通用的或现成的基础结构,以获得最高级...转载 2019-01-12 10:55:14 · 258 阅读 · 0 评论 -
设计模式
命令模式:通过命令模式,通过在客户端和具体的命令之间添加一层Invoker,剪断了客户端和具体服务提供者之间的耦合,降低了两者之间的耦合度,同时也增加了灵活性.观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。代理模式:代理另一个类的创建。策略模式:简单工厂模式是实现对象的多样性,而策略模式适合类中的成员以方法为主;简单原创 2012-08-25 11:32:00 · 674 阅读 · 0 评论 -
软件开发方法--迭代增量开发与瀑布式开发
迭代增量开发 迭代增量模型是软件开发过程中、常用的开发模型。其中的增量是指是软件开发过程中,先开发主要功能模块,再开发次要功能模块,逐步完善,最终开发出符合需求的软件产品。 比如,需要开发一个类似WORD的软件,应该首先开发出文件管理(保存、读取文件)、基本编辑功能、打印等,而其它不太常用的功能可以最后开发。 迭代是指增量开发过转载 2012-11-01 22:59:46 · 1866 阅读 · 0 评论 -
软件开发方法--敏捷软件开发
敏捷软件开发又称敏捷开发,是一种从1990年代开始逐渐引起广泛关注的一些新型软件开发方法,是一种应对快速变化的需求的一种软件开发能力。它们的具体名称、理念、过程、术语都不尽相同,相对于“非敏捷”,更强调程序员团队与业务专家之间的紧密协作、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重做为软件开发中人的作转载 2012-11-01 22:46:48 · 757 阅读 · 0 评论 -
svn创建分支,主干合并到分支,分支合并到主干
Revert to this revision和Revert changes from this revision譬如有个文件,有十个版本,假定版本号是1,2,3,4,5,6,7,8,9,10。Revert to this revision: 如果是在版本6这里点击“Revert to this revision”,表示7~10的修改全部作废,历史倒退到了版本6那个年代。Revert ch...转载 2019-01-20 14:39:25 · 5353 阅读 · 0 评论