收藏 分享(赏)

【程序技术开发文档143—软件开发文档】软件开发文档范例.doc

上传人:刘岱文 文档编号:23490 上传时间:2018-06-24 格式:DOC 页数:24 大小:99.50KB
下载 相关 举报
【程序技术开发文档143—软件开发文档】软件开发文档范例.doc_第1页
第1页 / 共24页
【程序技术开发文档143—软件开发文档】软件开发文档范例.doc_第2页
第2页 / 共24页
【程序技术开发文档143—软件开发文档】软件开发文档范例.doc_第3页
第3页 / 共24页
【程序技术开发文档143—软件开发文档】软件开发文档范例.doc_第4页
第4页 / 共24页
【程序技术开发文档143—软件开发文档】软件开发文档范例.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、文档编号:_ _ 文档名称:_ 项目名称:_ 项目负责人:_ 编写:_ _年_月_日 校对:_ _年 _月 _日 审核:_ _年 _月 _日批准:_ _年 _月 _日开发单位:广东传讯网络信息有限公司 _ 系统规格说明 一、 系统功能和目标: 随着因特网的不断普及,国内的用户数呈指数级增长。作为因特网最为常用的电子邮件系统越来越受到人们的喜爱,为了满足不断增长的信息交换的需要,各行各业都希望有自己的邮件系统。广东传讯网络信息有限公司自主设计开发了适合中国国情的免费电子邮件系统,用以解决这一日益突出的问题。 CHINATION 免费电子邮件系统是专为免费电子邮件服务商、企业集团设计的电子邮件系统

2、。 Chination 免费电子邮件系统的设计目标是立足于一个高度集成的、功能强大、技术先进的电子邮件系统。高度集成意味着本系统将把硬盘软件集成在一起。系统是基于 LINUX 下的,硬盘和软件的集成使得系统具有绝对的安装优势。功能强大意味着系统的实用性,功能的全面性,系统的安全性和可靠性。技术先进意味着将最新版本的LDAP,IMAP ,POSTFIX ,MYSQL,APACHE 和 PHP 的巧妙结合。 本系统要实现的主要功能有: 1 用户申请注册功能。用户通过申请可以得到一个自己命名的信箱,容量大小为 10M。 2 用户忘记密码处理功能。用户忘记密码可以通过注册时设置的密码提示问题来重设密码

3、。 3 用户收邮件功能。它包括 SMTP 收邮件、POP3 取邮件和 WWW 读邮件三种方式。 4 用户发邮件功能。它包括 SMTP 发邮件、WWW 直接发送邮件、暗送邮件、抄送邮件、定时发送邮件。 5 用户信件处理功能。系统初始设置 4 个文件夹来分类处理信件:收件箱、发件箱、草稿箱和垃圾箱。用户还可以自己建立新的文件夹。信件在各个信箱之间可以相互移动。 6 用户查找功能。用户可以使用查找功能通过查找信件主题或信件内容来找到自己需要的信件。7 用户信箱配置设置。它包括个人资料更改、密码更改、参数设置、POP3 服务器设置、过滤器设置、自动转信、定时发信、签名设置。 8 管理员管理用户和信箱邮

4、件功能。包括输入(增删改)、查询、统计、报表。系统性能参数设置。 9 广播功能。它用于公司定期向一定的用户发送信息,由于一般的用户数有一定数量,所以必须用数据库管。 二、 可行性分析 1 技术可行性本软件拟决定最终在分布式系统上来运行。硬件方面,由于广东传讯网络信息有限公司是国外多家公司并行处理产品的代理商,而且自己本身拥有 ALPHA 机等先进设备,所以有足够能力开发出先进的电子邮件系统。软件方面,我们拟采用以下几种软件:1) 操作系统用 LINUX。Linux 作为一个优秀的网络操作系统,它的发行版本中集成了大量的网络应用软件,如 Web 服务器(apache)、Ftp 服务器(wu-ft

5、p) 、邮件服务器(sendmail+imap4) 、SQL数据库(postgresql) 等,可以快速的构建 Intranet 环境,并且也有精致的邮件收发程序(metamail) 和强大的 Web 服务器端开发工具(PHP4)。当你配置好 sendmail 并激活 imapd 后,你的 Linux 用户都可以使用 Outlook 等客户端软件进行邮件收发,只要通过将它们集中进行应用,便可以实现一个简单的 Webmail 服务器的功能。但是随着自由软件的不断开发,要构架一个好的电子邮件系统,就面临着软件选择是否适当、性能是否比别人好的问题。下面列出我们所使用的软件。 2)本系统内壳软件用 i

6、map。有几种方法可以构造电子邮件系统的内壳:共享文件系统的策略,基于局域网的专用协议,X.400P7 协议和因特网消息存取协议。而基于 INTERNET 的协议主要有: POP (Post Office Protocol), DMSP (Distributed Mail System Protocol), 和 IMAP (Internet Message Access Protocol).POP 是最原始,最为人们所知的一种。 DMSP 仅局限于一个简单应用PCMAIL,它的优点主要在于对脱机状态操作的支持。IMAP 不但继承了 POP 和 DMSP 的优点,而且超越了他们的缺点,提供了三种

