首页 > 其他分享 >“你帮我助”管理系统软件设计总结

“你帮我助”管理系统软件设计总结

时间:2022-12-25 00:22:26浏览次数:31  
标签:功能 管理系统 软件设计 代码 实现 管理员 我助 软件

  这次软件设计对我来说最大的难点就在于GUI,当然啦,之前的黑窗口缺乏直观的图形化交互界面,在我心中确实也不像是软件该有的形式。然而随着ddl日益临近,担心功能强大却复杂的GUI设计工具令我一再翻车,于是一番搜索之后选择了EasyX作为初次尝试GUI实现的辅助。在选定EasyX之前我甚至考虑了是否要用Python,乃至VB来完成这次的大作业,不过考虑到还是C+使用的时间最长也最为熟练,还是用C++结合EasyX的方法进行制作。

  在正式编写代码前,我对照系统应有的功能构思了整体结构,并通过数版用例图、类图与顺序图细化了软件设计,最后确定了三个主要页面:首页、管理员界面、普通用户界面。三个页面对应使用者的身份,实现相应的功能:首页针对尚未登录的用户,可以进行新用户注册、管理员登录、普通用户登录、退出系统功能;管理员界面顾名思义适用于管理员,可以实现审批用户注册申请、显示物品类型列表、增删类型与返回首页的功能;普通用户界面适用于普通用户,可以进行物品列表显示、增删查找物品与返回首页的功能。三个页面之间以“登录”“返回”按钮为接口实现切换。具体的用例图、类图、顺序图如下:

 

1.用例图:

 

2. 类图

 

3. 顺序图

(1)新用户注册

 

(2)普通用户

 

(3)管理员

 

  上述图片其实相较初次绘制的版本有所改动,包括整体代码的编写也并没能完全按照最初的设计进行,说明软件设计的过程仍然有所疏漏,包括对功能实现细节的理解不到位、该以什么样的形式存储用户信息、如何处理类型与物品的关系等等,这些问题其实在代码编写过程中都有所改动,而理想的状态则是在软件实现前设计完成。

  因此,在这次软件实现中,我深深地体会到一个软件的细节之多、各部分的牵绊之深。小到文字在按钮中的显示位置,因为没有提前设计一个可重用的函数使文字居中显示,就导致代码大量重复而变得更为冗长;再到各个“返回”按钮对应的页面跳转不能出错,一段过程中对数据的处理不能影响另一段过程的操作......尽管具体实现时有许多功能类似的代码近乎重复,然而其中又有许多细节是需要修改的,思维稍一混乱就会出现差错。任何一个小细节都有可能导致令人焦头烂额的调试、修改,而这样的小细节在具体编写的过程中层出不穷,令人时刻不能放松警惕。写完这个软件,深感码农之不易orz

  为了测试软件的功能,我编写了一套测试用例,逐个检验软件的功能,对错误之处进行修改,不完善之处进行改进,直到能够正确完成每一项功能(起码在我能想到的路径中都正确实现了[笑])。

  当然,在测试时我也发现不少虽然不影响主体功能但仍不完备之处。比如,新用户注册时,对输入的手机号、密码等信息没有进行格式判断以确保输入的信息有效;用户查找物品时,只有物品名称或类型名称完全匹配成功查找,而无法实现模糊搜索;管理员修改类型时,需要先删除待修改的信息,再重新添加新的类型,步骤繁琐;各类信息只能打印在一页上而无法实现翻页功能;等等。此外,就具体代码而言,还是存在不少可以精简、重用的部分;信息的增删查只采用了最朴素的顺序实现,时间复杂度较高,无法应对较大的数据量;信息的存储以文本文件的形式完成,没有实现与数据库的连接。这些不完善之处有些是由于我的能力所致而暂时无法完成,或是实现这些功能的代码过于繁琐,来不及进行进一步优化,或是这些调整牵一发而动全身,需要对代码进行大量的修改,我出于时间考虑,在这一次作业中还是没有进行更细致地刻画。若是对我所想到的每一项不足都进行完善,想必代码量会更大,结构也更复杂。

  这一次“你帮我助”管理系统软件的制作对我来说极具挑战,但也极有趣味,终于(部分)解答了高中时对于“如何实现从黑窗口到软件的跨越”的困惑。在此过程中,我深刻体会到正确进行软件分析与设计的重要性(一次次改代码的血泪教训TAT),也感受到我在这方面的不足与一个完善的软件最终呈现于世人面前的不易。

 最后附上Github仓库链接:https://github.com/Aliar-11/HeapEachOtherFinal.git

标签:功能,管理系统,软件设计,代码,实现,管理员,我助,软件
From: https://www.cnblogs.com/Aliar11/p/17003578.html

相关文章

  • 基于JSP的网上订餐管理系统的设计与实现(包调试成功)
    第1页毕业设计(论文)题目:基于​JSP的网上订餐管理系统​的设计与实现毕业设计(论文)要求及原始数据(资料):1.综述目前国内外网上订餐管理系统的现状;2.深入了解网上订餐系统的管理方式......
  • C++科研人员信息管理系统
    C++科研人员信息管理系统某科研团队主要有四类人员:科研主管、研究员、研究助理和实习研究员。现在,需要存储这些人员的姓名、编号、级别、当月薪水,计算月薪总额并显示全部......
  • C/C++在线餐馆预订管理系统
    C/C++在线餐馆预订管理系统软件学院实训任务书一、实训名称实践环节数据结构与算法实训项目名称在线餐馆预订管理系统二、学生信息班级......
  • 构建智能化日志收集平台-EFK日志管理系统
    一、日志收集在生产环境或者测试环境,如果某个服务或者业务组件出现问题,如何定位和排查?需要靠日志,日志是定位问题的重要手段。1.日志打印常见级别日志打印通常......
  • 新闻发布及管理系统的设计与实现(论文+PPT+源码)
     本科毕业设计(论文)题目:新闻发布及管理系统的设计与实现专题题目:本科毕业设计(论文)任务书题目:新闻发布及管理系统的设计与实现专题题目(若无专题则不填):原始......
  • 基于SqlSugar的开发框架循序渐进介绍(23)-- Winform端管理系统中平滑增加对Web API对接
    在前面随笔介绍的基于SqlSugar的WInform端管理系统中,数据提供者是直接访问数据库的方式,不过窗体界面调用数据接口获取数据的时候,我们传递的是标准的接口,因此可扩展性比较好......
  • "你帮我助"软件开发Final-总结
    在这个开发过程中,我不仅学会了很多Python的实用编程知识,也利用了《软件工程》这门课的内容使我的开发过程思路更加清晰,明确的分为4个类:登录、注册、管理用户、普通用户......
  • MES生产管理系统打造智慧车间
    在工业4.0的背景下,企业的数字化改革能有效的帮助企业生产和管理得到提升。并让企业生产与管理得到更好的发展,尤其是信息自动化模式,可以促进企业的整个效率与质量水平提高。M......
  • 大家都觉得哪个项目管理系统好?
    本章节将盘点国内外一些优秀的项目管理工具,包含:1、软件开发项目管理工具PingCode;2、项目协作管理软件Worktile;3、项目缺陷追踪管理软件Jira;4、微软项目管理软件Microsoft......
  • 基于java记账管理系统(论文+PPT+源码)
    本科毕业设计(论文)题目:记账管理系统专题题目:记账管理系统本 科 毕 业 设 计(论文)任 务 书题目:记账管理系统专题题目(若无专题则不填):原始依据(包括设计(论文)的工......