软件是被开发和设计的,而不是传统意义上被制造的
软件不会磨损
软件产业逐步走向基于构建的组装,但还是定制的
超越的观点:质量是可以认识而不能定义的
用户的观点:质量是恰好达到目的
制造业的观点:质量是与需求相一致
产品的观点:质量是与产品的内在特性相联系的
价值的观点:取决于顾客支付的金额
定义系统边界、确定活动和对象、考虑嵌套系统、相关联的系统
科学和数学的应用,通过这种应用将自然界中的物质属性和能源变得对人类有用、工程化的概念是以可重复一致的方式来解决问题
by制造业
以用例为驱动,以软件体系结构为核心,迭代及增量的软件过程框架
体系结构是指:可运行的软件增量
需求由用例捕获,一开始弄不清所有需求,随后可以增加哟呵你管理图,先实现风险最大的功能
可以激励个体,使其全心全意工作
只考虑现在,不考虑未来,对未来的功能不做猜测,使用最简单的方案实现功能。
迭代的长度不同,XP2周左右,scrum30天左右
一个迭代中,XP允许修改需求,scrum不允许修改需求
XP必须严格按照用户素材的优先级来实现,而scrum比较灵活,可以不遵守优先级
XP降调工程实践规则约束,而Scrum强调个人组织和master的作用
需要。敏捷开发宣言之一是生产可运行的软件胜过编写详尽的文档,然仍然承认文档的价值。
少些文档而不是不写文档
重要的是用轻量级的文档代替重量级的大文档,必要的轻量级文档更注重价值感,它为团队沟通提供服务。
应用程序分解:基于应用点(视图数量评估)
早期设计:功能点(FP)和语言
后体系结构:FP和语言或源代码行数(SLOC)
EO: 外部输出,至少包含一个数学演算或衍生数据的申城
EQ:外部查询,没有演算
cpm: 关键路径法,单一历时估算,计算网络图中的最长路径。估算太悲观,不符合实际,虽然比较精准
pert: 计划评审技术,使用期望时间来估算时间,使用最短最长最可能持续时间,再加权平均算出一个期望值作为工作的持续时间。
通过风险检测表识别风险,然后建立三元组,定义项目的风险参考水准,建立每一个(ri,li,xi)与每个参考水准直接的关系,预测一组参考点定义项目终止区域,该区域由一条曲线界定。
预测什么样的风险组合会影响参考水准
监控风险位置,在未达到终止区域时,做好预防措施。
可以提高成功概率,但不一定保证成功。并且,风险控制指定了一个风险参考水准,如果进度延迟、成本超支或性能下降超过了风险的参考水准,则会导致该项目被迫终止。
软件配置是在软件过程中产生的所有信息项构成的,它可以看做该软件的具体形态在某一时刻的瞬间影像
协调软件开发使得混乱减少最小的技术叫做软件配置管理,他是一种标识、组织和控制修改的技术,目的是使错误达到最小并最有效地提高生产效率。