zoukankan      html  css  js  c++  java
  • 一份软件项目的失败报告

    就像某人说的失败并不可怕,可怕的是不知道从失败中吸取教训。


    前言
    本项目的目的是构建一个在线的考试系统,功能包括在线考试、用户管理、题库管理、试卷管理、教师批改、分数统计分析等。系统使用Java技术、Oracle数据库。开发人员计划为4人。时间周期为一个月。



    项目概述
    一、计划的制定
    一个月简单分为4周,第一周完成界面设计、数据库设计、对象设计、平台搭建等工作。
    第二周完成对象模块的开发。
    第三周完成页面的开发。
    第四周进行测试与完善工作。

    二、软件框架
    采取四层结构,由底向上依次是:
    Hibernate->Spring->Struts->JSP+JSTL+DWR
    DAO->Model->Controller->View

    三、人员配置   
    一个leader(M)+三个组员(A、B、C)

    四、任务划分
    M的任务1是:对象设计、平台搭建;
    A的任务1是:界面设计;
    B的任务1是:数据库设计;
    c的任务1没有。

    M的任务2是:用户管理模块、在线考试模块;
    A的任务2是:题库管理模块;
    B的任务2是:试卷管理模块;
    c的任务2是:教师批改模块、分数统计分析模块。


    失败原因
    一、计划偏差
    如果是设计优秀的软件,在模块开发上花的时间应该是页面开发所花时间的N倍(视软件的大小与复杂度),简单的给这两个部分一周时间不太合理。实际的情况也是这样,到项目结束的时候,很多模块都只完成了基本的部分,即没有开发完成。
    教训:做需求时只能预估项目的计划。计划的具体制定应该在设计工作完成后考虑。

    二、风险管理
    在项目组中,每个人都有自己的繁重任务,可是在第二个星期时,组员C因为特殊情况退出了项目组,于是他所负责的模块空置一旁。因为没有预料到这个突发情况,项目组也没法再添加组员进来。
    教训:M应该有处理组员突然离开风险的准备。

    三、时间控制
    项目总的时间只有一个月,但是四位成员全部都有其他重要的事务须处理,这些其他的工作至少用掉每个成员10天的时间。项目进度因此严重滞后。
    教训:M已经知道成员们会分心处理其他的事务,且项目时间无法延长的情况下,在需求和设计时应该压缩功能。

    四、技术问题
    对项目组的四位成员来说本次软件的框架都不太熟悉,在项目的开发过程中都经历了一个了解熟悉的过程。这样的一个过程也让项目的进度跟着拖累。并且由于对技术的不熟悉,成员们的开发效率也是令人头痛的问题。
    教训:作为程序员应当熟悉软件开发中的各项技术,平时就需要磨练自己的技艺,不能抱着到实际项目中用用就会的思想。对于项目的计划制定者也需要将项目成员的技术问题考虑到,留出一定的时间学习是必要的。


    项目结果
    从后台到页面全部完成的模块有用户管理、题库管理。其它模块都在半完成或没启动状态。 
  • 相关阅读:
    Power BI 根据用户权限动态生成导航跳转目标
    Power BI Tooltips 增强功能
    Power BI refresh error “could not load file or assembly…provided impersonation level is invalid”
    SQL 错误代码 18456
    如何使用SQL Server Integration Services从多个Excel文件读取数据
    通过表格编辑器将现有表引入Power BI数据流
    Power BI 中动态增长的柱状图
    ambari2.7.3离线安装hdp3.1.0时,ambari-hdp-1.repo中baseurl无值
    ambari 安装 cannot download file mysql-connector-java from http://8080/resource/mysql-connector-java.jar
    洛谷P4180 [BJWC2010]严格次小生成树
  • 原文地址:https://www.cnblogs.com/wolflion/p/2539200.html
Copyright © 2011-2022 走看看