项目开发计划书
分布式文件收集备份系统
执 笔 者 xxx
日 期 2014.7.2
指导教师 xxx
二?一四 年 六 月 二十八 日
计算机科学与技术系
CDIO二级项目——大型软件项目设计与实施(一)
目 录
1 引言...................................................... 1 1.1 编写目的................................................ 1 1.2 背景
说明
关于失联党员情况说明岗位说明总经理岗位说明书会计岗位说明书行政主管岗位说明书
................................................ 1 1.3定义 .................................................... 2 1.4 参考资料................................................ 3
2 项目概述.................................................. 3 2.1工作目标 ................................................ 3 2.2工作内容 ................................................ 4
2.3主要参加人员 ............................................ 4 2(4产品及成果 ............................................. 4
2.4.1程序 .............................................. 4
2.4.2文件 .............................................. 4
2.4.3计划提供以下服务 .................................. 5
2.4.4非移交产品 ........................................ 5 2(5验收标准 ............................................... 6
2.5.1功能的验收 ........................................ 6
2.5.2代码的验收 ........................................ 6
2.5.3 文档验收.......................................... 6
2.5.4 服务验收.......................................... 6 2.6完成项目的时间 .......................................... 6 2.7本计划的审查者与批准者 .................................. 6 3 实施总设计................................................ 7 3.1 任务的分解.............................................. 7 3.2 项目计划................................................ 7 3.3接口人员 ................................................ 8 3.4进度 .................................................... 7 3.5 关键问题................................................ 9 4 支持条件.................................................. 9 4.1计算机系统支持 .......................................... 9 4.2需要用户承担的工作 ..................................... 10 4.3需由外单位提供的条件 ................................... 10 5专题计划要点 ............................................. 10 5.1质量保证计划 ........................................... 10 5.2客户培训计划 ........................................... 10 5.3安全保密计划 ........................................... 10 5.4
合同
劳动合同范本免费下载装修合同范本免费下载租赁合同免费下载房屋买卖合同下载劳务合同范本下载
计划............................................... 10
CDIO二级项目——大型软件项目设计与实施(一) 1 引言
1.1 编写目的
为了保证项目团队按时保质地完成项目目标,便于项目团队成员更好地了解项目情况,使项目工作开展的各个过程合理有序,因此以文件化的形式,把对于在项目生命周期内的工作任务范围、各项工作的任务分解、项目团队组织结构、各团队成员的工作责任、团队内外沟通协作方式、开发进度、经费预算、项目内外环境条件、风险对策等内容做出的安排以书面的方式,作为项目团队成员以及项目干系人之间的共识与约定,项目生命周期内的所有项目活动的行动基础,项目团队开展和检查项目工作的依据。
本文档将对《分布式文件收集备份系统》软件开发进行描述,本文档的读者是项目策划、设计、开发和评审人员。同时编写该文档有利我们对软件工程的原理、标准和规范的学习,提高我们团队合作互助的精神,同时培养我们对文档的编写能力。
1.2 背景说明
此“分布式文件收集系统”主要是为了对客户的重要信息进行采集和备份,避免人们的重要信息丢失,服务器将对一个客户端集群进行服务,去收集N台客户端的信息,并进行备份和管理。
此系统要求很高的稳定性,安全性和健壮性。
客户端必须保证能够采集到客户的所有重要信息,不能丢文件,少文件,只要客户端有重要的文件生成或者有那个文件改动,它必须马上检测到,并根据简单的
协议
离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载
打包发送到客户端,而且要对网络传输的功能进行优化,当文件在传输的过程中,会有很快的速度。
服务端必须保证能够为一个客户端集群进行服务,并发处理N客户端的连接请求,处理速度要快。
客户端与服务端程序都要求能够减少cpu的利用率,即占用最少的cpu时间,去完成尽可能多的任务。
此系统将在 最安全的系统------linux系统上进行开发,用最流行的编程语言-----c语言进行开发,开发出一套高性能的,C/S模式的“分布式文件收集系统”。
我们会根据小组成员的想法进行讨论,商量出一套可执行的开发
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
,在有限的时间内,开发出一套高性能的系统。
该项目周期一共有3周,项目背景规划如表1所示。
CDIO二级项目——大型软件项目设计与实施(一)
表1 项目背景规划
项目名称 项目委托单位 任务提出者 项目承担单位 项目承担者
项目组长:
分布式文 xxx 件收集备xxx大学 xxx xxx
小组成员: 份系统 xxx
1.3定义
专门术语:
Linux:
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
C语言:
C语言是一种面向过程计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。最近25年是使用最为广泛的编程语言。
Gcc:
GCC(GNU Compiler Collection,GNU编译器套装)是一套由GNU工程开发的支持多种编程语言的,高效强大的的编译器。
Makefile:
makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。
Socket:
所谓socket通常也称作"套接字",应用程序通常通过"套接字"向网络
CDIO二级项目——大型软件项目设计与实施(一) 发出请求或者应答网络请求。它提供了一套功能强大的网络编程API来供编程人员使用。
并发服务器:
不同于顺序服务器,并发服务器就要能在一个时间为多个客户端提
供服务。可以提高服务器的性能,增强服务器对客户端的处理能力。
守护进程:
在linux或者unix操作系统中在系统的引导的时候会开启很多服务,
这些服务就叫做守护进程。守护进程脱离于终端是为了避免进程在执行过程中的信息在任何终端上显示并且进程也不会被任何终端所产生的终端信息所打断。
网络协议:
为计算机网络中进行数据交换而建立的规则、标准或约定的集合。在计算机网络中,两个相互通信的实体处在不同的地理位置,其上的两个进程相互通信,需要通过交换信息来协调它们的动作达到同步,而信息的交换必须按照预先共同约定好的规则进行。
C/S模型:
Client和Server常常分别处在相距很远的两台计算机上,Client程序的任务是将用户的要求提交给Server程序,再将Server程序返 回的结果以特定的形式显示给用户;Server程序的任务是接收客户程序提出的服务请求,进行相应的处理,再将结果返回给客户程序。
1.4 参考资料
[1] 《Unix 环境高级编程》------------------W.Richard Stevens著
[2] 《Unix 网络编程,卷1》----------------W.Richard Stevens著
[3] 《C语言程序设计》-----------------Brian W.Kernighan,Dennis
M.Ritchie著
[4] 《计算机网络?第五版》-------谢希仁著
2 项目概述
2.1工作目标
功能:服务器端实现对N台客户端的并发处理,接收并备份客户端的重要信息。客户端实现对用户重要信息的监控并通过网络协议传送到服务端。
性能:安全,健壮,可扩展,高性能。
CDIO二级项目——大型软件项目设计与实施(一)
2.2工作内容
(1) 制作和修订项目开发计划;
(2) 进行计划跟踪与监控;
(3) 配合SQA的质量保证工作;
(4) 工作产品及时进行受控管理;
(5) 按计划提请阶段评审;
(6) 提交测试部门评测开发产品;
(7) 交付最终工作产品。
(8) 项目实施总结
(9) 项目验收
2.3主要参加人员
表2 小组人员名单
角色 姓名 工作描述
项目经理 xxx 负责项目的前期
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
、策划、项目发
进度的跟踪、项目质量的检查
分析师、设计师 xxx 负责系统功能分析、系统框架设计
开发者 xxx 负责软件设计与编码与测试
文档整理,资料收集 xxx 负责文档整理,资料收集
2.4产品及成果
2.4.1程序
软件名称:分布式文件收集备份系统
编程语言:C语言
开发工具:vim,gcc, linux
2.4.2文件
a.前期工作需要提供的文件:《项目开发计划书》、《需求分析规格说明书》、《概要设计说明书》、《详细设计说明书》。
b.后期需要提供的文件:《项目测试计划》、《项目测试分析报告》、
《项目开发总结报告》、《软件问题报告》、《软件修改报告》、《程序清单》。
c.向用户提供的文件:
用户操作手册:本手册详细描述软件的功能、性能和用户界面,使用户对如何使用该软件得到具体的了解,为操作人员提供该软件各种运行情
CDIO二级项目——大型软件项目设计与实施(一) 况的有关知识,特别是操作方法的具体细节。
软件维护手册:主要包括软件系统说明、程序模块说明、操作环境、支持软件的说明、维护过程的说明,便于软件的维护。
2.4.3 计划提供以下服务:
课堂培训:以讲课形式对客户进行培训,使其能够正确使用软件。为用户提供方便的订、退房服务,为酒店提供管理房间、收费等服务。
免费咨询:客户可以在工作时间向技术人员提出问题并获得解答。
技术支持:对于某些客户,采取上门指导的方式。
软件维护:获取软件使用中的问题,提供补丁程序。
升级通知:在软件新版本发布的时候,及时通知(Email或邮寄信件)注册的用户,并提供试用版本。
软件升级:对于注册用户,只需较少的费用即可升级到新的版本。
2.4.4非移交产品
(1)项目开发计划书:为软件项目实施方案制订出具体计划,应该包括各部分工作的负责人员、开发的进度、开发经费的预算、所需的硬件及软件资源等。
(2)项目需求规格说明书:对所开发软件的功能、性能、用户界面及运行环境等做出详细的说明。它是在用户与开发人员双方对软件需求取得共同理解并达成协议的条件下编写的,也是实施开发工作的基础。该说明书应给出数据逻辑和数据采集的各项要求,为生成和维护系统数据文件做好准备。
(3)概要设计说明书:该说明书是概要实际阶段的工作成果,它应说明功能分配、模块划分、程序的总体结构、输入输出以及接口设计、运行设计、数据结构设计和出错处理设计等,为详细设计提供基础。
(4)详细设计说明书:着重描述每一模块是怎样实现的,包括实现算法、逻辑流程等。
(5)项目测试计划:为做好集成测试和验收测试,需为如何组织测试制订实施计划。计划应包括测试的内容、进度、条件、人员、测试用例的选取原则、测试结果允许的偏差范围等。
(6)项目测试分析报告:测试工作完成以后,应提交测试计划执行情况的说明,对测试结果加以分析,并提出测试的结论意见。
(7)项目开发总结报告:软件项目开发完成以后,应与项目实施计划对照,总结实际执行的情况,如进度、成果、资源利用、成本和投入的人力,
CDIO二级项目——大型软件项目设计与实施(一) 此外,还需对开发工作做出评价,总结出经验和教训。
(8)软件问题报告:指出软件问题的登记情况,如日期、发现人、状态、问题所属模块等,为软件修改提供准备文档。
(9)软件修改报告:软件产品投入运行以后,发现了需对其进行修正、更改等问题,应将存在的问题、修改的考虑以及修改的影响做出详细的描述,提交审批。
(10)源程序:软件开发过程中的全部代码以及注释。
2.5验收标准
2.5.1功能的验收
服务器端实现对N台客户端的并发处理,接收并备份客户端的重要信息。客户端实现对用户重要信息的监控并通过网络协议传送到服务端。客户端保证不丢失文件,服务端保证能对N台客户端的并发处理。
2.5.2代码的验收
最后在交付客户之前进行小组内评审,代码编写符合HB6465标准,与文档说明保持一致,代码书写风格统一,采用标准规范,没有下列错误:由于软件缺陷造成丢失数据,不符合设计要求,响应时间太长无法接受等问题。
2.5.3 文档验收
最后在交付客户之前进行小组内评审,文档格式符合HB6465标准, 功能符合与客户的合同要求,清晰易读,没有语病与歧义。
2.5.4 服务验收
服务硬件达到文档说明的要求,人员技术考核合格,定期上门维护。
2.6完成项目的时间
从2014年6月23日开始至2014年7月1日,完成对整个系统的开发计划说明书、需求分析规格说明书、概要说明书、详细说明书、项目测试、项目总结,对概念模型、存储模式、完整性控制、安全性控制、存取权限等进行了定义,对系统功能各模块进行了详细设计,定义了数据库总体结构、编码命名规范,并交付用户。交付日期为2014年7月3日。
CDIO二级项目——大型软件项目设计与实施(一)
2.7本计划的审查者与批准者
本系统由客户提出,自2014年6月23号正式批准。
3 实施总设计
3.1 任务的分解
表3 工作情况
工作内容 负责人
项目开发计划 xxx
需求分析 xxx
概要分析 xxx
详细分析 xxx
测试计划 xxx
项目开发总结报告 全体人员
用户操作手册 xxx
软件安装、测试 xxx
用户培训 xxx
后期维护 xxx
A 软件规划
系统流程分析:画出流程图。
系统功能结构: 画出功能图。
计划评审:依据用户需求进行计划评审,评审委员签字。 B需求开发:系统设计,修改需求、功能,编写说明书。 C文档提交:相应文档的完成以及验收、提交系统。
3.2 项目计划
表4 项目计划表
CDIO二级项目——大型软件项目设计与实施(一) 任务名称 工开始时间 结束时负责人 成果
期 间
分布式文件收集备份 10 2014-6-23 2014-7-3 项项目规划 2 2014-6-23 2014-6-23 xxx 《项目计划书》 目 系统流程
计功能结构
划
需功能设计 2 2014-6-23 2014-6-23 xxx 《需求分析说明书》 求 修改需求
分编写说明书
析 需求验证
概客户端基本功能 2 2014-6-23 2014-6-23 xxx 《概要设计说明书》 要服务端基本功能
设
计
系统基本流程设计 2 2014-6-23 2014-6-23 xxx 《详细设计说明书》 详功能详细流程设计
细编写设计说明书
设设计确认
计
任主要任务说明 1 2014-6-23 2014-6-23 xxx 《任务书》 务
书
提提交文档 1 2014-6-23 2014-6-23 全体 《项目开发总结》 交 验收成果
3.3接口人员
运行并给客户演示,在后期中负责维护和更新。
负责本项目同用户的接口人员为王鹏,按客户要求,指定地点安装,
调试,
3.4进度
方法:采用结构化开发
设置模块开发优先级:通过对需求的分析,确定各模块开发的先后次
序。
CDIO二级项目——大型软件项目设计与实施(一) 具体开发进度安排如下:
注:有五个里程碑,分别是需求完成时、概要设计完成时、详细设计
完成时、系统编码完成时、整个项目工作完成时。 3.5 关键问题
表5 项目风险因素
风险排序 风险项名称 风险描述 风险缓解方案
本次项目开发过程中涉
专业基础知识不1 及的知识较多,给项目开进行相应的培训 牢
发人员带来一定的困难
成员开发经验不足,使项2 经验欠缺 只有通过不断的实践
目质量难以保证
本次开发过程中部分软选择合适的软件,搭建
3 软件性能的影响 件可能容易出现死机现良好的配置开发环境 象
影响本计划完成的主要问题有:
(1) 对linux操作系统使用熟练程度
(2) 在c语言开发应用程序的禁烟不足
(3) 配置文件的设计
(4) 网络传输模块的设计
(5) 监控系统的设计
4 支持条件
4.1计算机系统支持
PC机一台;
内存256MB以上;
硬盘40MB以上;
CD,ROM:16倍速以上;
网络适配器:10MB/100MB自适应;
打印机一台;
Linux操作系统
CDIO二级项目——大型软件项目设计与实施(一)
4.2需要用户承担的工作
用户需要配合开发者进行需求分析,全程监督开发者的开发进度,最后对开发结果进行验收。配备相应硬件系统,做到规范操作,备份好数据防止数据丢失,软件交付日期为软件安装测试人员提供环境。
4.3需由外单位提供的条件
本系统为独立开发,不需要外单位提供条件。
5专题计划要点
项目实现过程由全组人员(王鹏,陆桂华,刘延召,张荣荣,姚晓媛)共同实现,其中王鹏为主要负责人。
5.1质量保证计划
严格按照项目开发过程中的各项步骤,从项目立项,项目开发计划、需求分析报告、系统设计、系统实现、系统测试、维护等,具体实施。
5.2客户培训计划
在软件实际应用后的前一个月,对用户进行软件操作方法的具体培训。
5.3安全保密计划
在从项目开发阶段到最后软件的正式发布期间,做好项目的保密工作,小组成员对所有项目所有相关文档进行加密,做好备份工作。
5.4 合同计划
和客户协商签订软件使用合同。