软件工程

针对之前发的软件工程的问题,给的一些解答:

           1.什么是软件工程?

           2.什么是敏捷流程?敏捷体现在什么方面?

           3.MSF?PM?的含义是什么?

           4.个人,两个和团队该怎么开发一个项目?具体流程是什么?

 解答:

  1. 软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程。

           软件工程包括下列领域:软件需求分析、软件设计、软件构架、软件测试软件维护。

           软件工程和下列学科相关:计算机科学、计算机工程、管理学、数学、项目管理学、质量管理、软件人体工学、系统工程、工业设计和用户界面设计。

     2. 敏捷开发概述:

        第一步:找出完成产品需要做的事情—Product Backlog。

        第二步:决定当前的冲刺(Sprint)需要解决的事情—Sprint Backlog。

        第三步:冲刺(Sprint)。

        第四步:得到软件的一个增值版本,发布给用户。然后在此基础上又进一步计划增量的新功能和改进。

 

                                                                                                  现有做法VS敏捷的做法

现有的做法

敏捷的做法

流程和工具

个人和交流

完备的文档

可用的软件

为合同谈判

与客户合作

执行原定计划

响应变化

        3. PSP用来衡量一个团队能力的一套模型。

            个人:

            一个软件工程师在收到一个任务后应该:

           (1) 计划

                 估计这个任务需要多长时间。

           (2) 开发

                分析需求

                生成设计文档

                设计复审(和同事审核设计文档)

                代码规范(为目前的开发制定合适的规范)

                具体设计

                具体编码

                代码复审

                测试(包括自测,修改代码,提交修改)

        (3) 记录用时

        (4) 测试报告

        (5) 计算工作量

        (6) 事后总结

        (7) 提出过程改进计划

 

    两人:

        (1) 萌芽阶段(Forming)。

        (2) 磨合阶段(Storming)。

        (3) 规范阶段(Norming)。

        (4) 创造阶段(解体阶段)。

     团队:

            RUP(Rational Unified Process)把软件开发的各个阶段整合在一个统一的框架里。

            要完成一个复杂的软件项目,团队大的各种成员在不同阶段做不同的事情,这些不同类型的工作在RUP中叫做规程或者工作流。   

           (1) 业务建模

           (2) 需求

           (3) 分析和统计

           (4) 实现

           (5) 测试

           (6) 部署

           (7) 配置和变更管理

           (8) 项目管理

           (9) 环境

       3. MSF(Microsoft Solution Framework)是微软解决方案框架。

           MSF的基本原则:

           (1) 推动信息共享与沟通

           (2) 为共同的远景而工作

           (3) 充分授权和信任

           (4) 各司其职,对项目共同负责

           (5) 交付增量的价值

           (6) 保持敏捷,预期和适应变化

           (7) 投资质量

           (8) 学习所有的经验

           (9) 与顾客合作

      4. PM:Product Manager、Project Manager、Program Manager.

          Product Manager:产品经理-正确的做产品。

          Project Manager:项目经理-正确的做流程。

          Program Manager:微软的职位名称。微软团队三足鼎立的角色分配就是PM、开发、测试。PM负责除产品开发和测试之外的所有事情。

原文地址:https://www.cnblogs.com/zkn11199/p/5564831.html