7、状态下对远程信箱的访问:在线、不连接和脱机状态。在脱机状态,邮件可以发送到一个共享的服务器,但是邮件客户并不是马上全部把它们 COPY 过去之后在服务器上删掉它们,而是处于一种客户服务器交互的模式,客户可以询问服务器有关的信头、正文或一些状态标志(如“DELETE”,“ANSWER”等)。IMAP 可以以本地的方式操作远程信箱。IMAP 的优点主要在于:它可以操作持续的消息状态标志;它可以存取消息而且随时访问它们;它可以访问和管理多个信箱;它支持对共享信箱的并发访问和修改;适合存取非 EMAIL 数据,如网络杂志和资料;它能以最短连接时间和最小空间开销来使用脱机范式;它有用来管理用户配置的伴随

8、协议;它允许在线性能优化,特别是在低速连接的情况下。3) 用 OPENLDAP 作为目录服务器软件。LDAP(Lightweight Directory Acess Protocol )是目录服务在 TCP/IP 上的实现(RFC 1777 V2 版和 RFC 2251 V3 版)。它是对 X500 的目录协议的移植,但是简化了实现方法,所以称为轻量级的目录服务。在 LDAP 中目录是按照树型结构组织,目录由条目(Entry)组成,条目相当于关系数据库中表的记录;条目是具有区别名DN(Distinguished Name)的属性(Attribute)集合,DN 相当于关系数据库表中的关键字(P

9、rimary Key);属性由类型(Type)和多个值(Values)组成,相当于关系数据库中的域(Field)由域名和数据类型组成,只是为了方便检索的需要,LDAP 中的 Type 可以有多个Value,而不是关系数据库中为降低数据的冗余性要求实现的各个域必须是不相关的。LDAP 中条目的组织一般按照地理位置和组织关系进行组织,非常的直观。LDAP 把数据存放在文件中,为提高效率可以使用基于索引的文件数据库,而不是关系数据库。LDAP 协议集还规定了 DN 的命名方法、存取控制方法、搜索格式、复制方法、URL 格式、开发接口等。Linux 支持的 LDAP服务器一般有 Michigan 大学

10、开发的免费软件包和 Openldap 组织基于 Michigan 大学的开发包提供的 Openldap 免费软件发行包,其中 Openldap 发行包安装配置更加简单。 4) WEB 服务器端用 APACHE+PHP4+MYSQL。自由软件开放原代码的好处就不用多说了 5) 件系统软件用 POSTFIX。由于电子邮件是一种非常传统的工具,因此有非常多的软件可以用来达到这个目的,这里面包括从古老的 uucp 邮件到非常庞大的商业群件系统,如 Lotus Domino Server,但使用最广泛的还是一种自由软件sendmail,它支撑了当前 Internet 邮件系统的主体。无论从使用的广泛程度

11、,还是从代码的复杂程度来讲,sendmail 都是一个非常优秀的软件。如果使用它来构建网站的电子邮件系统,基本上不必费心,因为几乎所有的 Unix 的缺省配置中都内置这个软件,只需要设置好操作系统,它就能立即运转起来。然而,Internet 用户的要求更为苛刻,纷纷指出 sendmail 中包含的各个不足之处。第一个重要的缺点是它的安全性较差这是因为当其作者 Eric Allman 最初开始写作这个软件的时候,Internet 的用户还很少,因而安全性并不没有得到大家的重视。此外,也是由于其早期的 Internet 用户数量及邮件数量都相当小,Sendmail 的系统结构并不适合较大的负载,对

12、于高负载的邮件系统,需要对 Sendmail 进行复杂的调整。另一个问题是它的设置相当复杂,对于使用缺省设置来收发电子邮件,问题并不存在。当管理员打算进行一些特殊设置,以便利用 Sendmail 提供的复杂邮件处理能力时,就不得不面对复杂的宏和正则表达式。Postfix 同样也是采用了模块化的方式,但与 Qmail 不同的是,Postfix使用了一个主控进程进行监控。Postfix 在很多方面都考虑到了安全问题,它甚至不向 root 分发电子邮件,以避免以 root 身份读写文件或启动外部程序。Postfix 提供的一些强大的功能主要在于多种数据库表查询方式,例如它支持 DB、DBM、pass

13、wd 文件、正则表达式、 MySQL 数据库以及 LDAP 方式的查询,用于支持系统级的别名、虚拟主机等。虽然在 Qmail 中也能支持这些功能,但没有象 Postfix 那样统一、简洁。此外,更改 Postfix 的设置之后,也不需要重新启动整个系统,只需要使用 postfix reload 就能完全刷新配置,这也避免了丢失邮件的可能性。 6)务器性能优化软件 ZEND OPTIMIZER. ZEND OPTIMIZER 的工作机理是通过在检查 ZEND动态编译器产生的代码的过程中优化它们来加快程序的运行速度。在 PHP4 的 ZEND 引擎中ZEND OPTIMIZER 的工作是位于 ZE

