《炫酷提醒工具软件的设计与实现设计说明书.docx》由会员分享,可在线阅读,更多相关《炫酷提醒工具软件的设计与实现设计说明书.docx(13页珍藏版)》请在优知文库上搜索。
1、炫酷提醒工具软件的设计与实现设计说明书炫酷提醒工具软件的设计与实现一、需求分析1、功能模型52、业务类图5二、系统设计1、详细类图、构件图62、数据设计73、任务设计94、Ul设计9三、实现1、主要业务对象的编码实现112、程序设计风格133、测试14四、总结1、OoAD的开发过程的认识142、UML在分析设计中的作用143、设计模式的使用经验144、源程序文档化的重要性145、边设计、边编码、边测试的经验总结146、对对象使用的经验总结147、使用第三方构件中对象的使用经验158、如何编写自己的事件响应机制15一、需求分析1、功能模型系统配置2、业务类图系统配置二、系统设计1、详细类图、构件
2、图a.系统配置子系统类图IsettingwinleftwintopinwkithAVinheightlastmusicpositionIoadFromFiIeO*SaveToFile()b.音乐播放子系统类图c.语言提示子系统类图2、数据设计FormMain类的数据:publicSettingsetting;音频播放设置publicclocksettingclockrecode;/定时报时设置privateintrowofselected;选中行的行号privateintrow;选中的行在IiSt中的索引号publicstringMusicListFilename=MusicList.mist
3、”;缺省的音乐列表MusicListmist=nul1;MediaPlayMusicPlayer=null;intplayingrow=-1;正在播放音乐的行VoiceListvlst=null;stringVOiCeLiStFiIename;/声明语音列表文件VoicePlayervoiceplayer;Recodc类的数据:publicinttype;表示是哪种类型;publicstringthistime;设置的时间publicstringtime;下一次提醒的时间publicboollist;标记每星期的哪几天要提醒publicinttimes;循环提醒的剩余提醒次数publicint
4、number;/记录的序号clock_setting类的数据:publicRecodelist;用来存放记录publicuintnum_recode;记录的条数publicintfenpei;序号分配器MusicTtem类的数据:privateintsn;privatestringfilename;音频文件privateintduration;时长privateintvolume;波形音量放大系数,O-TOo,100表示原样大小privateboolused;/是否启用privateintfixedtime;定时记录的开播时间privateintstarttime;/计算记录的开播时间publ
5、iceventPropertyChangedEventHandlerPropertyChanged;VoicePlayer的数据:SpeechSynthesizerhintsynth;publicListInstalledVoices=newList();安装的语音库3、任务设计4、UI设计音乐播放界面:语言提示界面:三炫酷提供工Jl音乐播放:遹音提示,定时报时参数设置播放停止I打开保存I筋为增加记录|而踢新建音乐列表I语音文本提示时间rl*i速度朗读次数是否启用序号朗读文本提醒时间是否启用朗读次数音里速度O今天是课程设计的最后一天09:20:00True1100Y02:今天好高兴,学会语音提
6、.08:00:00True2100-203:今天好高兴,学会语音提09:00:00True2100-204:今天好型,学会语音提10:00:00Tru2100-205:今天好高兴,学会语音提11:00:00Trut2100-206:今天好嘉兴,学会诺W提12:00:00Trut2100-207:今天好高兴,学会语音提13:00:00Tru.2100-208:今天好高兴,学会语音提.14:00:00True2100-209:今天好高兴,学会语音提15:00:00True2100-2010:今天好高兴,学会语音提.16:00:00True2100-201:今天好高兴,学会语音提07:00:00Tr
7、ue2100-2信息编辑文件MusicListmIst定时报时界面:参数设置界面:三、实现1、主要业务对象的编码实现增加定点报时记录代码:privatevoidbutton2_Click(objectsender,EventArgse)temp,type=1;temp,number=clock_recode.fenpei+;temp,thistime=Current_Timer.Text;temp,time=textBoxl.Text;temp,list=newbool7;temp.list0=checkBoxl.Checked;temp.listl=checkBox2.Checked:tem
8、p.list2=checkBox3.Checked;temp.list3=checkBox4.Checked;temp.list4=checkBox5.Checked;temp.list5=checkBox6.Checked:temp.list6=checkBox7.Checked:stringbeizhu=stringtt=newString7“星期一J星期二星期三星期四星期五星期六星期天;for(inti=0;i7;+i)if(temp.listi)beizhu+=tti;);clock_recode.listclock_recode.num_recode+=temp;添加到记录中Iist
9、Viewl.Items.Add(newLiStViewItem(newstring+temp.number,“在这个点报时“,temp.time,beizhu);checkBoxl.Checked=false;checkBox2.Checked=false;checkBox3.Checked=false;checkBox4.Checked=false;checkBox5.Checked=false;checkBox6.Checked=false;checkBox7.Checked=false;textBoxl.Text=00:00:00”;)修改记录代码:privatevoidbutton5_
10、Click(objectsender,EventArgse)if(row0&IistViewl.Itemsrowofselected.Selected=false)return;temp,type=1;temp,number=clock_recode.listrow,number;temp,thistime=Current_Timer.Text;temp,time=textBoxl.Text;temp,list=newbool7;temp.list0=checkBoxl.Checked;temp.listl=checkBox2.Checked:temp.list2=checkBox3.Chec
11、ked;temp.list3=checkBox4.Checked;temp.list4=checkBox5.Checked;temp.list5=checkBox6.Checked:temp.list6=checkBox7.Checked;stringbeizhu=;stringtt=newstring7“星期一星期二星期三星期四星期五星期六星期天;for(inti=0;i7:+i)(if(temp,listi)beizhu+=tti;);clock_recode.Iistrow=temp;修改到记录中IistViewl.IternsErowofselected.SubItemsEO.Text
12、=temp,number.ToStringO;IistViewl.IternsErowofselectecl.SubItemstl.Text=在这个点报时“;IistViewl.IternsErowofselected.Subltems2.Text=temp,time;IistViewLItemstrowofselected.Subltems3.Text=beizhu;)删除记录代码:privatevoidbuttonl2_Click(objectsender,EventArgse)if(rowO&IistViewl.IternsErowofselected.Selected=false)re
13、turn;IistViewLItemsErowofselected.RemoveO;for(inti=row;iclock_recode.num_recode-1;+i)clock_recode.listi=clock_recode.listi+1;clock_recode.num_recode;IistViewl.SelectedItems.ClearO:2、程序设计风格3、测试四、总结1、OOAD的开发过程的认识OOAD工具能协助人们建立企业系统及资讯系统的模式(model)。由于OOAD的概念和技术对目前大多数的人们而言,仍然是新接触的东西。所以对大多数的Nrier系统开发团队来说,学习OOAD的观念和技术是一项费时的事情,但是学习又是获取工作所需的技巧的必经之路。此时,透过OOAD工具来加快学习速度和效果是个重要的途径。2、UML在分析设计中的作用类图一般在详细设计过程中出现,主要用来描述系统中各个模块中类之间的关系,包括类或者类与接口的继承关系,类之间的依赖、聚合等关系。它还描述每一个类的详细信息,包括变量,和方法,通过类图,就能实际的把系统中的各个类,即对象描述清楚,下一步就是按照这个详细的设计编码了。3、设计模式的使用经验工厂模式(FaCtOry):定义一个用以创建对象的接口,让子类