青岛理工大学亲岛学院课程设计(论文)课程名称软件项目管理题目名称学生社团管理系统学生学部(系)计算机与艺术设计学部专业班级XX计算机科学与技术X班学号XXXXXX学生姓名XXX指导教师XXXXX2009年03月05日一、选题背景1.1、课题概述设计这个学生社团管理系统的初衷,是为了使学校能够更好地管理本学院繁多的学生社团,以及方便学生更好地了解各个学生社团的信息,从而丰富学生的课余生活。本学院自建校以来,师生队伍不断壮大,有越来越多来自五湖四海的莘莘学子成为本学院的一份子。在为了学业奋斗的同时,丰富的课余生活也成为同学们的追求之一。各式各样的学生社团先后成立,实现了同学们的愿望。但是学院对于社团的管理过于繁复,申请创立社团的手续也过于繁琐,这既阻碍学生社团的发展,也降低学院的工作效率。于是设计一个符合本学院要求的管理系统的设想便应运而生。1.2、项目需求简述设计这个学生社团管理系统,需要达到以下几个要求:1)功能问题:学生社团管理系统必须能够达到要求的功能,才能满足各种不同种类的用户对该系统的要求。例如申请创建社团功能、审批功能、社团活动提交功能、社团成员个人信息提交功能等等。2)权限问题:权限问题解决一个什么用户登入系统得到一个什么样的操作的问题。该系统必须能够正确识别在什么用户对系统进行操作的时候能够实现那些功能,屏蔽那些功能。3)效率问题:学生社团管理系统,顾名思义就是对学生社团的各种相关操作进行有效的管理。尽可能的缩短各个操作的手续和操作时间,提高运作效率,是该系统的重要特点。4)维护问题:该系统要便于维护,并能精准地进行每天的数据交流和保存。这要求整个系统的结构不仅要严谨,而且要具有较高的数据处理能力。1.3、系统框架结构图管理申请加入发布信息通知信息阅读评论阅读录入数据登出登入管理系统信息发布主界面欢迎界面(非学院访问者)学院成员访问端界面社团成员使用端界面社团管理系统数据库社团管理端界面提交信息申请创建学院管理端界面阅读评论图1.1系统框架结构图二、软件项目需求管理因为本项目是以学生的角度出发进行需求调研,所以无论是从专业知识的角度还是从需求说明的角度都已经比较完善。尽管如此,随着项目的发展,同时身兼用户的开发者也会有可能因为经验的增加而发现一些不合理或缺少的需求,必然会引起需求变更。为了避免不必要的需求变更,在开发《学生社团管理系统》需求的时候,项目组必须确定需求规格。因为开始的时候,界面无法表述,故本项目采用原型分析方法确定需求。根据需求,本系统应该提供统一的登录界面,然后通过判断登录IP地址(即判定是本学院的局域网登录还是来自广域网的非本学院访问者的登录)及ID(即判断是学院管理者、社团管理者、社团成员还是非社团成员的学院学生的登录)来给出相应的使用界面。通过不同的使用界面都能够连接到管理系统的信息发布主界面,但是不同性质的用户对该界面的操作权限各不相同。同时系统还必须设置一个数据库存放社团及社团成员的信息,以便社团的管理。2.1、根据讨论,该系统将“管理系统信息发布主界面”作为所有用户共同享有的主平台。不同用户将根据自己的用户性质享有对应的操作权限。2.2、如果用户以非本学院访问者的角色登录界面(即在IP段来自广域网、没有输入社团成员ID和口令的情况下登录),则进入“欢迎界面”。非本学院访问者几乎没有任何权限,他享有的只有一个,就是对“信息发布主界面”的阅读权限。这是为了避免外人发布恶意信息及蓄意破坏而设置的。但同时保留阅读权限也使得非本学院的访问者能够通过“信息发布主界面”了解学院社团的运作和活动,为社团提供一个对外展示的平台。2.3、如果用户以学院成员访问者的角色登录界面(即在IP段来自学院局域网,没有输入社团成员ID和口令的情况下登录),则进入“学院成员访问端界面”。学院成员访问者享有对“信息发布主界面”的阅读和评论权限,可以对社团发布的信息提供建议或反馈。学院成员访问者还享有对“社团成员使用端”的登入权限、对“学院管理端”发出申请创建社团的申请权限以及对“社团管理端”发出申请加入社团的申请权限。2.4、如果用户以社团成员访问者的角色登录界面(即在输入社团成员ID和口令的情况下登录),则进入“社团成员使用端界面”。社团成员访问者享有对“信息发布主界面”的阅读、评论以及所属社团信息获取的权限。社团成员访问者还可以在“社团成员使用端”中修改自己的个人信息,并由系统提交到所属社团进行备案,最后归入“系统数据库”进行存档。2.5、如果用户以社团管理者的角色登录界面(即在输入社团成员ID和口令后,系统确认ID为社团管理者身份的情况下),则进入“社团管理端界面”。社团管理者享有对“信息发布主界面”的阅读、信息发布和评论管理权限。社团管理者还享有在“社团成员使用端”中修改自己的个人信息,并对社团成员所发送的个人信息提交和修改进行备案的权限,对“学院成员访问端”的申请加入的审批权限,以及对系统数据库进行数据管理的权限。2.6、如果用户以学院管理者的角色登录界面(即在输入ID和口令后,系统确认ID为学院管理者身份的情况下),则进入“学院管理端界面”。学院管理者是特殊的用户,是该系统的管理员,负责对该系统进行日常的管理维护。学院管理者只拥有对“学院成员端”发出的申请创建社团的审批权限,以及对“社团管理端”的发布信息的合规性的审批权限。这样可以确保学生社团在遵守各项规章制度的前提下自主发展。本项目最终确认了采用原型分析方法所进行需求分析的结果,由于采用了进化型原型,在后续的开发过程中沿用了原形中的界面和相关的内容说明,因此在项目实施过程中的变更比较少,而且项目管理过程中对需求变更控制得也比较好。最终确认将一些在开发过程中的额外设想放在二期,或者单独成立一个项目来实施。从而取消了增加额外功能的需求。三、软件项目估算与进度管理《学生社团管理系统》的开发,是建立在资金充足的前提条件下的(项目资金100万)。由于开发资金宽裕,所以开发过程自由度较高。根据最终的决定,本项目将需要4~5个开发人员,2个月左右的开发时间,基本上是8~10人月的规模,所以,初步估计为24~30万的项目启动价格。3.1、本项目将各项资源的分配如下:人力资源:5个开发人员1个项目管理人员1个项目质量人员1个配置管理人员设备资源5台电脑1台服务器表3-1项目规模估算表注:规模单位为人天名称估计值(人天)小计(人天)总计(人天)1登录版块251.1身份识别201.2权限52非学院访问者版块23学院访问者版块53.1发送申请54社团成员版块184.1个人信息54.2社团关联84.3信息获取55社团管理版块155.1成员管理105.2信息发布56学院管理版块156.1审核56.2维护107数据库208主界面101103.2、计算开发成本参照文献计算开发成本,将如下分析:a)管理任务和质量任务=30%×开发任务。b)从表3-1得知项目规模是110人天,假设开发人员参数=1000元/天,则内部开发成本=1000元/天×110天=110000元。3.3、计算管理、质量成本a)项目的管理和质量成本=开发成本×30%=33000元。3.4、计算直接成本a)项目的直接成本=110000+33000=143000元。3.5、计算间接成本a)根据文献,采用公式:间接成本=30%×直接成本=42900元。3.6、计算总估计成本a)项目总估算成本=143000+42900=185900元。b)根据情况,需为该系统添加一套服务器,价值为385000元。3.7、重新评估项目的报价a)重新评估一下项目的报价准确性。b)项目利润如果是40%,其中风险基金15%,利润20%,税费5%。则项目的总报价=185900×140%=260260元。c)最终花费=260260+385000=645260元。d)剩余的款项将作为日后系统及硬件设施的日常维护支出。3.8、成本的跟踪控制在项目跟踪控制的每个阶段,会根据项目的具体情况重新估算,预测项目完成后的成本。四、软件项目配置管理本项目的配置管理计划如下:4.1、组织和职责1)根据《项目计划》中的角色分配,确定配置管理者,SCCB(配置控制委员会)成员。2)项目经理室SCCB的负责人。4.2、配置管理环境由于本项目属于中小型项目,工期也不是很长,参照文献,将采用SourceSafe作为配置管理工具。1)目录结构(见表4-1)表4-1配置库的目录结构内容说明路径TCM技术合同管理$\prj-corporation\TCMRM需求管理$\prj-corporation\RMSPP软件项目规划$\prj-corporation\SPPSPTO软件项目跟踪与管理$\prj-corporation\SPTOSCM软件配置管理$\prj-corporation\SCMSQA软件质量保证$\prj-corporation\SQASPE软件产品工程设计$\prj-corporation\SPE\DESIGN源代码$\prj-corporation\SPE\SOURCECODE目标代码$\prj-corporation\SPE\BUILD测试$\prj-corporation\SPE\TEST发布$\prj-corporation\SPE\RELEASE4.3、配置管理活动1)配置项标示a)命名规范本项目文件命名规范由4个字段组成,从左到右一次为:项目、类型、编号和版本号。这些字段用一横线(-)分隔。b)主要配置项(见表4-2)表4-2配置项列表类型主要配置项标示符技术合同《合同》QTD-corporation-TCM-Contract-V1.0SOWQTD-corporation-TCM-SOW-V1.0计划《项目计划》QTD-corporation-SPP-PP-V1.0《质量保证计划》QTD-corporation-SPP-SQA-V1.0《配置管理计划》QTD-corporation-SPP-SCM-V1.0需求《需求规格说明书》QTD-corporation-RM-SRS-V1.0用户DEMOQTD-corporation-RM-Demo-V1.0设计《总体设计说明书》QTD-corporation-Design-HL-V1.0《数据库设计》QTD-corporation-Design-DB-V1.0《详细设计说明书》QTD-corporation-Design-LL-V1.0《设计术语及规范》QTD-corporation-Design-STD-V1.0编程《源程序》QTD-corporation-Code-ModuleName-V1.0《编程规则》QTD-corporation-Code-STD-V1.0测试《测试计划》QTD-corporation-Test-Plan-V1.0《测试用例》QTD-corporation-Test-Case-V1.0《测试报告》QTD-corporation-Test-Report-V1.0提交运行产品QTD-corporation-Product-Exe-V1.0《验收报告》QTD-corporation-Product-Report-V1.0《用户手册》QTD-corporation-Product-Manual-V1.0c)项目基线(见表4-3)表4-3基线发布计划基线名称/标示符基线所包含的主要配置项需求《需求规格说明书》、用户DEMO总体设计《总体设计说明书》、《数据库设计》项目实现软件源代码、编码规则系统测试《测试用例》、《测试报告》2)变更管理3)配置状态统计五、软件项目风险管理表5-1风险分析表排序风险事件可能性影响风险值采取的措施1设计困难70%50%30%1.采取加班的方法2.修改计划2进度要求紧30%50%15%1.延长时间2.请临时工(有专业知识的学生)3开发人员的流动10%70%10%1.注意项目团队的沟通,几时交接开发人员的动态2.控制好项目过程中的文档3.从外部招聘有过此类开发经验的人员六、软件项目质量管理经过测试,本项目的效率和维护性都很完善,其他属性也能达到用