14、ND 动态编译过程和运行过程的中间。PHP4 中的 ZEND 动态编译器产生代码的速度相当于 PHP3 产生代码速度的 2-10 倍。如果一个系统中用了 ZEND OPTIMIZER 执行速度又会快 40%-60%。以上软件的组合绝对保证了整个系统的安全性、稳定性、可靠性和可扩展性。 2 济可行性 伴着 LINUX 的日益风靡,自由软件种类越来越多, 性能越来越好。本系统的开发拟采用自由软件,这不仅保证了系统的技术可行性,还保证了系统的经济可行性。自由软件大大地降低了开发成本,也降低了产品成本。 另一方面,本系统产品化后,其将硬件软件一体化的独到经营思路必能引发经常性收益。 3 社会可行性 本

15、系统的社会可行性主要体现在以下几方面: l 自由软件的使用使得在软件方面避免了任何版权、专利权等法律问题的纠缠。 l 本系统软件硬件一体化解决了当前自由软件安装配置难的问题,满足了用户的需要。 l 由于开发成本的降低使得产品价格也会在市场上占据绝对优势。_ 需求规格说明 一、 任务概述 需求分析工作是软件生存期中重要的一步,也是起决定性的一步。我们试图通过它来全面了解整个系统的软件功能和性能方面的要求,为软件设计打下坚实的基础。该部分的目标主要有:获得当前系统的物理模型,了解当前系统是如何运行的;抽象出当前系统的逻辑模型,对物理模型进行筛选,得到与软件系统有关的部分;建立电子邮件系统的逻辑模型

16、,得出数据流图和数据字典;补充目标系统的逻辑模型,对目标系统的用户界面,至今尚未考虑的细节进行说明。 二、 数据描述 1 数据库描述 本系统自始至终都是在通过数据库操作,对数据库的性能要求特别高。平均每个操作要访问数据库 C1 次,每次访问数据库要检索数据记录 CN 条(N 为用户数,C,C1 为访问系数)。所以数据库访问的频率是 C1*C*N*M(M 表示每秒在线用户的平均数)。数据库中有些表的属性比较多,而且某些表的数据将用来检索用户的邮箱,所以要求数据库的访问能力比较强。本系统的数据库用 LINUX 的 MYSQL.MySQL 是一个小巧灵珑的数据库服务器软件,对于应用系统是非常理想的。

17、除了支持标准的 ANSI SQL 语句,它还支持多种平台,而在 Unix 系统上该软件支持多线程运行方式,从而能获得相当好的性能。对于不使用 Unix 的用户,它可以在 Windows NT 系统上以系统服务方式运行,或者在 Windows 95/98 系统上以普通进程方式运行. PHP-MySQL 的组合还可以跨平台运行,这意味着可以在 Windows 上开发,然后在 Unix 平台上运行。 2 数据流图 本系统的运行流程主要是在用户和系统之间交互进行。用户分为新用户和已注册用户,因为新用户的注册和已注册用户的流程相对比较独立,所以整个系统的数据流图分两部分。系统的一级流图如下所示: 新用户

18、注册已注册用户已注册信息用户信息已注册用户忘记密码处理已注册用户登录浏览信箱首页读邮件发邮件查找配置邮件处理已登录用户更改后信箱原信箱登录信息原注册信息登录信息新注册信息原信箱原信箱查找内容原信箱更改后信箱更改后信箱更改后信箱查找结果系统管理更改后系统原系统3 数据流条目: 1)数据流名:用户信息 别名: 组成:用户名+姓名 +密码+密码提示问题+问题回答+传呼机+ 传真机+ 手机号码+性别+出生日期+婚否+最高学历+职业+你的公司名+公司规模+工作状况+ 公司主页+ 希望加入的群组+所在省份 来源: 用户输入 去向:注册子系统 2)数据流名:已注册信息 别名:原注册信息 组成:用户名+姓名

19、+密码+密码提示问题+问题回答+传呼机+ 传真机+ 手机号码+性别+出生日期+婚否+最高学历+职业+你的公司名+公司规模+工作状况+ 公司主页+ 希望加入的群组+所在省份 来源:注册子系统 去向:数据库的用户注册表 3)数据流名:登录信息 组成:用户名+登录密码 来源:用户输入 去向:系统用来检索用户信息 4)数据流名:原信箱 别名:更改后信箱,用户信箱 组成:用户名+收件箱 +发件箱+垃圾箱+草稿箱+自定义文件夹+ 信箱配置 来源:IMAP 内核 去向:各子处理模块 4 加工说明: 1)加工名:注册 输入数据:用户信息 输出数据:已注册信息 加工逻辑:根据用户输入的用户信息在数据库中作相应的记录,并给用户新建一个信箱。 2)加工名:忘记密码 输入数据:原注册信息 输出数据:新注册信息 加工逻辑:用户输入已注册的用户名和密码提示问题的答案,系统验证后让用户修改密码,系统存储新密码。 3)加工名:邮件处理 输入数据:原用户信箱 输出数据:更改后的信箱 加工逻辑:邮件处理子系统按照用户的要求对原用户信箱进行增加、删除文件夹操作,信件移动、删除操作 4)加工名:读邮件

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 网络技术 > 热门技术

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报