IT项目管理详细设计文档Word格式文档下载.docx
- 文档编号:699160
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:19
- 大小:279.78KB
IT项目管理详细设计文档Word格式文档下载.docx
《IT项目管理详细设计文档Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《IT项目管理详细设计文档Word格式文档下载.docx(19页珍藏版)》请在冰点文库上搜索。
11、切割:
通过特征点来划分点集属于的图元类型。
12、拟合:
将被划分好的图元计算出最能代表该点集的方程表达式。
3用例
上图表明使用本系统的用户需要打开软件系统,就能使用系统,用户输入图形进行草图识别,并可以对识别出来的图形进行清空、保存等功能。
用例描述
序号
用例编号
用例名称
简单描述
1
UC_01
graph-input
用户进行草图输入
2
UC_02
graph-save
用户对识别出来的图形进行保存
3
UC_03
graph-load
用户读取已经保存的图形
4
UC_04
graph-delete
用户对识别出来的图形进行清空删除
5
UC_05
graph-adjust
用户对已绘制的图形进行调整
6
UC_06
graph-handle
对输入的草图进行的一系列处理过程
7
UC_07
pre-handle
系统对输入的草图进行预处理
8
UC_08
graph-cut
系统根据特征点进行图元的分割
9
UC_09
graph-recognization
系统对分割出来的图元进行识别
10
UC_10
graph-rebuild
系统根据划分出来的图元进行图形的重组
11
UC_11
graph-reshape
系统对重组出来的图形进行规整
12
UC_12
graph-constraint
系统对已有图形保持几何约束
13
UC_13
graph-output
系统输出一系列图形处理步骤后产生的图形
4设计概述
4.1简述
本系统主要采用面向对象设计、主机的结构模式进行开发,利用数学的几何知识进行求解问题。
4.2系统非功能描述、约束与估算
4.2.1系统非功能描述和约束如下表
任何一台具有一定的内存、无问题的CPU、一定的数据存储量的可使用的iPad即可。
4.2.2估算
暂无问题。
4.3系统的复用计划
库、框架、模式、构件等方面的复用暂不考虑。
4.4系统结构设计
4.4.1系统边界模型
1.可有效识别出基本图形,比如直线,三角形,圆形等。
2.同时具有实时调整图形的功能。
3.提供保存和重新载入功能。
4.提供录音和录频的功能。
5.提供笔形,笔色,背景色选择功能。
6.提供坐标系坐标功能。
4.4.2系统功能架构
1、智能几何(smartgeometry)系统技术框架主要包括七部分:
笔交互信息收集,用户意图判断器,笔迹识别,图形选定,编辑,存储。
2、笔交互信息收集:
负责从外部硬件环境中获取最初的点集信息(Pen_Info),并对收集到的点集信息进行早期的预处理,包括平滑和消除躁点处理,最后得到经过预处理以后的点集信息信息,被称为笔迹(Stroke)。
3、笔迹识别:
分别对图元或者手势进行识别:
<
1>
对图元的识别包括先对笔迹(Stroke)进行分割,产生一系列图元对象(Gunit)集合,并对其识别和重构,最终得到图形对象(Graph),其中图元对(Gunit)包括点图元(Point_Unit),直线图元(Line_Unit),曲线图元(Curve_Unit),图形对象(Graph)是由多个图元(Gunit)对象构成,包括点图形(Point_Graph),直线图形(Line_Graph),曲线图形(Curve_Graph)(圆,椭圆或者弧),三角形(Triangle_Graph),四边形(Rectangle_Graph),和特殊图形(Other_Graph)。
2>
对手势的识别包括从专家库中获取判断手势意图的规则,最后识别出手势的意图。
4、图形选定:
负责对存在约束的图形几何的选定,主要通过图形探查器对图形进行选定操作,选定的图形被称为Selected_Obj。
5、编辑:
用户进入编辑态时,可以对选定图形进行缩放,变形,移动,旋转四种编辑。
6、存储:
对用户操作完后的图形进行存储。
4.4.3系统的逻辑架构
笔交互信息收集转换器:
负责从外部硬件环境中获取最初的点集信息Pen_Info,并对Pen_Info进行早期预处理,包括平滑和消噪处理,最后得到经过预处理以后的点集信息,被称为笔迹Stroke。
用户意图判断器:
负责从笔迹Stroke中判断用户意图,用户意图包括画图意图Sketch和手势意图Gesture。
识别器:
分别对图元和手势进行识别:
对图元的识别包括先对笔迹Stroke进行分割,产生一系列图元对象Gunit集合,并对其识别和重构,最终得到图形对象Graph,其中图元对象Gunit包括点图元Point_Unit、直线图元Line_Unit、曲线图元Curve_Unit,图形对象Graph是由多个图元Gunit对象构成,包括点图形Point_Graph、直线图形Line_Graph、曲线图形(圆、椭圆或者弧)Curve_Graph、三角形Triangle_Graph、四边形Rectangle_Graph、和非特殊图形Other_Graph;
图形选定器:
负责对存在约束的图形几何的选定,主要通过图形探查器对图形进行选定操作,选定的图形被称为Selected_Obj,跟当前选中图形Selected_Obj存在约束的图形将通过约束探查器查找几何约束表来一起选定,一起选定的图形被放在一个链表里,该链表被称为Selected_Graph_List。
动态几何约束器:
负责对存在约束的几何图形之间进行编辑操作时候的动态约束保持,核心模块为动态几何处理器,将存在几何约束的选中图形的集合Selected_Graph_List作为输入,可对改集合里面的图形进行旋转、平移、缩放和拖动顶点等编辑操作,用户进行编辑操作的时候,图形与图形之间的几何约束关系将得到动态保持。
存储转换器:
负责将图形的性质和图形跟其他图形之间的动态关系存储下来。
绘图器:
负责图形和图形之间几何约束关系的表示以及其他特殊类型图形标识的绘制,其中每个图形可用用户自定义的画笔进行绘制,且图形与图形之间的几何约束和特殊类型图形的标识都采取常见的标识。
4.4.4系统的物理架构
系统的运行环境:
iOS操作系统(4.3及以上)
开发环境:
MacOSXLion操作系统,Xcode
4.4.5系统数据模型
编号
名称
说明
Point
由两个整形组成,记录点的坐标
Vector<
T>
链表,用于记录数据类型为T的一系列数据
Gunit
图元类,有一个List<
Point>
数据成员,表示该图元的点信息
Constrain
用于记录图形与图形的约束,由约束的类型和与其相关联的图形的指针
Line_unit
直线图元类,是Gunit的子类,拥有Point类型的数据成员,分别表示直线的起点和终点,这条直线和效率的截距
Curve_unit
二次曲线类,是Gunit的子类,拥有6个double类型的参数,分别是二次曲线方称Ax2+Bxy+Cy2+Dx+Ey+F=0
Graph
图形类,并具有一个vector<
constraint>
的约束列表记录与该图形有关的约束
Line_Graph
包含一个line_unit,图形类的子类
Curve_Graph
曲线图形,包含一个curve_unit,图形类的子类
Triangle_Graph
包含三个line_graph,用于直线的约束,也拥有三角形的约束
Rectangle_Graph
包含四条直线
Other_Graph
存储非二次曲线轨迹
各个类的数据成员都设为Public,可以直接通过点访问。
整个系统分为两部分数据:
图形集和约束集系统使用十字链表来存储图形,通过约束建立图形与图形之间的联系。
在实现动态的约
束保持的时候使用该十字链表,通过遍历有约束的图形从而得到一起变化的图形。
4.5系统的接口设计
4.5.1用户接口
基于笔交互的概念整个界面与传统GUI界面设计风格不同,本系统将提供一个简洁的界面,只需要使用手指就可以轻松地进行操作。
在草图绘制勾画区域,落笔可以进行相应的草图绘制
1、点击Penstyle图标就可以进行笔形的选择
2、点击PenColor图标可以进行笔色选择
3、点击Record图标再在里面选择开始,暂停,终止进行录制或者暂停终止等操作
4、点击save图标,进行存储操作
5、点击Open图标,选择需要打开的文件则可以重新载入原本的文件
6、点击clear图标,就可以清除掉画板上的所有图形
7、点击chart图标,可以坐标及坐标系
8、点击Minimum图标,就可以将程序最小化
9、点击Exit图标,就可以退出该运行程序
4.5.2外部接口
无
4.5.3内部接口
说明本系统之内的各个系统元素之间的接口的安排。
作用
函数原型
vector<
Pen_Info:
:
getNewPen_Info()
特征点识别
voidCut(vector<
pList,vector<
Gunit>
gList)
图元分割
GUnit*GUnit:
recognize(vector<
&
pList)
图元重组
boolStroke:
rebuild(vector<
&
real,vector<
int>
special)
图形规整
voidHolotactic(List<
Graph>
grList)
文件保存
voidCEditorView:
save_)
文件加载
open_)
图形输出
paint_units_graphs()
约束识别
recognize_constrains(vector<
Graph*>
selected_list)
4.6系统约束与策略
4.6.1系统约束如下
性能
1、提供先进的识别技术,提高图形处理响应速度
2、草图识别的时间不超过0.2s
3、容量上的扩展以及功能上的补充
易维护
本系统设计到很多维护的流程,应方便维护,以提高工作效率。
响应速度快
系统在处理图形时,对系统延迟往往有一个忍耐极限,所以要求系统响应速度应在用户忍耐范围内。
稳定性
1、故障间隔时间应大于1000小时
2、系统要保证数据的一致性,完整性,准确性要求达到99%
扩展性
对新增业务,系统提供业务组件的动态部署功能,和平滑升级功能。
易操作性
要求操作界面简单方便
4.6.2系统策略
采用原生的SDK,利用数学几何知识以及高斯离散维数积分的知识来提高性能。
4.7对象模型设计
4.7.1Stroke类
属性/方法
QList<
pList
定义一个存储一个笔迹当中所有点对象的动态数组
GUnit*>
glist
存放单个STROKE里面的图元
Stroke(QList<
)
构造函数,传入一次落笔提笔间所有的点对象
Voidfind_Specialpoint(QList<
);
voidSpeed(QList<
)
速度过滤方法:
低于平均值的一定百分比算是特征点
voidCurvity(QList<
曲率过滤
voidDirection(QList<
方向过滤
voidSpace(QList<
进一步处理
GUnit*recognize(QList<
识别各个图形的类别
4.7.2GUnit类
Pointstart
起点
Pointend
终点
inttype
图元类型
intid
图元编号
boolisSelected
当前是否被选中
virtualvoiddraw(QPainter&
接口函数,画出图元,继承的图元类实现
virtualvoidtranslation(Point&
接口函数,平移图元,继承的图元类实现
virtualvoidrotation(qreal&
接口函数,旋转图元,继承的图元类实现
virtualvoidscale(void)
接口函数,放大图元,继承的图元类实现
4.7.3Point_Unit类
qrealaxisX
点的横坐标
qrealaxisY
点的纵坐标
voiddraw(QPainter&
画出点
4.7.4Line_Unit类
Pointcut_point
记录在与之相切的圆上的切点即在原点的情况下的圆的切点
boolisCutLine
是否是圆的切线
booljudge(QList<
)
计算出直线的相关系数通过相关系数进行判断是否为直线
voiddraw(QPainter&
画出直线
4.7.5Curve_Unit类
qreala,b,c,d,e,f
为二次曲线的标准最简式a*x^2+b*xy+c*y^2+d*x+e*y+f=0的系数
qrealmajor_axis,minor_axis
长轴,短轴;
major_axis是x方向上的轴长;
minor_axis是y方向上的轴长
Pointcentre
中心坐标
Pointf1,f2
焦点
Pointmove
移动的向量坐标
qrealalpha
旋转角
qrealstart_angle,end_angle
画弧线时的起始角和终止角(并非是起始点、终点和原点的连线与坐标轴的夹角)在画二次曲线时有作用
boolellipse
椭圆为true,圆为false
boolishalfCurve
如果是半个以上的二次弧线则为真,默认值是false
track
非二次曲线轨迹
boolIsSecDegreeCurv(QList<
如果是二次曲线返回true,如果是非二次曲线则返回false
voidjudge(QList<
判断是何种二次曲线
boolLine_tangent(Line_Unit)
计算一个曲线的切线
boolLine_Curve_CutPoint(qreal&
qreal&
qreal&
qreal&
求直线和曲线的切点,并进行判断,只有当该切点在该直线和曲线上时才返回真,//当draw为true的时候画出切点
4.7.5Graph类
用于存储时标识出图形的类型
QList<
Constraint>
constraint_list
存储与图形约束的其他图形信息
intlocal_graph_id
图形的ID
是否被选中
virtualboolrecognize_constraint(Graph*,QList<
Point_Graph*>
识别图形与其他已存在的图形之间是否存在约束约束
voidconstruct_constraint(Graph*,Constraint_Type,Graph*,Constraint_Type)
如果存在约束,将约束构造出来
virtualvoidtranslation(constQPointF&
虚函数,平移选定图形及其相应的约束
virtualvoidrotation(constqreal&
constQPointF&
虚函数,旋转选定图形及其相应的约束
virtualvoidscale(constqreal&
虚函数,放大或缩小选定图形及其相应的约束
4.7.5Point_Graph类
boolbelong_to_rectangle
是否在矩形上
boolis_on_line
是否在直线上
boolvertex_of_special_line
标识它是否为三角形特殊线的落在三角形边上的端点,在KEEP的时候有用
boolcut_point_of_circles
标识是否为两个圆的切点
voidkeep_constraint(Point&
总领函数,用于直接拖动点的时候用,传进一个点的坐标,然后根据点所在的直线的性质不同,传不同的参数给
voidkeep_vertex_of_line(Graph*)
当某一个顶点动了的时候,可以调用这个函数来调整那些以它作为端点的直线,而不是调用总的KEEP_CONSTRAINT
4.7.6Line_Graph类
Line_Unit*line;
指向相应的图元
boolhas_start,has_end;
用于识别约束时表示直线的端点有没有跟点列表里面的点图形连到了一齐
boolis_special
用于标识直线是否为三角形的三角形的特殊线
boolis_tangent
用于标识直线是否为切线
voidrecognize_constraint(QList<
用以约束识别开始阶段时的直线和存在的点之间的约束识别
voidadjust_vertex(Point,int)
用于固定一端后来根据一个直线上新的点来调整另一端的位置,0为start,1为end
boolrecognize_constraint(Graph*graph,QList<
point_list)
总领的函数
intjudge_legal_intersection(Line_Unit*,Line_Unit*,Point&
判断交点的属性
booljudge_legal_intersection(Point)
判断交点是否与直线上已有的点相同或很相近,若是的话则不必再生成新的点
voidkeep_constraint()
主要用于当直线的位置改变的时候,改变其上面存在的点的位置(非自身端点),然后再通过这些被改变的点去带动其他直线
voidkeep_point_on_line(Point_Graph*)
主要用于那些非限制点的位置变动
voidkeep_intersection_point(Point_Graph*)
用于计算交点的新位置
4.7.7Curve_Graph类
Curve_Unit*curve
boolrecognize_externally_tangent_constrain(Triangle_Graph*)
识别外切三角形
boolrecognize_constraint(Curve_Graph*,QList<
用于识别圆与圆之间的关系,内外切,或者相交
boolrecognize_constraint(Line_Graph*,QList<
用于识别圆形与直线之间的关系,总领函数
boolrecognize_constraint(Triangle_Graph*,QList<
用于识别跟三角形的交点,非内切和外接
boolrecognize_line_tangent_constrain(Line_Graph*)
识别切线
boolrecognize_diameter(Line_Graph*,QList<
用于识别直径
boolrecognize_radius(Line_Graph*,QList<
Point_Graph*>
用于识别半径
boolrecognize_common_line_constraint(Line_Graph*,QList<
识别与直线的一般约束
booljudge_recognization(Line_Graph*)
判断是否应该进行直径半径和一般直线的识别
intjudge_legal_intersection(Line_Graph*,Point)
判断直线与圆的交点是否符合条件:
-1为不在直线上,0为在直线上,1为起点,2为末尾点
voidmake_constraint(Line_Graph*,Point&
QList<
生成直线和圆相交的点的有关约束
boolrecognize_constraint(Graph*,QList<
4.7.8Triangle_Graph类
QLis
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IT 项目 管理 详细 设计 文档