https://www.jianshu.com/p/b347adca87a6 前言 上段时间在一家演讲俱乐部做即兴演讲主持人,聊的就是风险管理,与会的小伙伴分享了不同行业的风险问题,令人受益匪浅,今天本人就与大家聊聊IT软件项目的常见风险及应对方案. 由于是简单聊聊,所以本文仅简单探讨需求方面的风险.   需求误差 题图来源于网络.jpg 风险的现象 需求超边界范围:这是个最常见的需求风险,表现为客户要加需求.客户要改功能.客户要再把功能改回来……不改不上线…… 风险后果是项目成本.进度大大偏离…
一.软件项目中的风险 软件项目的风险无非体现在以下四个方面:需求.技术.成本和进度.IT项目开发中常见的风险有如下几类: (1)需求风险 ①需求已经成为项目基准,但需求还在继续变化: ②需求定义欠佳,而进一步的定义会扩展项目范畴: ③在做需求中客户参与不够: ④缺少有效的需求变化管理过程. (2)计划编制风险 ①计划.资源和产品定义全凭客户或管理人员口头指令,可能会有出入: ②计划是是"最佳状态",但计划不现实,只能算是"期望状态": ③产品是息息相关,一环扣一环的…
刚看完“无问西东”,电影里说人总归还是要留下些足迹(文字)的,那么赶紧跑图书馆来留下些文字. 最近去瑞士启动了一个新的项目,那么早上做项目,晚上总结留下了一张张思维导图来记录当时的感受, 手稿如下,字写得不好请见谅:) 首先你得知道这个软件写出来是做什么的,因为不同的应用场景对软件要求是千差万别的. 例如,机械控制?那可能需要实时性高:订票系统?那需要并发性好,还有数据准确性要高:购物系统?简单,好看,好用,操作不反人类...... 所以第一重要的东西就是,Domian Knowledge领域知…
规范化的软件项目演进管理 从 Github 使用说起 1   前言 首先,本文的层次定位是:很基本很基础的 Github 工具的入门级应用,写给入门级的用户看的. 基本上工作过几年的人,下面描述的这些技能和思想,都应该被打磨成了一种习惯,或者说是标配的属性了吧,已经不齿于列为 技能 了.但是因为笔者也菜鸟过,在学习这些技能,接受这些思想和培养这些习惯时走过不少弯路,同时也浪费了不少时间,所以想把这些经验和教训写下来,给后来人学习时提供一点参考意见吧. 关于为什么要学会用 Github ,先用最朴…
续:软件项目量化管理(CMMI高成熟度)实践经验谈--之概述篇 二.项目管理过程 软件开发项目管理过程,从项目全视角来看,分为售前.售中.售后等三个大的阶段.本文所谈的是售中阶段项目管理过程,在售中阶段,项目管理主要分项目策划.项目跟踪监控.项目结项归档等三部分.相关活动包含销售活动.採购活动.资源活动.支持活动等. 1.项目策划 项目策划是一种具有建设性.逻辑性的思维的过程,在此过程中,总的目的就是把全部可能影响决策的决定总结起来,对未来起到指导和控制作用,终于借以达到方案目标. 它是一门新兴…
先介绍一下我负责的软件项目 AxeSlide斧子演示,估计大部分人没有听说过,但国外有一款叫Prezi的软件,应该有一部分人使用过. 这是我们产品的官网http://www.axeslide.com/,里面有很多用户上传的作品看过一个之后就知道这个软件具体的作用了. 下面这个gif的效果就是用软件做出来的,非常简单哦! 这是我们软件的页面,目前是没有做任何操作的界面. 我2014年5月初来到现在这家公司后才开始研发的这个产品,经过将近3年的时间,从无到有,用户量从0到500,000. 但是由于某…
简单聊聊Storm的流分组策略 首先我要强调的是,Storm的分组策略对结果有着直接的影响,不同的分组的结果一定是不一样的.其次,不同的分组策略对资源的利用也是有着非常大的不同,本文主要讲一讲localOrShuffle这个分组对资源利用的重大改善.最后,不同的分组对项目的逻辑也起着至关重要的决定,比如在写数据的时候不同的分组策略会导致死锁. 简单理解数据流分组 拓扑定义的一部分就是为每个Bolt指定输入的数据流,而数据流分组则定义了在Bolt的task之间如何分配数据流. 目前的Storm1.…
简单聊聊java中的final关键字 日常代码中,final关键字也算常用的.其主要应用在三个方面: 1)修饰类(暂时见过,但是还没用过); 2)修饰方法(见过,没写过); 3)修饰数据. 那么,我们主要也是从一下几个方面探讨一下,主要是第三点. 一.final修饰类和方法 final修饰的类不可被继承(例如: String, Integer, Double, ....): final修饰的方法不可被重写(例如: AtomicInteger中的大部分方法) 二.final修饰数据 1. fina…
小账本APP——软件项目风险管理及解决办法案例 摘要 软件项目风险是指在软件开发过程中遇到的预算和进度等方面的问题以及这些问题对软件项目的影响.软件项目风险会影响项目计划的实现,如果项目风险变成现实,就有可能影响项目的进度,增加项目的成本,甚至使软件项目不能实现.如果对项目进行风险管理,就可以最大限度的减少风险的发生. 项目风险管理 人员风险(Personal risk): 一.人员流动风险: 在团队本项目过程中,技术人员的流动可能会给这款软件的开发带来很大损失,人员流动需要很高的成本,雇佣一个…
python最强大的是什么?库支持!!有了强大的库支持,一个简单的聊天软件实现就更简单了,本项目思路如下 # 项目思路 1. 服务器的工作 * 初始化服务器 * 新建一个聊天房间 * 维护一个已链接用户的会话列表 * 维护一个已登录用户的字典,用户名和会话 * 监听端口,接受会话,并启动一个ChatSession处理 2. 会话线程 * 初始化一个接收数据缓冲区 * 处理用户输入的命令,并提醒用户先登录(也就是说目前指处理登陆命令) * 将用户输入的数据加入缓冲区 * 用户一次输入结束后,将缓冲…
转自:https://juejin.im/post/592f87feb123db0064e5ef7c  (2017-06) 简单聊聊SOA和微服务 架构设计中的朴素主义 前两天和一个朋友聊天,他向我咨询如何从零开始构建一个健壮.强大的软件系统,聊着聊着他忽然问我,「听大家都在说微服务(下文中有的地方会使用MSA),还有人会提到SOA,那么他们的区别到底在哪里?」.我想了想,一时也列不出来一个详细的列表,只能跟他讲说其实他们在概念上是相似的. 关于软件系统的架构设计,是一个太多人喜欢讨论的问题,尤…
基于UCP方法的软件项目成本估计及其应用 UCP说明: UCP = 交易的UCP数 + Actor的UCP数,1.交易/Actor在估算时按复杂度分为简单.普通.复杂.主观类别,权重分别对应1.2.3.12.对于一些不适用计算交易数的功能(例如基表导入.性能优化等),其UCP数可以根据相对估算法给出主观估计值,填在“主观”中:主观值如大于10,应拆分UC3.Actor只算新增的,即本需求中新引入的(绝大多数PER需求的Actor个数都为0):交易计算新增和修改的4.应用系统和DB有交互时,建议把…
AxeSlide软件项目梳理   canvas绘图系列知识点整理 软件参考d3的知识点 我们在软件中主要用到d3.js的核心函数d3.interpolateZoom - 在两个点之间平滑地缩放平移.请查看示例,效果如下平滑的缩放平移. 实现该效果使用d3的js代码 var width = 960, height = 500, radius = 10; var p0 = [250, 200, 60], p1 = [560, 300, 120]; var svg = d3.select("body&…
AxeSlide软件项目梳理   canvas绘图系列知识点整理 背景介绍 我们的软件支持插入gif图片,并且展示在软件里是动态的,例如插入下面这张gif图. 在软件里显示的同样是这样的动态效果: 那么这张动态的图是怎么绘制到canvas上面的呢,如果只是像绘制一张普通图片用context.drawImage(img,x,y),这样绘制出来的只是当前显示到img标签的一个静态画面. 下面介绍我们项目中使用的方法: 1. 解析gif文件信息 安装Node.js的gify-parse模块,该模块用于…
AxeSlide软件项目梳理   canvas绘图系列知识点整理 前言 在我的另一篇博文 Canvas坐标系转换 中,我们知道了所有的平移缩放旋转操作都会影响到画布坐标系.那在我们对画布进行了一系列操作之后,怎么再知道当前矩阵数据状态呢. 具体代码 首先请看下面的一段代码(下文具体解释代码作用): window.TrackTransform = function () { var svg = document.createElementNS("http://www.w3.org/2000/svg…
使用 GNU autotools 改造一个软件项目 及永刚 jungle@soforge.com 2006 年 3 月 24 日  版本:0.3 本文不是一篇规范的教程,而是用一个软件项目作为例子,演示使用 GNU autotools 进行软件管理的思路和过程. 目 录 示例项目 软件布局 Makefile 分析 GNU 的软件风格 准备 autotools 改造文件布局 autoscan configure.ac 的基本结构 Makefile 文件的产生 编写 Makefile.am 软件根目…
实验二 个人项目-<D{0-1}问题>软件项目报告 项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/2018CST 这个作业要求链接 https://www.cnblogs.com/nwnu-daizh/p/14552393.html 我的课程学习目标 (1)掌握软件项目个人开发流程:(2)掌握Github发布软件项目的操作方法. 这个作业在哪些方面帮助我实现学习目标 (1)更加熟练git的相关操作:(2)巩固算法设计的思想:(3)进一步加…
这段时间闲来无事,就在总结以前的项目经验,然后写成博客的形式以进行记录.本文就对<IT软件人员学习系列文章>做个开篇吧. 对于IT软件的开发来说,无外乎B/S.C/S和Android.iOS(后两项也是C/S).在B/S领域,无外乎PHP.JAVA和ASP.NET这几大阵营.而在C/S领域,JAVA的开发比较复杂,需要编写一些重复的和底层的代码,相比C#的可视化和相似的语法,还是微软的开发工具和语言比较容易上手. 但是,我们今天讲的不是代码,而是整个软件流程,这个属于软件工程的范畴.我们知道,…
Atitit 软件项目非法模块与功能的管理与  监狱管理的对比 原理与概论attilax总结 软件项目中的非法模块非法功能非法分子与人类中的非法分子很是相似,必须要建议不同的的约束管理标准化... 软件项目中的不良代码类 就是软件社会中的坏人,有必要建立必要的隔离制度..防止坏蛋扩散传播.. 主要讲了这个约束机制的建立与维护制度 1. 理性管理--理念决定未来( 理性管理是约束管理的理念 制度化规范化是基本框架 2. 方向决定成败 大局观管理 3. 依法管理(依靠spec管理,接口技术就是软件中…
每次需要Spring MVC的web项目测试一些东西时,都苦于手头上没有最简单的Spring MVC的web项目,现写一个. > 版本说明 首先要引入一些包,Spring的IOC.MVC包就不用说了.还有Jackson的包,因为默认情况下Controller的方法如要返回Json,用的是此框架. <dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>…
开源软件项目管理系统招设计/开发.....Zend Framework2架构svn://735.ikwb.com/pms…
"canvas画布仿window系统自带画图软件"项目的思考 首先贴上DEMO图,并没有美化效果.对UI有要求的,请自带补脑技术. 思考一 在做项目的过程中,我发现"工具栏","形状栏"中有些功能都需要对canvas元素同时使用onmousedown, onmousemove, onmouseup事件.然后我就使用兼容性添加事件的代码给每个功能添加这几个事件.兼容性代码如下: //添加事件方法 function addEvents(obj, ty…
1.打开vs2017>Web 1:创建实体类: namespace ProductMvc.Models { //商品类型 public class ProductType { public int ID { get; set; } public string TypeName { get; set; } public Product Product { get; set; } } } namespace ProductMvc.Models { //商品 public class Product…
layout: post title: 2018-05-17-OAA-一种mermaid脚本驱动的软件项目模块图形化表述思路 key: 20180517 tags: OAA flow chart sequence diagram 泳道图 时序图 图表 OAA PM Master modify_date: 05-17 --- OAA-一种mermaid脚本驱动的软件项目模块图形化表述思路 说明: 本文发布于: gitee,github,博客园 转载和引用请指明原作者和连接及出处. 正文: 说明:这…
软件项目第一次sprint评论 组名:天线宝宝四人组                                   姓名:高长志 1. 组名:9-652组 项目:炸弹人游戏 对于炸弹人游戏,首先现在有很多或者类似的游戏也不少,如果想要由用户要么是有创新更能够吸引用户,或者界面更加精致.通过演示,该组的炸单人游戏实现了基本的功能,但有些细节功能未能实现,当然短时间内实现了这些功能不是很完善也可以理解.但在展示过程中虽然说了近期目标是做出一个炸弹人游戏,最终是实现一个手机版的炸弹人游戏,但是目…
Spring Boot项目简单上手+swagger配置 1.项目实践 项目结构图 项目整体分为四部分:1.source code 2.sql-mapper 3.application.properties  4.pom.xml 工作量主要集中在1,2:3,4主要是一些配置项,依赖库的添加. (1)建表语句: CREATE TABLE `city` ( `id` ) unsigned NOT NULL AUTO_INCREMENT COMMENT '城市编号', `province_id` ) u…
Atitit 软件项目系统托盘图标解决方案 1.1. Nodejs   node-webkit还实现了本地化的API,例如菜单栏,系统的托盘图标支持1 1.2. Java c# qt c++1 1.3. Python1 1.4. ahk1 1.5. Auto32 1.6. 参考资料2 1.1. Nodejs   node-webkit还实现了本地化的API,例如菜单栏,系统的托盘图标支持 1.2. Java c# qt c++ 1.3. Python 1. import wx 2. class …
AxeSlide软件项目梳理   canvas绘图系列知识点整理 Tween算法及缓动效果 软件里在切换步序时需要有过渡动画效果,从当前位置的画面缓动到目标位置的画面.动画效果可重新查看文章系列第一篇<AxeSlide软件项目梳理>中的作品展示动画. 实例效果:   Tween类型: Linear Quadratic Cubic Quartic Quintic Sinusoidal Exponential Circular Elastic Back Bounce ease类型: easeIn…
AxeSlide软件项目梳理   canvas绘图系列知识点整理 grid类的实现 当鼠标在画布上缩放时,网格能跟着我的鼠标滚动而相应的有放大缩小的效果. 下面是具体实现的代码,draw函数里计算出大网格每条线的间隔和小网格线的间隔,以及大网格和小网格绘制所用的颜色. 具体的实现算法也是参照另外一个软件用到的,但是我们改进了很多,例如控制只将当前画面显示出来的线条绘制出来 draw() { var scale = (editor && editor.canvas && ed…
AxeSlide软件项目梳理   canvas绘图系列知识点整理 我们创建一个类封装了所有鼠标需要处理的事件. export class MouseEventInfo { el: HTMLElement; onmouseDown: Function; ondragMove: Function; ondragUp: Function; onmouseMove: Function; onmouseUp: Function; mouseWheel: Function; onContextMenu: F…