面向对象分析实验报告模板.doc

上传人:知****量 文档编号:67703091 上传时间:2022-12-26 格式:DOC 页数:11 大小:192KB
返回 下载 相关 举报
面向对象分析实验报告模板.doc_第1页
第1页 / 共11页
面向对象分析实验报告模板.doc_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《面向对象分析实验报告模板.doc》由会员分享,可在线阅读,更多相关《面向对象分析实验报告模板.doc(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、.word.zl.工业大学计算机科学与技术学院工业大学计算机科学与技术学院20212021 年秋季学期年秋季学期?软件工程软件工程?LabLab 7 7:OOOO 分析与设计分析与设计XXXX学号学号联系式联系式秀1150320219Email/手机.word.zl.目目录录1 实验要求 12 类识别 12.1 边界类 12.2 控制类 12.3 实体类 13 领域模型 23.1 分析类图 23.2 实体类图 23.3 实体类 1 错误!未定义书签。错误!未定义书签。3.4 实体类 2 错误!未定义书签。错误!未定义书签。3.5 实体类 n 错误!未定义书签。错误!未定义书签。4 时序模型 5

2、4.1 读入文本并生成有向图 64.2 查询桥接词 64.3 根据 bridge word 生成新文本 64.4 计算两个单词之间的最短路径 64.5 随机游走 65 根据 OO 模型生成的类代码框架 65.1 实体类 1 错误!未定义书签。错误!未定义书签。5.2 实体类 2 错误!未定义书签。错误!未定义书签。5.3 实体类 n 错误!未定义书签。错误!未定义书签。6 对 Lab6 代码的重构 87 重构之后的回归测试 98 测试之后的 Git 提交 99 小结 9文档全部完成之后,请更新上述区域.word.zl.1 1实验要求实验要求针对针对 Lab6Lab6 之后的之后的 Lab1La

3、b1 代码,使用代码,使用 OOOO 思想对其进展重构思想对其进展重构StepStep 1 1:识别边界类、控制类、实体类:识别边界类、控制类、实体类StepStep 2 2:设计各边界类、控制类、实体类的属性:设计各边界类、控制类、实体类的属性StepStep 3 3:设计各边界类、控制类、实体类的法:设计各边界类、控制类、实体类的法StepStep 4 4:建立分析类图,描述三种分析类之间的逻辑关系:建立分析类图,描述三种分析类之间的逻辑关系StepStep 5 5:建立领域类图,描述实体类之间的五种关系:建立领域类图,描述实体类之间的五种关系(继承、关联、组合、聚合、依赖继承、关联、组合

4、、聚合、依赖)StepStep 6 6:建立时序模型,描述三种分析类之间的消息流和调用关系:建立时序模型,描述三种分析类之间的消息流和调用关系2 2类识别类识别2.12.1 边界类边界类类名中文类名英文类的作用概述用户交互界面类UIproject1用于系统与用户之间的交互2.22.2 控制类控制类类名中文类名英文类的作用概述控制向量操作Draw_operate用于控制向量画图操作与数据控制图存储操作模块Graph_operate用于控制图形成与图各种操作反响到界面上2.32.3 实体类实体类类名中文类名英文类的作用概述向量储存Vec存句子的一些词连接关系图存储数据构造WordGraph用于存储

5、图以及有关于图中数据的一系列操作画图文件Draw用于在画图系统文本和图片文件容读写存储.word.zl.3 3领域模型领域模型3.13.1 分析类图分析类图建立边界类、控制类、实体类之间的关联关系,使用 UML 类图形式描述该图需要使用某种 UML 建模工具绘制。该分析类图中无需给出实体类的属性和法。注意:本图中出现的所有类,均应在第 2 局部的三个表格里有所定义;图中的类名均使用中文。3.23.2 实体类图实体类图仅针对实体类,建立 UML 类图,需详细刻画各类的全体属性集合可见性、名称、数据类型、全体操作集合可见性、名称、返回值数据类型、参数列表、类之间的关系关联、组合、聚合、依赖、继承,

6、以及关系的角色名、多重性、向等信息。该图需要使用某种 UML 建模工具绘制。注意:本图中出现的所有实体类,均应在第 4.3 节的表格里有所定义;图中的类名、属性名、法名、参数名均使用中文。3.33.3 画图文件画图文件D Drawraw属性定义属性定义属性名英文,与程序中的名属性含义数据类型缺省值可见性public、private、protected类型根本属性、关联属性、状态属性、派生属.word.zl.字一致性画 图 文件写好代码的 dot 文件Fileprivate根本属性图 片 文件Dot 文件转换成的 jpg 文件Fileprivate根本属性操作设计操作设计操作名英文,与程序中的名

7、字一致操作含义与部逻辑概述即:该法实现什么功能可见性参数列表返回值类型类型对属性CRUD 的操作、状态更新操作、辅助操作名称数据类型生 成 图 代码写成将向量数组中的词变成用 dot 写的代码PublicwordsArrayListFile图 存 为 图片格式将 dot 文件转化为图片格式保存PublicFile1FileFile3.43.4 向量储存向量储存 VecVec属性定义属性定义属性名英文,与程序中的名字一致属性含义数据类型缺省值可见性public、private、protected类型根本属性、关联属性、状态属性、派生属性一维有重复向量文件中的词读取后直接存储的一维向量ArrayL

8、istprivate根本属性操作设计操作设计操作名英文,与程序中的名字一致操作含义与部逻辑概述即:该法实现什么功能可见性参数列表返回值类型类型对属性CRUD的操名称数据类型.word.zl.作、状态更新操作、辅助操作返回向量值返回当前字符向量变量Public无无ArrayList向量生成将 txt 文件中的容生成一维向量PublictextfileArrayList生成图代码写成将向量数组中的词写入文件变成代码PublicwordsArrayListfile3.53.5 图存储数据构造图存储数据构造 WWordGraphordGraph属性定义属性定义属性名英文,与程序中的名字一致属性含义数据

9、类型缺省值可见性public、private、protected类型根本属性、关联属性、状态属性、派生属性图 存 储二 维 向量一个二维矩阵,存储图顶点和边的关系IntPrivate根本属性操作设计操作设计操作名英文,与程序中的名字一致操作含义与部逻辑概述即:该法实现什么功能可见性参数列表返回值类型类型对属性CRUD 的操作、状态更新操作、辅助操作名称数据类型写 入 二 维图向量写入二维数组,生成图构造PublicwordsArrayListint 最短路径求两点之间的最Publicword1StringString.word.zl.短路径并输出路word2String查 询 桥 接词求两个单

10、词之间的桥接词Publicword1StringStringword2String生成新句子根据句子与的数据生成新句子PublicsentenceStringString随机游走不断地随机游走,输出每次完整的路径PublicString4 4时序模型时序模型针对代码中的三个核心功能,分别建立其时序模型。该模型中包含的所有对象必须在第4 局部中被识别出来,包含的所有操作必须包含在第 3 节的类图和表格中。该图需要使用某种 UML 建模工具绘制。.word.zl.4.14.1 读入文本并生成有向图读入文本并生成有向图4.24.2 查询桥接词查询桥接词4.34.3 根据根据 bridgebridge

11、 wordword 生成新文本生成新文本4.44.4 计算两个单词之间的最短路径计算两个单词之间的最短路径4.54.5 随机游走随机游走5 5根据根据 OOOO 模型生成的类代码框架模型生成的类代码框架使用 UML 建模工具,基于 3.2 节建立的实体类图,生成相应的类代码框架。以实体类为小节,贴出其相应的代码框架。5.15.1画图文件画图文件 DrawDraw/Generated by StarUML(tm)Java Add-In/Project:Untitled/File Name:画图文件.java/Date:2021/11/25 星期六/Author:/public class 画图文

12、件 private Object 画图文件 file;private Object 图片文件 jpg;public file 生成图代码写成(ArrayList words).word.zl.private file 图存为图片格式(File file1)5.25.2图存储数据构造图存储数据构造 WordGraphWordGraph/Generated by StarUML(tm)Java Add-In/Project:Untitled/File Name:图存储数据构造.java/Date:2021/11/25 星期六/Author:/public class 图存储数据构造 private

13、 Object 图存储二维向量;public abstract int 写入二维图向量(ArrayList words);public String 最短路径(String word1,String word2)public String 查询桥接词(String word1,String word2)public String 生成新句子(String sentence)public String 随机游走().word.zl.5.35.3向量储存向量储存 VecVec/Generated by StarUML(tm)Java Add-In/Project:Untitled/File Nam

14、e:向量储存.java/Date:2021/11/25 星期六/Author:/public class 向量储存 extends 图存储数据构造 protected Object 一维有重复向量;public ArrayList 向量生成(file text)public file 生成图代码写成(ArrayList words)public ArrayList 返回向量值()public int 写入二维图向量(ArrayList words)6 6对对 Lab6Lab6 代码的重构代码的重构阐述你们的重构工作,即:相比 Lab6 中的代码,基于 OO 重新设计和实现的代码有哪些大的变化?

15、逐项列出变化,并解释说明,必要时可给出代码来帮助佐证和理解。.word.zl.7 7重构之后的回归测试重构之后的回归测试基于 Lab6 中设计和实现的各黑盒/白盒测试用例,进展回归测试,发现重构代码中存在的问题,并加以修复。给出上述过程的截图作为佐证。8 8测试之后的测试之后的 GitGit 提交提交在 Git 仓库建立 Lab7 分支,提交重构后的代码,push 到 GitHub 仓库。给出本组 GitHub 的截图,证实你已成上述提交任务。最后,给出本组 GitHub 上从 Lab1 开场、历经 Lab3、Lab4、Lab6、Lab7 之后,完整的提交历史GitHub 工程页面里“Grap

16、hs下的“Network。9 9小结小结(1)建模是否有必要?直接去写代码呗?边写代码边思考,岂不是省了建模的大量时间?非常有必要,直接写代码边写边思考,真的不行。直接开场写代码,代码的构造性,以及整体的设计都会有缺乏与缺陷,特别是多个模块会分的不清楚,而且在写的过程中浪费了很多的时间去不断修改因为在各个边界控制和类没有考虑到的东西。更难的是多人合作时各个板块完成之后的连接问题。(2)建模时如果能思考得很细节,其实就相当于写代码时的思考工作。如能逼着自己在建模时想得更细节,你们是否总结出什么法?法就是跟着数据流去在程序中走,设计类似于各种白盒测试的样例去跟着在整个里面整体走一遍,然后再各个模块分别走一边,这样考虑到的就会比较详细了。(3)“面向对象的分析与设计法,与传统的以“算法+数据构造为单位的构造化分析法相比有什么好的地和不好的地?比照你重构前和重构后的代码,你认为这种重构的价值在?好的地在于1.面向对象模型更接近于问题域(尽可能模拟人类习惯的思维 式)2.反复细化高层模型直到可以实现的程度努,力防止在开发过程中出现大的概念跳变3.将模型组织成对象的集合在进展修改代码时比较便捷和容易不好的地就是部的操作多的时候,算法复杂的时候,起不到什么分析作用,而且有的时候分不清楚各个类的边界和关系,哪个到底属于哪个,会重复而且感觉混乱。其他想法。(4)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