欢迎来到天天文库
浏览记录
ID:15260922
大小:189.50 KB
页数:12页
时间:2018-08-02
《综合程序设计文档要求》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、综合程序设计文档要求综合程序设计是较为全面的面向对象程序设计实践。为了较好地达到此目的,要求综合程序设计完成“设计文挡”应包括以下内容:一.需求分析:根据题意,使用UML的用例(CASE)图和用例说明详细、清晰地描述准备设计的应用程序所要实现的功能的需求。注:一个“用例”就是程序完成某一功能的概括描述。所谓用例图就是以图的形式将程序对外呈现的功能描述出来,因此是较为优秀的能清晰、简捷地描述设计需求的方法。所设计程序的“外”包括程序的使用者以及该程序运行所要交互依赖的其他软件(例如,数据库管理程序)。用例图的绘制原则是以简单、清晰、全面地概括程序所要设计的功能。例如:编写一个能交互操作的“简单绘
2、图程序”。该程序应能使用鼠标交互操作进行自由绘图、直线和折线;能为所绘制的图形选择线型、线宽、颜色;能将所绘制的图形打印和打印预览输出;能为绘图作者注册信息;能将所绘制的图形连同作者注册信息保存到磁盘文件中;能从所指定的磁盘文件中装载恢复图形画面和作者注册信息。根据对需求分析的撰写要求,该例题的需求分析如下:一.需求分析:1用例图用户绘制直线选择线型和线宽选择颜色注册作者信息打印/打印预览保存图形和作者信息装载图形和作者信息自由绘制绘制折线2用例说明⑴自由绘图:用户可以通过按下鼠标左键拖拽在窗口客户区中自由绘制。⑵绘制直线:用户可以通过确定的鼠标拖拽操作在窗口客户区中绘制一条直线。⑶绘制折线:
3、用户可以通过确定的鼠标拖拽操作在窗口客户区中绘制一条折线。⑷选择线型和线宽:用户可以在一个工具界面中为下一次绘图选择线型和线宽。⑸选择颜色:用户可以在一个工具界面中为下一次绘图颜色。⑹注册作者信息:用户在将所绘制的图形打印或打印预览之前必须进行作者信息注册。⑺打印/打印预览:用户可以将所绘制的图形打印或打印预览输出。⑻保存图形和作者信息:用户可以将所绘制的图形和作者信息写入一个指定磁盘文件中。⑼装载图形和作者信息:用户可以从一个指定磁盘文件中装载、恢复图形和作者信息。(二.二.总体设计:根据程序的需求分析,按照面向对象的设计方法描述程序的总体设计。这部分内容包括:程序的项目模式选择,类的静态设
4、计(类图,类的派生、关联、聚合和合成图),类的动态设计(类时序图)。例如:“简单绘图程序”的总体设计:二.总体设计:1.程序的项目模式选择归纳需求分析中的功能要求,该程序的工作特点是:绘图的交互操作和图形画面的显示需要在一个窗口的客户区中进行;绘制的图形数据的存放、管理、与磁盘文件之间的读写操作在一个文档对象来完成。因此,选用MFC的文档–视图结构能方便地实现合理的程序结构,有利于模块化的MVC层次结构的实现。同时,为了能满足程序运行时程序框架中有多幅图形画面同时显示,所以决定选择MFC的多文档–视图(MDI)项目模式创建“简单绘图程序”。程序的项目名命名为“Draw”2.类的静态设计组成“简
5、单绘图程序”的类可以分为程序框架类、绘图数据类和绘图工具类⑴程序框架类CDrawApp+InitInstance():BOOL·应用程序类CMainFrame+m_penSelDlgBar:CPenSelectDlgBar+m_colorSelDlgBar:CColorSelectDlgBar#OnCreate(inoutlpCreateStruct:LPCREATESTRUCT):int#OnSize(innType:UINT,incx:int,incy:int)#OnViewPenSelBar()#OnViewColorSelBar()#OnUpdateViewPenSelBar(inou
6、tpCmdUI:CCmdUI*)#OnUpdateViewColorSelBar(inoutpCmdUI:CCmdUI*)·主框架类·子框架类CChildFrame·文档类CDrawDoc+m_ptList:CTypedPtrList+Serialize(inoutar:CArchive&)·视图类CDrawView#m_szAuthorName:CString#m_nStyleLine:int#m_nWidthLine:int#m_colorLine:COLORREF#m_typeDraw:int#m_ptStart:CPoint#m_ptEnd:CPoint
7、+CDrawView()#OnActivateView(inbActivate:BOOL,inpActivateView:CView*,inpDeactiveView:CView*)+OnDraw(inpDC:CDC*)#OnFreeDraw()#OnInitialUpdate()#OnLButtonDown(innFlags:UINT,inpoint:CPoint)#OnLButtonUp(in
此文档下载收益归作者所有