软件开发进度报告.docx
《软件开发进度报告.docx》由会员分享,可在线阅读,更多相关《软件开发进度报告.docx(32页珍藏版)》请在冰豆网上搜索。
![软件开发进度报告.docx](https://file1.bdocx.com/fileroot1/2023-6/7/e7ce67e1-9365-4341-9dda-094e7014e8d8/e7ce67e1-9365-4341-9dda-094e7014e8d81.gif)
软件开发进度报告
销售合同管理系统
项目名称销售合同管理系统
项目负责人王巍
项目开发单位北京信息科技大学
一、问题定义
1.背景
2.项目目标
3.项目范围
4.系统设计设想
二、可行性研究
1.引言
2.可行性研究的前提
3.对现有系统分析
4.所建议的系统
三、需求分析
1.引言
2.任务概述
3.需求规定
4.运行环境规定
四、总体设计
1.引言
2.总体设计
3.接口设计
4.运行设计
5.系统数据结构设计
6.系统出错处理设计
五、详细设计
1.引言
2.用户管理程序USER()设计
3.更新程序UPDATE()设计
六、面向对象
1.对象模型
2.动态模型
3.功能模型
七、课程设计总结
一、问题定义
销售合同管理系统是一套针对企业产品销售合同方面的电脑信息管理系统,它包括了企业在产品销售合同上的各方面内容:
销售合同的样本、查询、更新,客户信息管理等。
方便的对合同项目进行各项操作,定时进行数据的备份更新,保持数据的一致性和准确性,各方面的内容应该相互联系,最终产生各种查询统计报表,以供企业进行参考和决策。
销售合同管理系统的主要任务就是把人们从繁琐的合同处理工作中解放出来,用计算机实现对销售合同资料进行查询、修改、增加、删除以及存储等功能。
同时,用计算机能够快速准确地完成共档案资料的统计和汇总工作,迅速地打印出各种报表资料以供使用。
进行数据库设计的首要任务是考虑信息要求,也就是数据库要存入什么样的数据。
当然,创建数据库并非仅仅为了存储数据,更主要的目的是从中提取有用信息。
所以除了要考虑数据库存储什么数据外,还应该考虑数据的存储方式、目的、用途以及性能要求。
1.背景:
用户通过用户名和密码登陆系统,根据用户名和密码和判断该用户是否是合法用户,同时判断该用户的类别,是管理员用户,还是普通用户,由此来授予该用户不同的功能和权限。
管理员可以对系统进行增加条款、删除条款、修改条款等操作,而普通用户之能进行查询和打印的操作。
2.项目目标:
建立销售合同管理系统,使管理员和拥护和客户都能够方便的进行销售合同的查询。
3.项目范围:
硬件和软件利用现有微机和数据库等软件进行系统的开发和研制。
4.系统设计设想:
该系统具有数据处理(合同项目的增加和删除)、合同修改、多种方式合同查询、合同备份、以及多种条件方式的打印。
5.可行性研究:
进行5—10天的可行性研究。
二、可行性研究
1.引言
1.1编写目的:
进一步分析和澄清问题定义,推导出系统的逻辑模型,对以后的行动方针提出建议。
预期的读者为软件开发管理人员,开发人员(主要是需求分析员),还有企业销售部门管理人员。
1.2背景:
开发的软件系统的名称:
销售合同管理系统
本项目的任务提出者:
软件工程课程设计
开发者:
王巍
用户及实现该软件的计算站:
图书馆计算机中心
1.3定义:
本文件中用到的专门术语的定义及外文首字母词组的原词组:
(1)系统流程图:
用图形符号以黑盒子形式描绘系统的每个部件(程序,文档,数据库,人工过程)。
表达数据在系统各部件之间流动的情况。
(2)数据流图(DFD):
没有任何具体的物理部件,描绘信息流和数据从输入移动到输出的过程中经受的变换。
(3)数据字典(DD):
是对数据流图中包含的所有元素的定义的集合。
其内容为数据流、数据元素、数据存储、处理。
1.4参考资料
《软件工程导论》(第四版)张海藩编著清华大学出版社
《软件工程——技术,方法与环》王立福北京大学
《软件工程》邓良松刘海岩陆丽娜编著西安电子科技大学
《UML与RationalRose2002从入门到精通》邱仲潘等译电子工业出版社
2.可行性研究的前提
2.1要求
本《销售合同管理系统》应该包括:
合同管理、发货管理、开票管理、资金回收管理以及客户管理、产品信息管理、销售人员考核等方面的内容。
各方面的内容相互联系,最终产生各种查询统计报表,供企业进行参考和决策。
2.2目标
主要开发目标是能够对企业销售合同进行查询和更新管理,而且具有较强的兼容性。
2.3条件、假定和限制
系统必须具备企业销售合同进行查询和更新管理等基本功能。
2.4进行可行性研究的方法
这项可行性研究是通过参考现有软件的基本功能,以及自己对销售方面的认识进行(比较遗憾的是缺少专业知识的支持)。
从以下几个方面研究解法的可行性:
(1)经济可行性分析:
从开发软件系统所需的总时间,总费用,及其中可行性研究所需的费用,以及系统软件开发完成后,所能预计的市场占有率等方面进行考虑,看该软件系统是否能达到一定的经济效益。
(2)技术可行性分析:
由于新的系统需要对变化的数据进行动态的存贮,即数据库中数据要随着管理员对系统的操作来随时更新,并且具有定时数据备份功能。
因此要从技术角度方面研究者性功能是否可以是实现。
(3)操作可行性分析:
要分析设计出的系统在用户的操作上是否简便,这一点很重要,因为它会影响到用户对该系统的反应。
3.对现有系统的分析
3.1工作负荷
人工处理所承担的工作包括需要接收合同、审查合同的新合同,查询、更新生效的合同、有选择保存和删除已失去法律效力的旧合同。
其工作繁琐,枯燥,容易出错,完成工作所需要的时间较长,工作效率比较低。
3.2人员
由于现有系统的技术性含量比较低,操作不便,工作量大,因此需要较多的人才能完成工作。
而新系统将具有较高的技术操作性,但它确使工作变得较为简便,因此只需要少量的高素质人才就可完成。
3.3设备
除使用计算机进行软件开发外,同时还要进行软件的演示操作和维护,在设计过程中要使用的开发软件:
MicrosoftVisio、RationalRoseEnterpriseEdition
3.4费用开支
人工处理需要比较多的技巧熟练的职员负责各自工作,企业不仅要为大量时间付出代价,还要为员工付出报酬。
3.5局限性
人工处理的主要局限性表现在系统依赖于大量的人力和物质投入,工作效率较低和成本较高。
4.所建议的系统
4.1对所建议系统的说明
每一次的合同的更新(添加、删除、修改)对于系统来说都是一个新的事务,当系统接到这个事务时,首先判断客户编号是否存在,如果不存在,提示管理员运行客户信息程序,新增该客户;运行销售合同程序,输入新合同序号,进行数据的更新操作;如果存在,提示管理员直接输入新合同的编号,进行数据的更新操作。
在数据更新操作完成后系统自动进入数据备份程序,对数据进行备份,存储在磁盘上。
可根据管理员的要求,将操作信息及数据信息打印。
4.2处理流程和数据流程
处理流程
销售合同系统处理流程图
数据流程
销售合同系统顶层数据流图
数据字典
数据字典应该有四部分组成:
数据流条目
数据流分量条目
数据存储条目
处理条目
数据字典如下:
合同编号=[数字|字母]客户名称=[汉字|数字]
电话号码=[横线|数字]传真号=[数字]
地址=[汉字|数字|字母]邮编=[数字]
序号=[数字|字母]产品名称=[汉字|数字|字母]
价格=[数字|小数点]用户名=[汉字|字母|数字]
密码=[汉字|字母|数字]
数据元素的数据字典卡片:
合同信息
名字:
合同信息别名:
描述:
记录合同的相关信息
定义:
合同信息=合同编号+序号+产品名称+产品单价
位置:
数据库
职员信息
名字:
职员信息别名:
描述:
记录职员的信息
定义:
职员信息=编号+姓名+性别+工龄+职位
位置:
数据库
客户信息
名字:
客户信息别名:
描述:
记录客户的信息
定义:
客户信息=合同编号+客户名称+电话号码+传真号+地址+邮编
位置:
数据库
4.3改进之处
相对于原有系统,新系统较大的方便了管理员的工作。
首先,它可以将相同客户的不同合同统一存贮,这种操作的空间很大,同时有利于数据的一致性,而原有系统在这方面的扩展性着较差,在数据的一致性方面也很不好。
第二,数据存储后具有自动备份,对于数据的保护也较原系统好。
4.4影响
1对软件的影响:
新系统使用具有较高技术的软件(例如数据库软件等)
2对对象的影响:
新系统要求对客户、合同、操作人员有较为详细地记录,在其它方面没有什么带大的变化。
3对系统运行过程的影响:
系统的运行更加高速、有效。
4对开发的影响:
新系统的开发环境要求不高,只需要现有设备就可以完成,且不会在开发过程中影响到现有系统的使用。
5对地点和设施的影响:
开发新系统不用考虑地点等方面的问题。
6技术条件方面的可能性
开发新系统的技术虽较现有系统比较先进,但总的来看,这些技术均已比较成熟,因此新系统的俄开发在技术方面应该不会有带大的困难。
5.可选择的其他方案
目前与要开发的该系统相类似的系统在国能外也有,其中不乏应能较好的产品,但购买后每年所需支付的经济费较高,而新开发既可满足要求,费用也相对比较核算,是一种较好的方法。
6.投资效益分析
新系统开发完成后,只需要2~3面管理员,大大减少的人员方面的开支,同时由于数据冗余度也大大降低,在物质方面也降低了开销,因此会有较好的市场效益。
7.法律方面的可行性
新系统的开发完全独立进行,因此在法律上完全合法。
8.结论
通过技术、经济、具体操作等方面的研究可知,新系统可开发风险较低,可以开始进行具体的开发工作。
三、需求分析
1引言
1.1编写目的
需求分析是软件系统生存期中定义阶段的最后一个步骤。
这个阶段的任务不是具体解决问题,而是准确确定为解决问题系统必须具备哪些功能。
这个阶段的一个重要任务是用正式的文档准确地记录目标系统的需求。
该文档将最终交给软件具体的开发人员进行具体的开发。
1.2背景
开发的软件系统的名称:
Sale-wellv1.0销售合同管理系统
本项目的任务提出者:
软件工程课程设计
开发者:
刘建
实现该软件的计算站:
图书馆计算机中心
1.3定义
本文件中用到的专门术语的定义和外文首字母词组的原词组。
实体—联系图(E-R图):
包含实体(即数据对象)、关系和属性。
作为用户与分析员之间有效交流的工具。
状态转换图:
通过描绘系统的状态及引起系统的状态转换的事件来表示系统的行为。
提供行为建模机制。
层次方框图:
用树形结构的一系列多层次的矩形框描绘数据的层次结构。
输入-处理-输出图(IPO图):
方便描绘输入数据、对数据的处理和输出数据之间的关系。
1.4参考资料
《软件工程导论》(第四版)张海藩编著清华大学出版社
《软件工程——技术,方法与环》王立福北京大学
《软件工程》邓良松刘海岩陆丽娜编著西安电子科技大学
《UML与RationalRose2002从入门到精通》邱仲潘等译电子工业出版社
2.任务概述
2.1目标
主要开发目标是能够对企业销售合同进行查询和更新管理,且具有较强的兼容性。
2.2用户的特点
新系统的管理员(维护人员)需要具备相当的数据库专业技能和销售合同的相关知识。
由于系统的界面清晰、美观,操作简单、方便,所以操作人员只需要具备一定的电脑操作技能即可。
本系统可以极大的提高工作效率,预期使用频度较高。
2.3假定和约束
系统的规模较小,适于Windows和UNIX操作系统,SQL数据库系统。
3.需求规定
3.1对功能的规定
(1)更准确的数据流图
(2)更准确的流程图
(3)动态数据
动态数据包括程序运行时输入和输出的数据,具体是数据库的各个表的各个不同元组与属性值,就查阅信息。
数据库描述
本系统的实体有:
销售合同、销售合同订单,它们之间的关系是一对多的。
E-R图如下:
(4)更准确的数据字典
客户信息
列名
数据类型
描述
客户名称
NAME
Char(20)
个人/公司名称
电话号码
TEL
Char(20)
电话号码
地址
ADD
Char(20)
个人/公司地址
邮编
MAIL
int
个人/公司邮编
传真号
CH_ZH
int
个人/公司传真号
电子邮箱
EMAIL
Char(20)
个人/公司电子邮箱
合同信息
列名
数据类型
描述
合同序号
ID
Long
合同加入的次序
合同编号
NO
Char(20)
合同的注册编号
产品名称
Date
Char(20)
产品名称
产品单价
PRICE
Long
产品单价
产品数量
NEMBER
Long
产品数量
职员信息
列名
数据类型
描述
编号
NO
int
在公司中的编号
姓名
NAME
Char(20)
职员姓名
性别
SEX
Char(20)
职员性别
工龄
TIME
int
职员工龄
职位
POSI
Char(20)
职员职位
3.2对性能的规定
3.2.1精度
输入数据:
查询最大查询范围5年内,一次可要求打印100个合同;
用户名/密码合法;客户信息合法;
输出数据:
每张报表内最多有20个合同名称;
可打印合同副本(不打印签字信息以确保暂时无效);
3.2.2时间特性要求
响应时间不超过20秒;
3.2.3灵活性
可自动生成各类合同样本;自动/手动存储数据入库;
3.3故障处理要求
数据库连接出错时,参考“帮助”,有详细的解释和连接步骤;
当响应时间超过20秒时,系统自动存储数据,提示用户重新登录;
当计算机突然死机、重启、断电时自动存储数据,确保重新登录后继续修改和完善;
3.4其他专门要求
普通使用人员只能进入普通界面,系统管理员还可以进入管理员界面;
界面清晰、美观,操作简单、方便。
所有数据存储在服务器端,数据存储安全可靠。
4运行环境规定
4.1设备
a.处理器型号及内存容量
b.外存容量、联机或脱机、媒体及其存储格式,设备的型号及数量
c.输入输出设备的型号和数量,联机或脱机
d.数据通信设备的型号和数量
e.功能键及其他专用软件
4.2支持软件
列出支持软件,包括要用到的操作系统、编译程序、测试软件等
4.3接口
说明该系统统其它系统之间的接口、数据通信协议等
4.4控制
说明控制该系统的运行的方法和控制信号,并说明这些控制信号的来源。
四、总体设计
1.引言
1.1编写的目的
总体设计的主要任务是设计程序的体系结构,也就是确定程序有哪些模块组成以及模块计的关系。
总体设计过程首先寻找实现目标系统的各种不同的方案,需求分析阶段得到的数据流图是设想各种可能方案的基础。
然后分析员从这些供选择的方案中选取若干个合理的方案,为每个合理的方案都准备一份系统流程图,列出组成系统的所有物理元素,进行成本/效益分析,并且制定实现这个方案的进度计划。
分析员应该综合分析比较这些合理的方案,从中选出一个最佳方案向用户和使用部门负责人推荐。
如果用户和使用部门的负责人接受了推荐的方案,分析员应该进一步为这个最佳方案设计软结构,通常,进行必要的数据库设计,确定测试要求并且是定测试计划。
1.2定义
总体设计——又叫概要设计,主要是确定系统的具体实施方案和确定软件结构。
2总体设计
IPO图并不能得到很好的体现出H图(层次图),所以在下面增添了一个HIPO图以及后边的层次图,以方便突出不同的重点。
HIPO图(层次图加输入/处理/输出图),为了能使HIPO图具有可追踪性,在H图(层次图)离除了最顶层的方框之外,每个方框都加了编号。
如下:
层次图:
3.接口设计
3.1用户接口
(1)用户类别:
User/admin分别进入普通用户/管理员界面;
(2)查询菜单
客户信息—进入客户信息界面;
职员信息--进入职员信息界面;
退出--退出本菜单
(3)更新菜单
添加--添加人员信息(客户/职员)、新签订的合同;
修改--修改人员信息(客户/职员)、原有合同;
删除--删除人员信息(客户/职员)、无效合同;
退出--退出本菜单
(4)退出系统
退出本本系统(需要管理员信息)。
3.2外部接口
[说明本系统同外界的所有接口的安排包括软件与硬件之间的接口、本系统与各支持软件之间的接口关系。
]
3.3内部接口
查询和更新都要调用数据库的操作。
4.运行设计
4.1运行模块组合
具体软件的运行模块组合为程序多窗口的运行环境,各个模块在软件运行过程中能较好的交换信息,处理数据。
4.2运行控制
软件运行时有比较友好的用户界面,基本能够实现用户的数据处理要求。
4.3运行时间
系统的运行时间基本可以达到用户所提出的要求。
5.系统数据结构设计
5.1物理结构设计
系统的物理结构具体由数据库来设计与生成,此处略。
5.2数据结构与程序的关系
系统的数据结构由标准数据库语言SQL生成。
6.系统出错处理设计
6.1出错信息
在用户使用错误的数据或访问没有权限的数据后,系统给出提示:
“SORRY”而且用户的密码管理可以允许用户修改自己的密码
6.2补救措施
由于数据在数据库中已经有备份,故在系统出错后可以依靠数据库的恢复功能,并且依靠日志文件使系统再启动,就算系统崩溃用户数据也不会丢失或遭到破坏。
但有可能占用更多的数据存储空间,权衡措施由用户来决定。
五、详细设计
1引言
1.1编写目的
详细设计阶段的任务就是把解法具体化,解决具体应怎样实现这个系统。
也称为模块设计,详细地设计每个模块,确定实现模块所需的功能需要的算法和数据结构。
1.2背景
开发的软件系统的名称:
销售合同管理系统
本项目的任务提出者:
软件工程课程设计
开发者:
王巍
实现该软件的计算站:
图书馆计算机中心
1.3定义
在软件具体设计阶段的专用术语有:
程序流程图、盒图(N—S图)、判定表、判定树、PAD图(问题分析图ProblemAnalysisDiagram)等。
1.4参考资料
《软件工程导论》(第四版)张海藩编著清华大学出版社
《软件工程——技术,方法与环》王立福北京大学
《软件工程》邓良松刘海岩陆丽娜编著西安电子科技大学
《UML与RationalRose2002从入门到精通》邱仲潘等译电子工业出版社
2用户管理程序USER()设计说明
2.1程序描述
提供管理员和普通用户两种环境,限制用户对系统的使用权限。
特点:
非常驻内存;单独的一个程序;顺序处理。
2.2输入项
用户名:
字符串类型,UserName,长度不超过20,可以是数字和字母、汉字;
密码:
字符串类型,Password,长度不超过20,可以是数字和字母,区分大小写
2.3流程逻辑(程序流程图)
2.4接口
本程序直接隶属于系统模块,不包括其他模块、子程序。
数据库中的用户信息文件与本程序直接关联。
3更新程序UPDATE()设计说明
3.1程序描述
完成对系统(数据库)的更新操作,包括添加、修改、删除。
是并发处理。
3.2输入项
用户选择事务类型:
添加、修改、删除三个命令之一
3.3输出项
服务器的数据库进行相应的操作
3.4流程逻辑(N—S图)
3.5接口
本程序所隶属的上一层模块是系统模块,包括四个子程序:
添加程序、修改程序、删除程序、退出程序。
一系列的操作均在系统提示下进行。
数据库中的所有文件都可以与本程序及其子程序直接关联。
六、面向对象分析、设计部分
面向对象分析首要的工作,是建立问题域的对象模型,这个模型描述了现实世界中的“类于对象”以及它们之间的关系,表示了目标系统的静态数据结构。
其中对象是对问题域中有意义的事务的抽象,他们既可能是物理实体,也可能是抽象概念。
要确定类和对象,我们先要找出候选的类于对象,然后在从中筛选出正确的类于对象。
(一)对象模型
1主要有四个类:
(1)类名:
合同
属性:
合同序号、合同标题、客户、产品名称、产品单价、签订日期
方法:
备份
(2)类名:
人员
属性:
用户名UserName、密码Password
方法:
查询、打印
(3)类名:
客户
属性:
编号、姓名、电话、地址、电子邮箱、其他
方法:
(4)类名:
管理员
属性:
用户名UserName、密码Password
方法:
添加、删除、修改
2类间关系
客户类、管理员类继承人员类;
合同类与其他各个类为均为普通关联(签订);
3类图表示
细化对象模型,生成Java代码框架
User类:
//Sourcefile:
E:
\\『HOME』\\软件工程课设\\Final\\User.java
publicclassUser
{
privateLongUID;
privateBytePassword;
/**
*@roseuid42CA951103CB
*/
publicUser()
{
}
/**
*@roseuid42CA4614011E
*/
publicvoidSearch()
{
}
/**
*@roseuid42CA46280109
*/
publicvoidPrint()
{
}
}
Administrator类:
//Sourcefile:
E:
\\『HOME』\\软件工程课设\\Final\\Administrator.java
publicclassAdministratorextendsUser
{
privateLongAID;
privateBytePassword;
/**
*@roseuid42CA9511033F
*/
publicAdministrator()
{
}
/**
*@roseuid42CA452E01BD
*/
publicvoidAdd()
{
}
/**
*@roseuid42CA453F02D0
*/
publicvoidRemove()
{
}
/**
*@roseuid42CA454601E0
*/
publicvoidModifty()
{
}
}
Client类:
//Sourcefile:
E:
\\『HOME』\\软件工程课设\\Final\\Client.java
publicclassClientextendsUser
{
privateLongCID;
privateByteName;
privateLongPhoneNumber;
privateByteAddress;
privateBytemail;
privateByteOther;
/**
*@roseuid42CA9CB90239
*/
publicClient()
{
}
}
Contract类:
//Sourcefile:
E:
\\『HOME』\\软件工程课设\\Final\\Contract.java