【系统分析师】3.软件工程

大纲图:


软件工程
    软件开发模型
        瀑布模型
            适合需求明确的项目;升级的项目;阶段明确,强调一次性完成系统
        原型
            适合需求不明确;简易系统
            快速原型模型
                抛弃型原型
            演化性原型
                在原型的基础上继续完善
            增量模型
                先做核心模块
                一块一块补充
        螺旋模型
            原型,演化型,瀑布型 合并起来
            指定计划,风险分析,实施工程(瀑布),客户评估
            自由主题
        V模型
            瀑布模型 + 加强测试
            强调测试贯穿始终
            测试驱动
        喷泉模型
            面向对象;阶段不间隔
        快速开发模型
            瀑布模型 + 组件
        构建组装模型
            把一个系统的各个模块抽象独立后成为组件
            使用构建不断组装
            VB,Delphi,.NET 就是基于构件的开发,构件他们叫控件
        统一过程UP(RUP)
            核心特点:用例驱动;以架构为中心;迭代和增量
            1.初始
                确定项目范围和边界
            2.细化
                建立软件架构基础 - 完成某种软件架构
            3.构建
                构件组装与测试 - 寻找可复用的构件,完后输出软件产品
            4.交付
                确认测试(内部确认测试;阿尔法测试;贝塔测试;验收测试);制作发布版本
        敏捷方法
            极限编程XP
                价值观:沟通(面对客户和团队),简单(设计,够用就好),反馈(流程的反馈),勇气(用于接受变更)
                原则:快速反馈;简单性假设;逐步修改;提倡修改;优质工作
                实践:小型发布;简单设计;集体代码所有制;持续集成;编码标准
            基本原则
                短平快的会议;小版本发布;适应性调整;结对编程;测试驱动开发;持续集成;重构
    信息系统开发生命周期
        具体步骤
            1.系统规划
                见上面“系统规划”
                系统设计任务书(建设方案,实施计划)
                包括可行性研究
            2.系统分析
                做什么
                延误流程分析,数据与数据流程分析,软件需求分析,网络需求分析
                系统需求规格说明书,软件需求规格说明书,确认测试计划,系统测试计划,初步的用户手册
            3.系统设计
                怎么做
                软件架构设计,软件概要设计,详细设计,网络设计
                架构设计文档,概要设计文档,详细设计说明书,程序规格说明书,概要测试计划,详细测试计划,,各类设计图
            4.系统实施
                软件编码,软件单元集成系统测试,综合布线
                源码,单元测试,集成测试报告,操作手册
            5.系统验收
                确认测试,试运行
                确认测试报告,项目验收报告
        阶段:规划,分析,设计,实施,验收; 维度: 软件,硬件,网络
    净室工程
        强调正确性验证而不是测试,作为发现和消除错误的主要机制
    逆向工程
        概念:对现有系统进行抽象,然后再次进行开发形成新的产品
        抽象的层次
            1.实现级
                语法树,符号表,过程设计 - 类方法实现维度
            2.结构级
                依赖关系,调用关系,结构,数据结构 - 代码设计维度
            3.功能级
                功能之间的调用关系,数据流图 - 流程维度
            4.领域级
                需求层次,ER图  - 需求维度
        这个过程也成为“再工程”
    开发方法 & 开发模型
        开发方法 比 开发模型的抽象层次更高
        对于关系 M:N
        开发模型 是 开发方法的践行的体系化方案
        开发模型 包含 开发的步骤;开发步骤中就会体现开发方法
相当于:论持久战是思想, 地道战是持久战的实践模型
    ** 驱动
        用***事件来驱动
        比如:用例驱动;测试驱动;模块驱动
    信息系统生命周期
        立项阶段
            需求分析,企业全局
        开发阶段
            相当于成长阶段,详细见:信息系统开发生命周期
        运维阶段
            运行维护
        消亡阶段
            版本变化,上次版本丢失重建的系统,或者上次版本通过功能扩展升级为本次版本
    系统生命周期 & 开发生命周期区别
        1. 开发生命周期只是 生命周期开发阶段一段
2.生命周期偏重项目管理; 开发生命周期偏重于技术


……

猜你喜欢

转载自blog.csdn.net/weixin_42754896/article/details/103861200