软件开发理论
1.软件的定义:是一系列按照特定顺序组织的计算机数据和指令的集合
2.软件开发的模式:
瀑布模型:将软件生命周期的各项活动规定按照固定的顺序连接起来的各各阶段的工作 类似于瀑布 最终得到软件产品。
优点:为项目提供了按阶段划分的检查点
当完成前一个阶段 只需要去关注后续的阶段。
缺点:1>每个阶段的划分太过固定,阶段之间产生大量
2>文档,工作量太大开发是线性的,只有等到整个开发的末期才能看到开发成果,增加开发风险
3>太多的强制性完成日期和各个节点来跟从完成各个项目阶段
4>最突出缺点就是不适应用户需求的变化 当完成一个节点后 就不能在检测前一个结点
快速原型模式:就是直接快速建立一个原型,实现客户与用户的交互,根据用户跟客户的评价,来实现软件开发的需求通过逐步调整原型满足客户要求 开发人员可以明确了解客户真正的需求 在基础上满足客户满意的软件
快速原型的关键就在于尽可能快速的造出软件的原型,确定客户所需,建造原型被丢弃,内部不重要,重要的是必须快速建立模型,迅速修改原型,满足客户需求
螺旋式模型:1988年 巴利·波姆正式发表“螺旋模型”,将瀑布和快速原型结合,强调其他模型忽视的风险分析,适合大型复杂的系统
制定计划:确认软件目标 选定实施方案 搞清项目开发的限制条件
分线分析:分析评估所选的方案,考虑如何识别消除风险
实施工程:实施软件开发验证
客户评估:评价开发工作,提出修正建议,指定下一步计划
螺旋模型由风险驱动,强调可选择方案和限制条件 从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。
螺旋模型的限制条件:螺旋模型强调风险分析,但要求许多客户接受和相信这种分析,并作出反应,因此这种模型往往适用内部大规模软件开发。
如果风险远远大于项目利润 那么风险分析将毫无意义,因此螺旋模型只适合大规模软件项目。
软件开发人员应该擅长寻找风险 准确分析风险 否则将会带来更大的风险。
软件质量的六大特性:
功能性:适应性
准确性
互操作性
安全性
功能合规性
可靠性:成熟性
容错性
易恢复性
可靠合规性
可使用性:易理解性
易学习性
易操作性
用户黏性
易用合规性
效率:时间特性
资源利用率
效率合规性
可维护性:易分析性
稳定性
易变更性
易测试性
可维护性
规性
可移植性:适应性
易安装性
共存性
易替换性
可移植性
规性
影响软件的因素:
需求模糊
软件开发缺乏规范性文件指导
软件开发人员问题
缺乏软件质量控制管理
软件的分类:
工具类软件 游戏类软件 媒体型软件 电商型软件
根据架构分类:单机版·分布式软件
单机版软件:office 红警
C/S架构软件:客户端安装软件,如QQ 微信等
B/S架构软件:客户端为浏览器 百度 hao123