6.系统开发基础知识

一、软件开发生命周期

       1.定义:从构思开始,经过定义、开发、使用和维护,直到废弃的过程

       2.各种活动:

       软件定义时期:确定工程必须完成的总目标(1.要解决什么问题?2.好不好解决?3.怎样去解决?)

               问题定义:确定目标

               可行性研究:技术可以、经济可行、操作可行、社会可行

               需求分析: 功能需求:必须完成的功能

                                    性能需求:安全性、可靠性、可维护性、响应速度、适应性

                                    运行环境:硬件和软件平台

       软件开发时期:软件的设计与实现(1.软件实现采用什么结构?2.细节如何实现?3.怎样确保质量?)

               概要设计:定义功能模块,确定模块之间的关系

               详细设计:将模块细节转化为过程性描述

               编码:将详细设计转化为代码

               测试:单元测试、集成测试、确认测试、系统测试

       软件运行和维护:产品交付给用户使用(1.如何部署软件?2.如何满足用户新的需求?)

               运行:由用户使用

               维护:修改软件满足新需求


二、开发模型

       1.定义:实际开发过程的抽象与概括,为工程管理提供里程碑和进度表,为软件开发过程提供原则和方法

       2.各种模型:瀑布模型、原型、螺旋模型、基于重用构件、基于面向对象


三、敏捷方法

       1.特点:欢迎变化,“面向人”而非“面向过程”,强调相关人员间的信息交流

       2.主要敏捷方法:极限编程、SCRUM

       3.核心思想:

                             利用变化来发展

                             以人为本,平衡“过程控制”

                             迭代增量开发

                             最根本的文档是源代码

                             适用于快速变化的小型项目


四、RUP

       1.用例驱动、以体系结构为中心、迭代增量的开发过程

       2.迭代的四个过程:初始、细化、构造、移交

       3.用例图:分析和测试人员关心

          实现视图:程序员关心

          部署视图:系统工程师关心

          逻辑视图:最终用户关心

                            

五、需求管理

       1.定义:一个对系统需求变更、了解和控制的过程

       2.最终文档经过评审批准后,则定义了需求基线

       3.需求管理原则:

                           用CMMI(初始、管理、定义、定量、精化)指导过程改进

                           需求文档必须评审

                           通过版本控制保证文档和需求一致

       4.需求变更:

                           有代价的,即使拒绝的变更也耗费资源

                           变更控制不是障碍,而是渠道和过滤器,筛选合适的变更

                           对每个变更权衡利弊,再做决定

                          

六、开发管理

       1.进度安排的准确度比成本估计高

       2.工作分解结构wbs

       3.文档管理应满足的要求:

                                                    用户如何使用?

                                                    怎样安装和管理?

                                                    需求和设计?

                                                    实现和测试?

       4.质量:一组固有特性满足需求的程度

       5.项目成功的关键因素:范围、成本、时间、质量

       6.风险:或然性、不确定性、涉及到某种选择时


七、软件重用

       1.横向重用:重用不同领域中的软件元素

       2.纵向重用:重用应用领域中的特征,是软件重用技术的真正希望所在


八、逆向工程和重构工程

       1.逆向工程:分析已有程序,寻找比源代码更高级的抽象表现形式

       2.重构工程:在同一抽象级别上,转换系统的描述形式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值