- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
综合程序设计文档要求.doc.doc
综合程序设计文档要求
综合程序设计是较为全面的面向对象程序设计实践。为了较好地达到此目的,要求综合程序设计完成“设计文挡”应包括以下内容:
一.需求分析:
根据题意,使用UML的用例(CASE)图和用例说明详细、清晰地描述准备设计的应用程序所要实现的功能的需求。
注:一个“用例”就是程序完成某一功能的概括描述。所谓用例图就是以图的形式将程序对外呈现的功能描述出来,因此是较为优秀的能清晰、简捷地描述设计需求的方法。所设计程序的“外”包括程序的使用者以及该程序运行所要交互依赖的其他软件(例如,数据库管理程序)。用例图的绘制原则是以简单、清晰、全面地概括程序所要设计的功能。
例如:编写一个能交互操作的“简单绘图程序”。该程序应能使用鼠标交互操作进行自由绘图、直线和折线;能为所绘制的图形选择线型、线宽、颜色;能将所绘制的图形???印和打印预览输出;能为绘图作者注册信息;能将所绘制的图形连同作者注册信息保存到磁盘文件中;能从所指定的磁盘文件中装载恢复图形画面和作者注册信息。
根据对需求分析的撰写要求,该例题的需求分析如下:
一.需求分析:
1 用例图
用户
绘制直线
选择线型和线宽
选择颜色
注册作者信息
打印/打印预览
保存图形和作者信息
装载图形和作者信息
自由绘制
绘制折线
2 用例说明
⑴ 自由绘图:用户可以通过按下鼠标左键拖拽在窗口客户区中自由绘制。
⑵ 绘制直线:用户可以通过确定的鼠标拖拽操作在窗口客户区中绘制一条直线。
⑶ 绘制折线:用户可以通过确定的鼠标拖拽操作在窗口客户区中绘制一条折线。
⑷ 选择线型和线宽:用户可以在一个工具界面中为下一次绘图选择线型和线宽。
⑸ 选择颜色:用户可以在一个工具界面中为下一次绘图颜色。
⑹ 注册作者信息:用户在将所绘制的图形打印或打印预览之前必须进行作者信息注册。
⑺ 打印/打印预览:用户可以将所绘制的图形打印或打印预览输出。
⑻ 保存图形和作者信息:用户可以将所绘制的图形和作者信息写入一个指定磁盘文件中。
⑼ 装载图形和作者信息:用户可以从一个指定磁盘文件中装载、恢复图形和作者信息。
(
二. 二. 总体设计:
根据程序的需求分析,按照面向对象的设计方法描述程序的总体设计。这部分内容包括:程序的项目模式选择,类的静态设计(类图,类的派生、关联、聚合和合成图),类的动态设计(类时序图)。
例如:“简单绘图程序”的总体设计:
二. 总体设计:
1.程序的项目模式选择
归纳需求分析中的功能要求,该程序的工作特点是:绘图的交互操作和图形画面的显示需要在一个窗口的客户区中进行;绘制的图形数据的存放、管理、与磁盘文件之间的读写操作在一个文档对象来完成。因此,选用MFC的文档 – 视图结构能方便地实现合理的程序结构,有利于模块化的MVC层次结构的实现。同时,为了能满足程序运行时程序框架中有多幅图形画面同时显示,所以决定选择MFC的多文档 – 视图(MDI)项目模式创建“简单绘图程序”。程序的项目名命名为“Draw”
2.类的静态设计
组成“简单绘图程序”的类可以分为程序框架类、绘图数据类和绘图工具类
⑴ 程序框架类
CDrawApp
+ InitInstance() : BOOL
·应用程序类
CMainFrame
+ m_penSelDlgBar:CPenSelectDlgBar
+ m_colorSelDlgBar:CColorSelectDlgBar
#OnCreate(inout lpCreateStruct:LPCREATESTRUCT):int
# OnSize(in nType:UINT, in cx:int, in cy:int)
# OnViewPenSelBar()
# OnViewColorSelBar()
# OnUpdateViewPenSelBar(inout pCmdUI:CCmdUI*)
# OnUpdateViewColorSelBar(inout pCmdUI:CCmdUI*)
·主框架类
·子框架类
CChildFrame
·文档类
CDrawDoc
+ m_ptList:CTypedPtrListCObList,CLine*
+ Serialize(inout ar:CArchive)
·视图类
CDrawView
# m_szAuthorName:CString
# m_nStyleLine:int
# m_nWidthLine:int
# m_colorLine:COLORREF
# m_typeDraw:int
# m_ptStart:CPoint
# m_ptEnd:CPoint
+ CDrawView()
# OnActivateView(in bActivate:BOOL, in pActivat
文档评论(0)