您好,欢迎访问三七文档
文档编号:__________________文档名称:____________项目名称:____________项目负责人:____________编写:_______________年__月__日校对:_______________年__月__日审核:_______________年__月__日批准:_______________年__月__日开发单位:广东传讯网络信息有限公司________________________系统规格说明一、系统功能和目标:随着因特网的不断普及,国内的用户数呈指数级增长。作为因特网最为常用的电子邮件系统越来越受到人们的喜爱,为了满足不断增长的信息交换的需要,各行各业都希望有自己的邮件系统。广东传讯网络信息有限公司自主设计开发了适合中国国情的免费电子邮件系统,用以解决这一日益突出的问题。CHINATION免费电子邮件系统是专为免费电子邮件服务商、企业集团设计的电子邮件系统。Chination免费电子邮件系统的设计目标是立足于一个高度集成的、功能强大、技术先进的电子邮件系统。高度集成意味着本系统将把硬盘软件集成在一起。系统是基于LINUX下的,硬盘和软件的集成使得系统具有绝对的安装优势。功能强大意味着系统的实用性,功能的全面性,系统的安全性和可靠性。技术先进意味着将最新版本的LDAP,IMAP,POSTFIX,MYSQL,APACHE和PHP的巧妙结合。本系统要实现的主要功能有:1.用户申请注册功能。用户通过申请可以得到一个自己命名的信箱,容量大小为10M。2.用户忘记密码处理功能。用户忘记密码可以通过注册时设置的密码提示问题来重设密码。3.用户收邮件功能。它包括SMTP收邮件、POP3取邮件和读邮件三种方式。4.用户发邮件功能。它包括SMTP发邮件、直接发送邮件、暗送邮件、抄送邮件、定时发送邮件。5.用户信件处理功能。系统初始设置4个文件夹来分类处理信件:收件箱、发件箱、草稿箱和垃圾箱。用户还可以自己建立新的文件夹。信件在各个信箱之间可以相互移动。6.用户查找功能。用户可以使用查找功能通过查找信件主题或信件内容来找到自己需要的信件。7.用户信箱配置设置。它包括个人资料更改、密码更改、参数设置、POP3服务器设置、过滤器设置、自动转信、定时发信、签名设置。8.管理员管理用户和信箱邮件功能。包括输入(增删改)、查询、统计、报表。系统性能参数设置。9.广播功能。它用于公司定期向一定的用户发送信息,由于一般的用户数有一定数量,所以必须用数据库管。二、可行性分析1.技术可行性本软件拟决定最终在分布式系统上来运行。硬件方面,由于广东传讯网络信息有限公司是国外多家公司并行处理产品的代理商,而且自己本身拥有ALPHA机等先进设备,所以有足够能力开发出先进的电子邮件系统。软件方面,我们拟采用以下几种软件:1)操作系统用LINUX。Linux作为一个优秀的网络操作系统,它的发行版本中集成了大量的网络应用软件,如Web服务器(apache)、Ftp服务器(wu-ftp)、邮件服务器(sendmail+imap4)、SQL数据库(postgresql)等,可以快速的构建Intranet环境,并且也有精致的邮件收发程序(metamail)和强大的Web服务器端开发工具(PHP4)。当你配置好sendmail并激活imapd后,你的Linux用户都可以使用Outlook等客户端软件进行邮件收发,只要通过将它们集中进行应用,便可以实现一个简单的Webmail服务器的功能。但是随着自由软件的不断开发,要构架一个好的电子邮件系统,就面临着软件选择是否适当、性能是否比别人好的问题。下面列出我们所使用的软件。2)本系统内壳软件用imap。有几种方法可以构造电子邮件系统的内壳:共享文件系统的策略,基于局域网的专用协议,X.400P7协议和因特网消息存取协议。而基于INTERNET的协议主要有:POP(PostOfficeProtocol),DMSP(DistributedMailSystemProtocol),和IMAP(InternetMessageAccessProtocol).POP是最原始,最为人们所知的一种。DMSP仅局限于一个简单应用——PCMAIL,它的优点主要在于对脱机状态操作的支持。IMAP不但继承了POP和DMSP的优点,而且超越了他们的缺点,提供了三种状态下对远程信箱的访问:在线、不连接和脱机状态。在脱机状态,邮件可以发送到一个共享的服务器,但是邮件客户并不是马上全部把它们COPY过去之后在服务器上删掉它们,而是处于一种客户——服务器交互的模式,客户可以询问服务器有关的信头、正文或一些状态标志(如“DELETE”,“ANSWER”等)。IMAP可以以本地的方式操作远程信箱。IMAP的优点主要在于:它可以操作持续的消息状态标志;它可以存取消息而且随时访问它们;它可以访问和管理多个信箱;它支持对共享信箱的并发访问和修改;适合存取非EMAIL数据,如网络杂志和资料;它能以最短连接时间和最小空间开销来使用脱机范式;它有用来管理用户配置的伴随协议;它允许在线性能优化,特别是在低速连接的情况下。3)用OPENLDAP作为目录服务器软件。LDAP(LightweightDirectoryAcessProtocol)是目录服务在TCP/IP上的实现(RFC1777V2版和RFC2251V3版)。它是对X500的目录协议的移植,但是简化了实现方法,所以称为轻量级的目录服务。在LDAP中目录是按照树型结构组织,目录由条目(Entry)组成,条目相当于关系数据库中表的记录;条目是具有区别名DN(DistinguishedName)的属性(Attribute)集合,DN相当于关系数据库表中的关键字(PrimaryKey);属性由类型(Type)和多个值(Values)组成,相当于关系数据库中的域(Field)由域名和数据类型组成,只是为了方便检索的需要,LDAP中的Type可以有多个Value,而不是关系数据库中为降低数据的冗余性要求实现的各个域必须是不相关的。LDAP中条目的组织一般按照地理位置和组织关系进行组织,非常的直观。LDAP把数据存放在文件中,为提高效率可以使用基于索引的文件数据库,而不是关系数据库。LDAP协议集还规定了DN的命名方法、存取控制方法、搜索格式、复制方法、URL格式、开发接口等。Linux支持的LDAP服务器一般有Michigan大学开发的免费软件包和Openldap组织基于Michigan大学的开发包提供的Openldap免费软件发行包,其中Openldap发行包安装配置更加简单。4)WEB服务器端用APACHE+PHP4+MYSQL。自由软件开放原代码的好处就不用多说了5)件系统软件用POSTFIX。由于电子邮件是一种非常传统的工具,因此有非常多的软件可以用来达到这个目的,这里面包括从古老的uucp邮件到非常庞大的商业群件系统,如LotusDominoServer,但使用最广泛的还是一种自由软件──sendmail,它支撑了当前Internet邮件系统的主体。无论从使用的广泛程度,还是从代码的复杂程度来讲,sendmail都是一个非常优秀的软件。如果使用它来构建网站的电子邮件系统,基本上不必费心,因为几乎所有的Unix的缺省配置中都内置这个软件,只需要设置好操作系统,它就能立即运转起来。然而,Internet用户的要求更为苛刻,纷纷指出sendmail中包含的各个不足之处。第一个重要的缺点是它的安全性较差这是因为当其作者EricAllman最初开始写作这个软件的时候,Internet的用户还很少,因而安全性并不没有得到大家的重视。此外,也是由于其早期的Internet用户数量及邮件数量都相当小,Sendmail的系统结构并不适合较大的负载,对于高负载的邮件系统,需要对Sendmail进行复杂的调整。另一个问题是它的设置相当复杂,对于使用缺省设置来收发电子邮件,问题并不存在。当管理员打算进行一些特殊设置,以便利用Sendmail提供的复杂邮件处理能力时,就不得不面对复杂的宏和正则表达式。Postfix同样也是采用了模块化的方式,但与Qmail不同的是,Postfix使用了一个主控进程进行监控。Postfix在很多方面都考虑到了安全问题,它甚至不向root分发电子邮件,以避免以root身份读写文件或启动外部程序。Postfix提供的一些强大的功能主要在于多种数据库表查询方式,例如它支持DB、DBM、passwd文件、正则表达式、MySQL数据库以及LDAP方式的查询,用于支持系统级的别名、虚拟主机等。虽然在Qmail中也能支持这些功能,但没有象Postfix那样统一、简洁。此外,更改Postfix的设置之后,也不需要重新启动整个系统,只需要使用postfixreload就能完全刷新配置,这也避免了丢失邮件的可能性。6)务器性能优化软件ZENDOPTIMIZER.ZENDOPTIMIZER的工作机理是通过在检查ZEND动态编译器产生的代码的过程中优化它们来加快程序的运行速度。在PHP4的ZEND引擎中ZENDOPTIMIZER的工作是位于ZEND动态编译过程和运行过程的中间。PHP4中的ZEND动态编译器产生代码的速度相当于PHP3产生代码速度的2-10倍。如果一个系统中用了ZENDOPTIMIZER执行速度又会快40%-60%。以上软件的组合绝对保证了整个系统的安全性、稳定性、可靠性和可扩展性。2.济可行性伴着LINUX的日益风靡,自由软件种类越来越多,性能越来越好。本系统的开发拟采用自由软件,这不仅保证了系统的技术可行性,还保证了系统的经济可行性。自由软件大大地降低了开发成本,也降低了产品成本。另一方面,本系统产品化后,其将硬件软件一体化的独到经营思路必能引发经常性收益。3.社会可行性本系统的社会可行性主要体现在以下几方面:l自由软件的使用使得在软件方面避免了任何版权、专利权等法律问题的纠缠。l本系统软件硬件一体化解决了当前自由软件安装配置难的问题,满足了用户的需要。l由于开发成本的降低使得产品价格也会在市场上占据绝对优势。________________________需求规格说明一、任务概述需求分析工作是软件生存期中重要的一步,也是起决定性的一步。我们试图通过它来全面了解整个系统的软件功能和性能方面的要求,为软件设计打下坚实的基础。该部分的目标主要有:获得当前系统的物理模型,了解当前系统是如何运行的;抽象出当前系统的逻辑模型,对物理模型进行筛选,得到与软件系统有关的部分;建立电子邮件系统的逻辑模型,得出数据流图和数据字典;补充目标系统的逻辑模型,对目标系统的用户界面,至今尚未考虑的细节进行说明。二、数据描述1.数据库描述本系统自始至终都是在通过数据库操作,对数据库的性能要求特别高。平均每个操作要访问数据库C1次,每次访问数据库要检索数据记录CN条(N为用户数,C,C1为访问系数)。所以数据库访问的频率是C1*C*N*M(M表示每秒在线用户的平均数)。数据库中有些表的属性比较多,而且某些表的数据将用来检索用户的邮箱,所以要求数据库的访问能力比较强。本系统的数据库用LINUX的MYSQL.MySQL是一个小巧灵珑的数据库服务器软件,对于应用系统是非常理想的。除了支持标准的ANSISQL语句,它还支持多种平台,而在Unix系统上该软件支持多线程运行方式,从而能获得相当好的性能。对于不使用Unix的用户,它可以在WindowsNT系统上以系统服务方式运行,或者在Windows95/98系统上以普通进程方式运行.PHP-MySQL的组合还可以跨平台运行,这意味着可以在Windows上开发,然后在Unix平台上运行。2.数据流图本系统的运行流程主要是在用户和系统之间交互进行。用户分为新用户和已注册用户,因为新用户的注册和已注册用户的流程相对比较独立,所以整个系统的数据流图分两部分。系统的一级流图如下所示:新用户注册已注册用户已注册信息用户信息已注册用户忘记密码处理已注册用户登录浏览信
本文标题:软件开发文档范例
链接地址:https://www.777doc.com/doc-2156673 .html