首页 > 其他分享 >“物品复活”软件开发心得总结

“物品复活”软件开发心得总结

时间:2024-12-12 16:12:18浏览次数:5  
标签:软件开发 用户 软件工程 测试 物品 设计 心得 复活

“物品复活”软件开发体会

   本次软件系统的开发过程中,我学习并尝试运用软件工程中的各种设计原则,用python语言构建了一个物品“复活”软件,在初版的基础上增添了更多功能,从重新的分析到设计再到搭建,让我对软件开发的整个生命周期有了更加全面的理解。

   在软件工程中,需求分析是确保项目成功的关键一步。在项目初期,我花费大量时间对用户(主要是管理员和普通用户)的角色需求进行罗列与归纳,比如管理员需要能定义、修改物品类型和属性并对用户进行审核与管理,而普通用户则希望能够通过类型进行物品的添加和检索。这一过程让我体会到,明确需求不仅能让开发有的放矢,还能避免后续的返工和沟通障碍。需求定义清晰后,编写程序的功能和用户交互逻辑变得更加顺畅。

   在系统设计阶段,按照面向对象设计的思路,我将系统拆分为多个模块。通过使用类和方法的设计,如“用户管理类”、“物品管理类”和“物品类型管理类”,来实现高内聚低耦合的系统架构。此外,使用UML类图和顺序图等工具也在很大程度上帮助我理清模块间的关系,直观地展示了类之间的依赖关系、数据流和交互模式。

   实际编码过程中,我遵循软件工程中的一些编码规范,包括变量命名、注释和函数拆分等,这些细节的规范在协作开发中尤其重要,对物品类型的管理系统涉及多个用户操作和信息更新,代码的清晰度和可读性决定了日后维护和扩展的难度。编码过程中,我考虑到了数据一致性问题,通过设计数据结构,确保用户信息、物品类型信息、物品信息的及时更新调整,并避免数据冗余。我还发现,软件工程中数据的保存往往需要数据库原理的知识,将数据规范、完整地整理好,在搜索数据时又能又快又准。

   最后的测试阶段,我首先针对各模块进行单元测试,设计了许多种测试用例,特别是对用户注册、物品类型管理和物品添加功能几个单元的测试。在测试过程中,我发现了不少潜在的逻辑问题与规范问题,比如用户搜索物品时可能输入错误类型或关键字无法匹配的问题、。通过采用黑盒测试和白盒测试相结合的方法来覆盖不同的测试场景,能够有效地发现系统中潜在的缺陷,并保证系统在多种情况下的稳定性。我想,测试不仅是发现问题的工具,更是提高系统可靠性、保证质量的手段。

   虽然目前还没有进入到系统维护这一环节,但我知道,在软件工程中,系统的可维护性和可扩展性也是衡量一个系统质量的重要标准。通过合理的模块化设计,我相信我能在不影响其他模块的前提下,进行局部修改和功能扩展。

   通过开发这个物品管理系统,我对软件工程课程中的许多抽象知识点有了更加深刻的理解。从需求分析到系统设计,再到编码、测试、版本控制与后期维护,每一个环节都体现了软件工程的科学性和系统性,遵循软件工程的基本原则和最佳实践,能够有效提升开发效率、减少错误并保证软件的质量。在未来的开发工作中,我会继续应用这些经验和知识,以构建更加稳健、高效的系统。

标签:软件开发,用户,软件工程,测试,物品,设计,心得,复活
From: https://www.cnblogs.com/zhangsiyao618/p/18601991

相关文章

  • 瑞数纯算心得-解三目运算符
    声明本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关常谈的就是瑞数vmp的三目运算符,卡住了一片人,4,5代基本都是ifelse控制流形式相当于三目......
  • 瑞数纯算心得
     声明本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意......
  • qt激光加工软件开发(一)
    20年毕业后,先是从事qt+c++开发,而后从事mfc开发,今年步入新的公司,着手开发一版新的激光设备加工软件激光加工软件所具备的功能:轴的控制:主要包括XYZ三个轴,品牌:ACS、固高、Galil控制卡等相机控制:用于显示影像,进行识别定位等功能,品牌:大恒、海康、Basler等激光器控制:用于划线,打标,清......
  • 3个月内考过RHCE及CKA,并且双满分,考试心得
    2024年7-9月我在广州汇智学网络科技有限公司参加了红帽RHCE及K8S(CKA)的培训,并且在3个月内通过了RHCE,RHCSA,CKA三门认证考试,前两门考试科目都是满分通过的,在这里分享下我的考证心得。如图,我的红帽考试成绩,两门双满分如图,我的CKA证书工作中,Linux跟K8S是运维里面的最佳搭档,有......
  • Gpt使用心得
    一、AI工具在各方面对我们的帮助。  AI工具通过提高效率、增强安全性、个性化服务和提供决策支持,正在逐步改变我们的生活和工作方式。随着技术的不断进步,这些工具的应用将更加广泛和深入。  例如在:    工作中,可以①AI辅助设计,提供创意灵感和设计选项②内容创作辅助,如......
  • 软件开发 --- redis 之初体验
    一个键值对(Key-Value)的内存数据库可以用作数据库缓存、消息队列、排行榜等场景。 快速上手Redis默认有16个数据库(索引从0到15),但所有命令默认都会在数据库0中执行,除非你显式地使用SELECT命令来切换到其他数据库。安装  1.数据缓存:快速存取热点数据Redis常......
  • 【Microi吾码】开源力量赋能低代码创新,重塑软件开发生态格局
    我的个人主页文章专栏:Microi吾码一、引言在当今数字化浪潮汹涌澎湃的时代,软件开发的需求呈现出爆发式增长。企业为了在激烈的市场竞争中脱颖而出,不断寻求创新的解决方案以加速数字化转型。传统的软件开发方式往往面临着开发周期长、技术门槛高、成本高昂等诸多挑战。而......
  • 软件开发中业务对象包装设计的最佳实践
    目录前言1.包装实体类的核心概念1.1普通Java对象(POJO)1.2数据传输对象(DTO)1.3持久化对象(PO)1.4视图对象(VO)1.5业务对象(BO)1.6数据对象(DO)1.7实体对象2.包装实体类的设计原则2.1单一职责原则2.2解耦与内聚2.3封装与安全2.4代码复用与扩展性3.具体设计实现3.1......
  • 分享一些建站心得,及职业道路
    截止目前手里产出的网站没过千也有大几百了,接触的建站系统也是林林总总,有些版本更新迭代比较快,从初代的运用自如到最近几代的看到界面不知所措,再到很多新的系统的崛起,这两年又有一些新的低代码平台,后期的发展也不容小觑,作为传统全代码开发的人员一开始是很鄙视这些平台的,因为低代......
  • 嵌入式开发和纯软件开发的成本差异(横向对比)
    我干过前端开发、JAVA,写过C#(.NET),C/C++;目前转业至嵌入式软件中,聊一聊这二者在开发中的差异体验。简单点说:嵌入式开发,简单说就是硬件和软件都是定制化的。纯软件开发,主要是给标准硬件,比如电脑啥的写软件。由于目前软件市场占有率大部分已经被大厂吃完了,所以程序员只能满足......