软件开发文档范例详细设计说明书.pdf
《软件开发文档范例详细设计说明书.pdf》由会员分享,可在线阅读,更多相关《软件开发文档范例详细设计说明书.pdf(18页珍藏版)》请在冰豆网上搜索。
11五详细设计说明书五详细设计说明书1、引言:
引言:
1、1编写目的:
编写目的:
在前一阶段(概要设计说明书)中,已解决了实现该系统需求的程序模块设计问题。
包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。
在以下的详细设计报告中将对在本阶段中对系统所做的所有详细设计进行说明。
在本阶段中,确定应该如何具体地实现所要求的系统,从而在编码阶段可以把这个描述直接翻译成用具体的程序语言书写的程序。
主要的工作有:
根据在需求分析说明书中所描述的数据、功能、运行、性能需求,并依照概要设计说明书所确定的处理流程、总体结构和模块外部设计,设计软件系统的结构设计、逐个模块的程序描述(包括各模块的功能、性能、输入、输出、算法、程序逻辑、接口等等),解决如何1接受:
旅客信息及取票通知和帐单;2输出:
取票通知和帐单及机票;3网络输出和加密,输入和解密;4分辨信息的种类并采取相应的处理步骤;5判断信息的正误并采取相应的处理步骤;6进行数据库的查询、修改工作;7接受并判断错误,输出相应的出错消息;在以下的各个阶段中,用户操作手册将与本阶段的工作紧密结合,努力作到让用户易懂易学。
测试报告和维护报告也将参考本说明书,检验本系统的各项性能指标,及时发现纰漏及时修补,一定要把功能强大、稳定可靠、便于维护的机票预定系统交到用户手中。
1、2项目背景:
项目背景:
本项目(机票预定系统)时由浙江航空公司委托,由软件开发小组负责开发。
本机票预定系统项目主要由两部分形成:
1、各旅行社中的前台客户程序;2、航空公司中的数据库服务器程序;221、3文中特殊的定义和缩写:
文中特殊的定义和缩写:
131定义定义SQLSERVER:
系统服务器所使用的数据库管理系统(DBMS)。
SQL:
一种用于访问查询数据库的语言事务流:
数据进入模块后可能有多种路径进行处理。
主键:
数据库表中的关键域。
值互不相同。
外部主键:
数据库表中与其他表主键关联的域。
ROLLBACK:
数据库的错误恢复机制。
132缩写缩写系统:
若未特别指出,统指本机票预定系统。
SQL:
StructuredQueryLanguage(结构化查询语言)。
ATM:
AsynchronousTransferMode(异步传输模式)。
1、4参考资料:
参考资料:
以下列出在概要设计过程中所使用到的有关资料:
1机票预定系统项目计划任务书机票预定系统项目计划任务书浙江航空公司2机票预定系统项目开发计划机票预定系统项目开发计划软件开发小组3需求规格说明书需求规格说明书软件开发小组4概要设计说明书概要设计说明书软件开发小组4用户操作手册(初稿)用户操作手册(初稿)软件开发小组5软件工软件工程及其应用程及其应用周苏、王文等天津科学技术出版社6软件工程软件工程张海藩清华大学出版社7ComputerNetworkA.S.TanenbaunPrenticeHall文档所采用的标准是参照软件工程导论沈美明著的“计算机软件开发文档编写指南”。
332.总体设计:
总体设计:
2、1需求概要:
需求概要:
浙江航空公司为方便旅客,需开发一个机票预定系统。
为便于旅客由旅行社代替航空公司负责为旅客定票,旅行社把预定机票的旅客信息,包括姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地,输入机票预定系统的客户端程序,系统经过查询航空公司内的航班数据服务器后,为旅客安排航班,印出取票通知。
旅客在飞机起飞前一天凭取票通知和帐单交款后取票,系统校对无误后即印出机票给旅客。
要求系统能有效、快速、安全、可靠和无误的完成上述操作。
并要求客户机的界面要单明了,易于操作,服务器程序利于维护。
2、2软件结构:
软件结构:
各模块之间的关系已由概要设计给出。
1、客户机、客户机接受接受信息信息模块结构图模块结构图:
旅客信息输入界面1帐单和通知输入界面2PersInfoExam()CheckNoticeExam()IErrorHandle()PersInfoInput()CheckNoticeInput()PersInfoTempSave()CheckNoticeTempSave()JudgeOrderOrCash()44网络接受和发送模块2.客户机输出信息模块:
客户机输出信息模块:
网络接受和发送模块错误输出的界面3帐单和取票通知的输出界面1机票的输出界面2OrderTransPre()CashTransPre()SetCSFlag()JudgeOrderOrCash()DBOperaCheck()PersInfoComp1()CheckNoticeOutput()CheckNoticeComp()OErrorHandle()PersInfoComp2()TicketOutput()CDataRecPre()553.网络接受和发送模块结构:
网络接受和发送模块结构:
客户机接受信息模块或服务器输出信息模块客户机输出信息模块服务器输入信息模块NetReceive()NetDataPack()NetDataEncry()NetSend()NetCheck()RecPre()SendPre()NErrorHandle()NetDataDiscry()NetDataUnpack()NetMonitor()JudgeCSFlag()664.服务器模块服务器模块:
网络接受和发送模块网络接受和发送模块JudgeOrderOrCash()TicketAvailable()InfoComp()DBErrorHandle()LockTicket()AddPers()GetoutCheck()DelItem()GetoutTicket()JudgeCheckTicket()CheckTransPre()TicketTransPre()SetCSFlag()DBErrorTransPre()SDataRecPre()773、程序描述:
、程序描述:
3、1客户机接受信客户机接受信息模块息模块:
1、PersInfoExam过程:
过程:
对在旅客信息界面中输入的各项信息进行初步检验。
若发现错误,令PErrorAppear=T,判断错误类型,并将相应的错误类型PErrorType或PErrorRank作为参数,转入IErrorHandle过程。
若未发现错误,转入PersInfoInput过程。
其中的错误种类有:
1.数据类型不匹配,PErrorType=T;否则=F;姓名string旅行目的地string性别string旅行时间date工作单位string(年/月/日yy/mm/dd)身份证号码longint定票/取票boolean2、数据超出规定范围PErrorRank=T;否则=F;等等性别只能是男或女;身份证号码按规定必须是13位;旅行时间必须在定票的当天过一天以后;等等2、PersInfoInput过程过程:
经检验无误后,将输入界面表单中的数据输入到ClassPersInfoClassPersInfo/*伪码*/Stringname=姓名;Stringsex=性别;Stringcompany=工作单位;Longintidcode=身份证号码;Datestime=旅行时间;(syear/smonth/stime=年/月/日)Stringdenist=目的地Boolocflag=定票/取票883.PersInfoTempSave过程:
过程:
将由PersInfoInput输入的旅客信息保存在一个临时文件PersInfoTemp.txt中。
以备与将来从服务器经网络传输过来的数据校验。
此类temp文件在每次软件的完全过程操作后,须删除。
4.CheckNoticeExam过程过程:
对在帐单和取票通知的信息界面中输入的各项信息进行初步检验。
若发现错误,令CErrorAppear=T,判断错误类型,并将相应的错误类型CErrorType或CErrorRank作为参数,转入IErrorHandle过程。
若未发现错误,转入CheckNoticeInput过程。
其中的错误种类有:
1.数据结构不匹配,CerrorType=T,否则=F;帐单号longint姓名string身份证号码longint付款金额money航班号string取票截止日期date目的地string2.数据超出规定范围CErrorRank=T;否则=F;如帐单号不是规定的15位;金额为负;取票截止日期已过;等等5.CheckNoticeInput过程过程:
经检验无误后,将输入界面表单中的数据输入到ClassCheckNoticeClassCheckNoticLongintcncode=帐单号Stringname=姓名Longintidcode=身份证号码Moneybill=付款金额Stringplanecode=航班号Datedtime=取票截止日期99Stringdenist=目的地6.CheckNoticeSave过程过程:
将由CheckNoticeInput输入的旅客信息保存在一个临时文件CheckNoticeTemp.txt中。
以备与将来从服务器经网络传输过来的数据校验。
此类temp文件在每次软件的完全过程操作后,须删除。
7.IErrorHandle过程过程:
在PersInfoExam或CheckNoticeExam过程中若发现错误,就转入本过程,执行相应的处理,并输出相应的出错信息。
If(PErrorType=T)输出“您的个人信息可能输错了位置。
请重试。
”If(PErrorRank=T)输出“您的个人信息不适应规定范围。
请重试。
”再转入旅客信息输入的界面中。
If(CErrorType=T)输出“您的帐单信息可能输错了位置。
请重试。
”If(CErrorRank=T)输出“您的帐单信息不适应规定范围。
请重试。
”再转入帐单和取票通知信息的输入界面。
8.JudgeOrderOrCash过程:
过程:
根据PersInfoInput输入的ocflag判断本次操作是定票或取票,相应的设置标志,相应的转入OrderTransPre或CashTransPre过程.9.OrderTransPre过程过程:
定票要求传输前,作好各方面(硬件、软件)的准备。
如准备好要传输的定票信息,包括旅客信息,客户机信息等等。
客户机信息包括唯一序列号c_id,并设置等待标志waitflag=T和等待开始时间waitstime,等等。
转入网络模块后,此过程仍处于等待状态,并一直记时,当waitflag=T且系统时间超过waitstime比如十分钟后,结束操作,输出操作超时的出错信息。
当客户机接受到数据库的信息,客户机输入模块中的DataRecPre过程会置waitflag=F,这样本过程就会结束。
101010CashTranPre过程:
过程:
取票要求传输前,作好各方面(硬件、软件)的准备。
如准备好要传输的取票信息,包括帐单和取票通知的信息,客户机信息等等。
客户机信息包括唯一序列号c_id,并设置等待标志waitflag=T和等待开始时间waitstime,等等。
转入网络模块后,此过程仍处于等待状态,并一直记时,当waitflag=T且系统时间超过waitstime比如十分钟后,结束操作,输出操作超时的出错信息。
当客户机接受到数据库的信息,客户机输入模块中的DataRecPre过程会置waitflag=F,这样本过程就会结束。
11.SetCSFlag过程过程:
设置客户机/服务器标志CSFlag=T(表示将要进行的传输是从客户机到服务器)。
以备网络模块中的JudgeCSFlag过程使用。
3.2客户机输出信息