软件开发进度报告.doc
销售合同管理系统项目名称 销售合同管理系统 项目负责人 王巍 项目开发单位 北京信息科技大学 目 录一、 问题定义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可行性研究:进行510天的可行性研究。二、可行性研究1 .引言1.1 编写目的:进一步分析和澄清问题定义,推导出系统的逻辑模型,对以后的行动方针提出建议。预期的读者为软件开发管理人员,开发人员(主要是需求分析员),还有企业销售部门管理人员。1.2 背景:开发的软件系统的名称:销售合同管理系统本项目的任务提出者:软件工程课程设计开发者: 王巍用户及实现该软件的计算站:图书馆计算机中心1.3 定义:本文件中用到的专门术语的定义及外文首字母词组的原词组:(1) 系统流程图:用图形符号以黑盒子形式描绘系统的每个部件(程序,文档,数据库,人工过程)。表达数据在系统各部件之间流动的情况。(2) 数据流图(DFD):没有任何具体的物理部件,描绘信息流和数据从输入移动到输出的过程中经受的变换。(3) 数据字典(DD):是对数据流图中包含的所有元素的定义的集合。其内容为数据流、数据元素、数据存储、处理。1.4 参考资料软件工程导论(第四版) 张海藩 编著 清华大学出版社软件工程技术,方法与环王立福 北京大学软件工程邓良松 刘海岩 陆丽娜 编著 西安电子科技大学UML与Rational Rose 2002 从入门到精通邱仲潘 等译 电子工业出版社2.可行性研究的前提2.1要求本销售合同管理系统应该包括:合同管理、发货管理、开票管理、资金回收管理以及客户管理、产品信息管理、销售人员考核等方面的内容。各方面的内容相互联系,最终产生各种查询统计报表,供企业进行参考和决策。2.2目标主要开发目标是能够对企业销售合同进行查询和更新管理,而且具有较强的兼容性。2.3条件、假定和限制系统必须具备企业销售合同进行查询和更新管理等基本功能。2.4进行可行性研究的方法这项可行性研究是通过参考现有软件的基本功能,以及自己对销售方面的认识进行(比较遗憾的是缺少专业知识的支持)。从以下几个方面研究解法的可行性:(1)经济可行性分析:从开发软件系统所需的总时间,总费用,及其中可行性研究所需的费用,以及系统软件开发完成后,所能预计的市场占有率等方面进行考虑,看该软件系统是否能达到一定的经济效益。(2)技术可行性分析:由于新的系统需要对变化的数据进行动态的存贮,即数据库中数据要随着管理员对系统的操作来随时更新,并且具有定时数据备份功能。因此要从技术角度方面研究者性功能是否可以是实现。(3)操作可行性分析:要分析设计出的系统在用户的操作上是否简便,这一点很重要,因为它会影响到用户对该系统的反应。3.对现有系统的分析3.1工作负荷人工处理所承担的工作包括需要接收合同、审查合同的新合同,查询、更新生效的合同、有选择保存和删除已失去法律效力的旧合同。其工作繁琐,枯燥,容易出错,完成工作所需要的时间较长,工作效率比较低。3.2人员 由于现有系统的技术性含量比较低,操作不便,工作量大,因此需要较多的人才能完成工作。而新系统将具有较高的技术操作性,但它确使工作变得较为简便,因此只需要少量的高素质人才就可完成。3.3设备除使用计算机进行软件开发外,同时还要进行软件的演示操作和维护,在设计过程中要使用的开发软件:Microsoft Visio、Rational Rose Enterprise Edition 3.4费用开支 人工处理需要比较多的技巧熟练的职员负责各自工作,企业不仅要为大量时间付出代价,还要为员工付出报酬。3.5局限性人工处理的主要局限性表现在系统依赖于大量的人力和物质投入,工作效率较低和成本较高。4.所建议的系统4.1对所建议系统的说明每一次的合同的更新(添加、删除、修改)对于系统来说都是一个新的事务,当系统接到这个事务时,首先判断客户编号是否存在,如果不存在,提示管理员运行客户信息程序,新增该客户;运行销售合同程序,输入新合同序号,进行数据的更新操作;如果存在,提示管理员直接输入新合同的编号,进行数据的更新操作。在数据更新操作完成后系统自动进入数据备份程序,对数据进行备份,存储在磁盘上。可根据管理员的要求,将操作信息及数据信息打印。4.2处理流程和数据流程处理流程销售合同系统处理流程图数据流程销售合同系统顶层数据流图 数据字典数据字典应该有四部分组成:数据流条目数据流分量条目数据存储条目处理条目数据字典如下:合同编号 = 数字|字母 客户名称 = 汉字|数字电话号码 = 横线|数字 传真号 = 数字地址 = 汉字|数字|字母 邮编 = 数字序号 = 数字|字母 产品名称 = 汉字|数字|字母价格 = 数字|小数点 用户名 = 汉字|字母|数字密码 = 汉字|字母|数字数据元素的数据字典卡片: 合同信息名字:合同信息 别名:描述:记录合同的相关信息定义:合同信息=合同编号+序号+产品名称+产品单价位置:数据库职员信息名字:职员信息 别名:描述:记录职员的信息定义:职员信息=编号+姓名+性别+工龄+职位位置:数据库客户信息名字:客户信息 别名:描述:记录客户的信息定义:客户信息=合同编号+ 客户名称+电话号码+传真号+地址+邮编位置:数据库4.3改进之处 相对于原有系统,新系统较大的方便了管理员的工作。首先,它可以将相同客户的不同合同统一存贮,这种操作的空间很大,同时有利于数据的一致性,而原有系统在这方面的扩展性着较差,在数据的一致性方面也很不好。第二,数据存储后具有自动备份,对于数据的保护也较原系统好。4.4影响1对软件的影响:新系统使用具有较高技术的软件(例如数据库软件等)2对对象的影响:新系统要求对客户、合同、操作人员有较为详细地记录,在其它方面没有什么带大的变化。3对系统运行过程的影响:系统的运行更加高速、有效。4对开发的影响:新系统的开发环境要求不高,只需要现有设备就可以完成,且不会在开发过程中影响到现有系统的使用。5对地点和设施的影响:开发新系统不用考虑地点等方面的问题。6技术条件方面的可能性开发新系统的技术虽较现有系统比较先进,但总的来看,这些技术均已比较成熟,因此新系统的俄开发在技术方面应该不会有带大的困难。5. 可选择的其他方案目前与要开发的该系统相类似的系统在国能外也有,其中不乏应能较好的产品,但购买后每年所需支付的经济费较高,而新开发既可满足要求,费用也相对比较核算,是一种较好的方法。6投资效益分析 新系统开发完成后,只需要23面管理员,大大减少的人员方面的开支,同时由于数据冗余度也大大降低,在物质方面也降低了开销,因此会有较好的市场效益。7法律方面的可行性新系统的开发完全独立进行,因此在法律上完全合法。8结论通过技术、经济、具体操作等方面的研究可知,新系统可开发风险较低,可以开始进行具体的开发工作。三、需求分析1引言 1.1编写目的需求分析是软件系统生存期中定义阶段的最后一个步骤。这个阶段的任务不是具体解决问题,而是准确确定为解决问题系统必须具备哪些功能。这个阶段的一个重要任务是用正式的文档准确地记录目标系统的需求。该文档将最终交给软件具体的开发人员进行具体的开发。1.2 背景开发的软件系统的名称:Sale-well v1.0 销售合同管理系统本项目的任务提出者:软件工程课程设计开发者: 刘建实现该软件的计算站:图书馆计算机中心1.3 定义本文件中用到的专门术语的定义和外文首字母词组的原词组。实体联系图(E-R图):包含实体(即数据对象)、关系和属性。作为用户与分析员之间有效交流的工具。状态转换图:通过描绘系统的状态及引起系统的状态转换的事件来表示系统的行为。提供行为建模机制。层次方框图:用树形结构的一系列多层次的矩形框描绘数据的层次结构。输入-处理-输出图(IPO图):方便描绘输入数据、对数据的处理和输出数据之间的关系。1.4 参考资料软件工程导论(第四版) 张海藩 编著 清华大学出版社软件工程技术,方法与环王立福 北京大学软件工程邓良松 刘海岩 陆丽娜 编著 西安电子科技大学UML与Rational Rose 2002 从入门到精通邱仲潘 等译 电子工业出版社2.任务概述2.1目标主要开发目标是能够对企业销售合同进行查询和更新管理,且具有较强的兼容性。2.2用户的特点新系统的管理员(维护人员)需要具备相当的数据库专业技能和销售合同的相关知识。由于系统的界面清晰、美观,操作简单、方便,所以操作人员只需要具备一定的电脑操作技能即可。本系统可以极大的提高工作效率,预期使用频度较高。2.3假定和约束系统的规模较小,适于Windows和UNIX操作系统,SQL数据库系统。3.需求规定3.1对功能的规定(1)更准确的数据流图(2)更准确的流程图(3)动态数据动态数据包括程序运行时输入和输出的数据,具体是数据库的各个表的各个不同元组与属性值,就查阅信息。数据库描述本系统的实体有:销售合同、销售合同订单,它们之间的关系是一对多的。E-R图如下: (4)更准确的数据字典客户信息 列名 数据类型 描述客户名称 NAMEChar(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 定义在软件具体设计阶段的专用术语有:程序流程图、盒图(NS图)、判定表、判定树、PAD图(问题分析图Problem Analysis Diagram)等。1.4 参考资料软件工程导论(第四版) 张海藩 编著 清华大学出版社软件工程技术,方法与环王立福 北京大学软件工程邓良松 刘海岩 陆丽娜 编著 西安电子科技大学UML与Rational Rose 2002 从入门到精通邱仲潘 等译 电子工业出版社2 用户管理程序USER() 设计说明2.1程序描述提供管理员和普通用户两种环境,限制用户对系统的使用权限。特点:非常驻内存;单独的一个程序;顺序处理。2.2输入项用户名:字符串类型,UserName,长度不超过20,可以是数字和字母、汉字;密码 :字符串类型,Password, 长度不超过20, 可以是数字和字母,区分大小写 2.3流程逻辑 (程序流程图)2.4接口本程序直接隶属于系统模块,不包括其他模块、子程序。数据库中的用户信息文件与本程序直接关联。3 更新程序 UPDATE() 设计说明3.1程序描述完成对系统(数据库)的更新操作,包括添加、修改、删除。是并发处理。3.2输入项 用户选择事务类型:添加、修改、删除三个命令之一3.3输出项 服务器的数据库进行相应的操作3.4流程逻辑(NS图) 3.5接口本程序所隶属的上一层模块是系统模块,包括四个子程序:添加程序、修改程序、删除程序、退出程序。一系列的操作均在系统提示下进行。数据库中的所有文件都可以与本程序及其子程序直接关联。六、面向对象分析、设计部分 面向对象分析首要的工作,是建立问题域的对象模型,这个模型描述了现实世界中的“类于对象”以及它们之间的关系,表示了目标系统的静态数据结构。其中对象是对问题域中有意义的事务的抽象,他们既可能是物理实体, 也可能是抽象概念。要确定类和对象,我们先要找出候选的类于对象,然后在从中筛选出正确的类于对象。(一) 对象模型1 主要有四个类:(1) 类名:合同属性:合同序号、合同标题、客户、产品名称、产品单价、签订日期方法:备份(2) 类名:人员属性:用户名UserName、密码Password方法: 查询、打印(3) 类名:客户属性:编号、姓名、电话、地址、电子邮箱、其他方法: (4) 类名:管理员属性:用户名UserName、密码Password方法:添加、删除、修改 2 类间关系客户类、管理员类继承人员类; 合同类与其他各个类为均为普通关联(签订);3 类图表示细化对象模型,生成Java代码框架User类:/Source file: E: HOME 软件工程课设FinalUser.javapublic class User private Long UID; private Byte Password; /* * roseuid 42CA951103CB */ public User() /* * roseuid 42CA4614011E */ public void Search() /* * roseuid 42CA46280109 */ public void Print() Administrator类:/Source file: E: HOME 软件工程课设FinalAdministrator.javapublic class Administrator extends User private Long AID; private Byte Password; /* * roseuid 42CA9511033F */ public Administrator() /* * roseuid 42CA452E01BD */ public void Add() /* * roseuid 42CA453F02D0 */ public void Remove() /* * roseuid 42CA454601E0 */ public void Modifty() Client类:/Source file: E: HOME 软件工程课设FinalClient.javapublic class Client extends User private Long CID; private Byte Name; private Long PhoneNumber; private Byte Address; private Byte mail; private Byte Other; /* * roseuid 42CA9CB90239 */ public Client() Contract类:/Source file: E: HOME 软件工程课设FinalContract.javapublic class Contract private Long ID; private Byte Title; private Byte C_Name; private Byte ProductName; private Double Price; /* * roseuid 42CA9A92027D */ public Contract() /* * roseuid 42CA47D70054 */ public void Backup() (二) 动态模型典型事例:操作人员查询与某一个公司某段时间所签订的合同信息(1)脚本:n 操作员输入账号n 系统检测合法性,进入普通界面n 要求选择处理要求(更新/查询)n 操作员选择查询功能n 系统进入查询界面,提示输入查询条件n 输入客户名称,以及签订合同的日期n 系统响应,查询数据库,20秒内显示查询结果n 提示是否打印n 不打印,退出界面n 提示退出系统 (2)状态图(3)事件跟踪图(三) 功能模型七、课程设计总结1、 结构化分析、设计与面向对象分析、设计的不同结构化分析:这种方法把软件生命周期的全过程依次划分为若干个阶段,然后顺序的完成每个阶段的任务。从对问题的抽象逻辑分析开始,一个阶段一个阶段地进行开发。把软件生命周期华分成若干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,降低了整个软件开发过程的困难程度。面向对象分析:面向对象方法学的出发点和基本原则是,尽量模拟人类习惯的思维方式,使软件开发的方法与过程尽可能接近人类认识世界解决问题的方法与过程,从而使描述问题的问题空间与实现解法的解空间在结构上尽可能一致。对象彼此间仅能通过发送消息互相联系。对象与传统数据有本质区别,他不是被动的等待外界对他施加操作,相反,是数据处理的主体,必须向它发消息请求它执行它的某个操作以及处理它的数据,而不能从外界直接对它的数据进行处理。把对象作为融合了数据及在数据上的操作行为的统一的软件构件,程序中任何元素都是对象,复杂对象由比较简单的对象组合而成。把所有的对象都划分成类,每个类都定义了一组数据和一组操作,类是对具有相同数据和相同操作的一组相似对象的定义。2、 对概念、原理和方法的体会 刚拿到问题的时候,深刻的体会到了在软件工程领域是由具有一种文化背景的人替具有另一种文化背景的人在创造产品。由于对销售合同没有了解过,一上来根本不清楚本次项目的问题定义是什么,从而不可能进行后续的分析和设计过程,感觉很难下手。 开始翻阅了不少书籍,都是关于UML统一建模语言的,所以开始时候的设计有些偏相与UML,也就是面向对象的分析方法。把这个方法分析得比较深入,同时学会画用例图(Use Case View)。同时也了解了一些相关联的图例。通过课程设计对整个开发过程所用到的所有图表等工具有了进一步的理解和认识,逐渐清晰的知道了每个开发阶段可以使用的工具和比较趋于选择的好的工具。 对Microsoft Visio、Rational Rose等应用软件有了更深的了解-在结构化设计中多用到Visio来进行分析设计,而在面向对象设计中多用到Rose来进行设计。通过设计真实的体会到了运用工具所带来的便捷。3、 参考文献和资料软件工程导论(第四版)张海藩编著,清华大学出版社,ISBN 7-302-07321-XUML业务建模夏昕 何克清译,ISBN 7-111-13478-8ROSE对象建模方法与技术王智学 等编著,机械工业出版社,ISBN 7-111-12457-X软件工程实验指导书 蒋玉如软件工程技术,方法与环王立福 北京大学软件工程邓良松 刘海岩 陆丽娜 编著 西安电子科技大学UML与Rational Rose 2002 从入门到精通邱仲潘 等译 电子工业出版社