软件工程实践总结

这个作业属于哪个课程2302软件工程
这个作业要求在哪里软件工程实践总结&个人技术博客
这个作业的目标软件工程实践总结
其他参考文献《构建之法》

一、五个阶段中的收获

  • 1.需求阶段
    • 需求分析过程中,需要详细确定需求,整理出需求的所有功能点,对各个需求进行数据需求的分析。
    • 确定总体项目框架与各个需求的技术点。为后续设计数据库、接口、编码实现理清思路。
  • 2.设计阶段
    • 需要思考编码实现的方便性与部署阶段的可移植性,例如图片的存储,在数据库里可以使用JSON格式存储,并且只保存图片的UUID而不存储地址前缀,以免在数据迁移时产生原数据不可用的问题。
    • 接口的设计也需要慎重决定各个字段的名称,以免发生前后端不一致问题,前后端相互传递的数据也需要多加思索,修修改改,一蹴而就并不现实。
  • 3.实现阶段
    • 对各个成员合理分工,按照模块进行划分,安排时间开会,合理规划进度。
    • 对springboot框架与vue框架有了进一步的理解。
    • 对gitcode的使用熟练度更进一步。
  • 4.测试阶段
    • 学习了使用ApiFox进行单元测试,统一设计用例后一键测试,能够发现不少bug。
    • ApiFox支持设计场景进行测试,测试方便简洁。
  • 5.发布阶段
    • 对docker部署中的打包、生成容器、文件挂载等有了进一步的了解。
    • 对nginx代理修改配置文件进一步了解。

二、个人项目/结对编程/团队项目的理解与心得

  • 个人项目
    • 学习了对JSON的处理,学会使用fastjson包下的一些常用API,如parseObject、toJSONString、parseArray等。
    • 学会了git的fork、pull、commit等操作,了解git合并项目。
  • 结对项目
    • 掌握了使用vue制作简单的页面,了解axios的原理;学习使用element组件进行页面渲染,从后端获取数据解析后绑定数据到组件。
    • 掌握了使用nginx代理vue的dist包,完成前端页面部署,了解了nginx反向代理访问后端。
  • 团队项目
    • 这是一场酣畅淋漓的变成战斗。
    • 从数据库设计、接口设计开始便投入了不少时间。了解了数据库的触发器,了解了接口设计的规范。
    • 在编码实现中,小程序登录与图片上传花了不少时间,对图片上传存储本地服务器的流程有了进一步的熟识。对一些业务接口的实现也更进一步,mybatisplus的使用更加熟练。
    • 测试阶段也发现不少bug,特别是前后端联调之后,总会发现不少问题,不断讨论解决方案解决问题。收获丰富。

三、课程目标的掌握程度

课程目标掌握程度(100分)解释
目标1: 理解软件工程师的职业道德规范和实践要求,了解国情社情民情,理解软件产品对社会、健康文化等影响,树立积极向上的软件开发理念。90软件开发意义在于方便生活,为人们日常生活带来便捷,实现日常生活中的需求。
目标2: 掌握需求分析的全过程,能辨别客户表述的多样化要求,熟练使用需求表达工具,能够规范、准确地表达客户的需求,构建需求分析模型。85能够了解客户的具体需求,将需求整理成文档;掌握使用墨刀等工具进行页面原型的绘制
目标3: 掌握软件开发的全过程,遵循体系结构设计方法和基本设计原则,通过正式的技术评审,完成从体系结构设计模型、数据设计模型和构件级设计模型,形成面向高效可靠的服务组件设计方案或软件系统设计方案。85在团队项目中,从需求分析到数据库、接口的设计,循序渐进,遵循瀑布模型,遵守各种设计规则。考量框架构建。
目标4: 能够执行从组件到软件系统的技术评测,具备设计模型的评判能力,具有创新设计意识,能够优选设计方案。80创新是一件较难的事情,在项目初期确定各种框架与技术方案,便于后期的编码实现,但在编码开始之前,设计总会有所失误,需要后续进行设计变更。
目标5: 遵循软件开发各阶段文档标准,采用规范的表达,掌握需求规格说明书、系统设计说明书、系统测试报告等文档撰写方法,具备与业界同行交流能力。90本次项目中,需求文档、系统设计说明书、系统测试报告等文档均遵守一定的规范,阅读理解简便直观,能与同行进行良好沟通。
目标6: 具有良好的团队意识和合作技能,能够与其他成员开展有效的沟通和协作;能够组织、协调或指挥团队开展工作。88能够对一些具体的问题与具体的技术方案提出自己的见解,对团队作出共贡献;能够给出后端代码大体框架,组织后端组员进行业务的开发。
目标7: 能够辨别具体软件项目管理中涉及的构成要素,掌握软件规模和工作量的估算方法,能够选择合适的工具规划软件进度并对项目管理过程进行配置,具备初步的管理复杂软件工程项目的能力。87在本次项目中,积极参与项目进度的了解,查看gitcode提交日志;学习了不少gitcode的知识,学习了解决合并冲突的方法,合并后端组代码。

四、五个问题再次思考

Q1.我都是大学生了,上课还要认真听老师讲课么?

答: 这个问题因课程而论,因繁忙程度而论,并不一定。每个人都有各自必需解决的事情。对于一些必要的课程,老师的讲解总会有老师自己独到的见解,了解前人的经验总结是一件事半功倍的事情。

Q2.如何区分一个好的程序员和不好的程序员呢?

答:与开始时的回答一致。程序员应具有良好的编程能力和思维,能适应各种环境,严谨思考;同时也需要正确地为人处事,明白团队配合的重要性,积极沟通;最后还需要有持续学习的好习惯。

Q3.程序员是否有必要为满足小部分人的需求去做软件,或者为软件添加某些功能?

答:一般情况下,这个问题主要看甲方的需求具体如何,如果极其需要,大致需要遵循甲方需求;如果并不是特别需要,并且对目前项目的进度具有较大的破坏性,应积极与甲方进行沟通,寻求一个双方能接受的折衷方案。

Q4.为什么要在大学中只用一学期软件工程,时间够吗?

答:一学期的时间实际上算是刚刚好,有了一定的项目经验。如果学有余力,再花更长时间进行团队编程,也能提高不少经验,能够有更多团队开发的经验。当然,将时间花在自我修习上也有所提高。

Q5.代码量与个人的编码能力有直接关系吗?

答:个人理解,程序员这一门工作实际上是开卷考试,关键点并非代码量而是针对具体的问题,能够给出该问题的良好的解决方案。代码量和编码能力有一定关系,但并不是成正比。

五、个人技术博客

个人技术博客

  • 33
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值