- 1、本文档共70页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
软件工程课程综合实践汇报
“阅读和维护开源软件”;泛读开源代码
分析代码质量
标注开源代码
维护开源软件
系统演示效果
实践心得体会
;“小米便签”开源软件概况
共有10334行程序代码,其中有效代码行(非空行、非注释行等)占75%,约为7714行。
共有6个程序包,每个程序包各包含一组对象类和子包。其中gtask程序包中有3个子包。
共有41个类,170个文件,471个类方法。
;“小米便签”开源软件的代码组织结构
“小米便签”的代码组织为6个程序包,分别为“data”、“gtask”、“model”、“tool”、“ui”、“widget”,其中“gtask”程序包有三个子包“data”、“exception”、“remote”。
;“小米便签”开源软件的体系结构
基于对“小米便签”代码组织结构、每个程序包在软件系统中的地位和作用、不同程序包之间的关系等方面的理解,可以用UML的包图绘制出“小米便签”开源软件的体系结构。它整体上是一个层次性的体系结构,由界面层、业务层、模型层和数据层四个层次构成,每个层次包含若干个程序包。相邻层次的程序包之间存在交互。;“小米便签”开源软件的体系结构;界面层
位于体系结构的最上层,为用户提供交互式的操作界面,其提供的主要功能包括应用图标的显示、各个操作界面元素的显示等。该层主要通过主包下的AndroidManifest.xml文件、res库中的文件以及“ui”程序包中的类加以实现。
业务层
该层是小米便签系统体系结构的核心,用于连接界面层和模型、数据库层,起到数据交换的作用,其提供的主要功能和服务包括:定义软件的业务流程,接收界面层的用户请求,与模型层、数据库层进行交互,将处理结果返回给界面层。该层次主要通过“tool”、“widget”包和“gtask”包中的“exception”和“remote”子包以及其他相关部件加以实现。;模型层
该层负责对小米便签的单个便签项进行建模,提供了便签项的基本操作功能和服务,并与数据层进行交互,以支持便签的创建、访问和修改。该层主要通过“model”程序包中的“Note”类、“WorkingNote”类等加以实现。
数据层
该层负责对小米便签的相关数据进行组织和存储,提供数据访问、数据合法性检??、数据访问缺失异常处理等功能和服务。该层主要通过“data”和“gtask.data”程序包加以实现。;“小米便签”开源软件的功能
1、编辑/创建/删除/移动便签,支持用户管理便签;
2、新建/查看/删除文件夹,支持用户管理便签文件夹;
3、导出便签文本到其他存储介质中;
4、便签同步,实现与GoogleTask中备忘录进行同步;
5、便签搜索,支持查找包含用户输入的关键词的便签;
6、添加/删除提醒;
7、识别便签中的电话号码和网址;
8、便签分享。
;泛读开源代码;泛读开源代码;泛读开源代码
分析代码质量
标注开源代码
维护开源软件
系统演示效果
实践心得体会
;“小米便签”开源软件的质量分析
对开源软件代码的质量进行分析旨在理解高质量的软件系统在代码层面和设计层面应具有哪些方面的特征,掌握编写高质量程序代码的方法和技巧,同时发现开源软件代码中尚存的质量问题。对开源软件代码的质量分析可以采用以下二种方法:人工分析和自动分析。;人工分析;通过人工分析可以发现该代码具有以下的优点。
1、较好地遵循了Java编程规范,如方法的命名、常元和变元的命名(如“TAG”、“folderID”)等。
2、程序代码具有良好的封装性、可重用性、可扩展性和可维护性,体现了高内聚、低耦合度的模块化设计思想。例如,方法“getNewNoteId()”所封装的功能具有良好的独立性。
3、对可能出现的异常进行了处理。例如在图示的代码中,对“NumberFormatException”异常进行了处理。
4、对方法进行了必要的注释,如提供了“createanewnoteidforaddinganewnotetodatabase”注释以描述该方法的功能,且注释简洁、直观、易于理解。;但是从质量的视角,该开源软件代码尚存在一些美中不足之处,具体表现为:
关键语句缺乏必要的注释。例如,语句“if(noteId==-1){”缺乏必要的注释以解释此处“-1”表示何意,进而影响对该关键语句的理解,导致后期对该语句的维护会较为困难。这一问题同样出现在“....get(1)....”语句中,其中的符号“1”表示何意,这些程序代码需要提供必要的注释以解释清楚这些符号的内涵。;自动分析
自动分析方法是指借助于软件工具来自动地分析开源软件代码的质量情况,发现代码中存在的质量问题。目前有许多的软件工具支持对代码的质量情况进行自动分析,如SonarQube、Checkstyle、Fi
您可能关注的文档
- pn结温度特性数据处理.pdf
- 接口技术基础知识复习题.docx
- 接口技术期中考考试参考答案.docx
- 接口技术期中考试卷.docx
- 2021-2022(2)操作系统综合题复习.docx
- os试题库 ( 第3章 定稿) (2).doc
- os试题库 ( 第4章 定稿) (2).doc
- os试题库 ( 第5章 定稿 ) (2).doc
- os试题库 ( 第6章 定稿) (1).doc
- os试题库(第1章 定稿) (1).doc
- 王习胜学会科学思维 培育科学精神——普通高中思想政治教科书《逻辑与思维》编写述要.pdf
- 修辞学白牙尼.pdf
- 指向教学评一致性的高考政治备考新思路【孙杰】.pdf
- 16MG0216MG0316MG0416MG05内蒙古16系列结构标准设计图集中册(7.52MB)4.pdf
- 新高考背景下的命题特点和备考策略【徐其锐】已修改.pdf
- 区农业农村局2024年工作总结及2025年工作谋划.docx
- 在全市 2025 年工作务虚会上的讲话提纲.docx
- 2024年专题民主生活会个人对照发言材料(四个带头).docx
- 驻市气象局纪检监察组组长在局党组2024年度民主生活会上的对照检查材料.docx
- 市商务局2024年工作情况总结及下一步工作计划.docx
教师资格证、中级网络工程师持证人
专注于计算机技术相关文章撰写,方案设计,方案实现等,方案的个性定制,修改,润色等,本人已有8年相关工作经验,具有扎实的文案功底
文档评论(0)