软件工程实践总结——守得云开见月明

221900434-陈黎莉 学生 2022-06-26 20:41:26
这个作业属于哪个课程软件工程实践2022年春-F班
这个作业要求在哪里软件工程实践总结&个人技术博客
这个作业的目标对课程以及个人技术进行总结
其他参考文献CSDN

目录

  • 一、课程回顾与总结
  • 1.回顾构建之法提问
  • 2.在项目的每个阶段收获最大的知识或能力
  • (1) 需求阶段
  • (2) 设计阶段
  • (3) 实现阶段
  • (4) 测试阶段
  • (5) 发布阶段
  • 3.在个人项目/结对编程/团队项目的理解或心得
  • (1) 个人项目
  • (2) 结对编程
  • (3) 团队项目
  • 4.自我评分
  • 二、个人技术总结
  • 1、技术博客链接
  • 2、技术概述

一、课程回顾与总结

1.回顾构建之法提问

  • 给出以前提问题的博客链接
    提问博客

  • 是否原来的问题还不明白?如果有,请分析
    应该没有

  • 是否产生了新的问题?如果有,请提出
    暂时没有

  • 请尝试对自己曾经提出的问题进行解答,并阐明,是如何通过看书,实践,或者讨论弄清楚的

Q1:软件的行为和用户的期望值不一样,就一定是 Bug 吗?
我仍然认为是的。以我们做的项目为例,如果用户想要的是获取话题排名以方便讨论,而我们给的是穿搭的排名,实际上对用户来说就是一个严重的bug,软件从业者还是应该把自己当成服务业人员,秉持用户至上的理念,因此我认为软件行为与用户的期望值不符就是bug。
Q2:采用用户调查问卷进行调查时,是否需要设置有效性检查?
我原本认为不需要设置有效性检查,但是我现在认为可以对个别选项进行有效性检查,在问卷调查时可以先做好前期功课,多设置几个选项,尽量覆盖用户想法的同时缩小答案的范围,对于一些必须由用户填写的项目进行有效性检查,虽然我们最后收到的样本数目会减少,但是问卷的利用率也会提高,
Q3:为什么要在大学中只用一学期软件工程,时间够吗?
说实话我觉得其实是不太够的。我个人在进行这门课程时感觉压力很大,许多技术和流程都要现场学习,这么短的时间内对于软件工程应该只能入门,没办法学精,如果是面向就业的话,可能一学期的工程训练在就业方面不太够用。
Q4:结对开发是否真的能提高效率?
我还是觉得结对开发提高效率是因人而异的。我和我的结对搭档是比较熟悉的舍友,前期磨合的比较好,结对开发确实是可以提高效率的。但是我也认识很多搭档在代码沟通方面并不默契,而且很多时候都是一个人把事情都做了,另一个人无所事事,这样的结对累人又累心,并没有提高效率。
Q5:每日例会是否必要?
我认为开发期间的每日例会是有必要的,对于团队成员来说可以准确把握团队的整体进度,落后的可以奋起直追,对于后期的安排也更加游刃有余。

2.在项目的每个阶段收获最大的知识或能力

(1) 需求阶段
  • 学到了用NABCD模型分析用户需求
  • 学会了需求取舍,不对难以实现的需求死磕到底
  • 学会了撰写需求分析书
(2) 设计阶段
  • 明确了设计阶段的流程
  • 学会了原型绘制,以及UML图的实际应用
  • 理解软件系统的架构
(3) 实现阶段
  • 我们组做的是迭代项目,提高了阅读代码的能力
  • 为了便于迭代,应该养成随手注解的良好习惯
  • 我主要做的是前端,学会了vue框架的使用
  • 提高了甄别资料真伪的能力,其实最靠谱的还是看官方文档
  • 前后端的沟通非常重要,前期不沟通后期容易手忙脚乱
(4) 测试阶段
  • 实际应用了测试课程所学习的黑盒测试白盒测试以及自动化测试的方法
(5) 发布阶段
  • 首次使用了git release的发布功能
  • 发布之后有bug要及时修复

3.在个人项目/结对编程/团队项目的理解或心得

(1) 个人项目

个人项目主要完成了文件读取的程序,由于以前没有接触过单元测试,本次在单元测试上花了很多时间,从配置到编写代码,每一步都很崩溃。其实单元测试应该在编写代码时就进行,但是因为经验不足,到最后一起写,发现方法设计的不够合理就不好测试写类时考虑封装性,每个方法最好只实现一个功能,测试和调用时都较为方便,封装成接口类也能更好调用。以前写完程序任务就结束了,但是软件工程也包括文档工作,在写文档的过程中复盘代码发现了好多小bug,还是不能对自己的代码太自信。

(2) 结对编程

结对编程的难度比个人项目大,它相当于一个小型项目。从需求分析开始,完成原型设计和代码实现,我们两个人的项目经验都很缺乏,选择的是纯前端项目,第一次体会从需求分析到服务器部署的全过程。虽然这个过程磕磕绊绊,经历了git合并误删代码、服务器部署错误、浏览器不兼容等问题后,我学会了很多,补了很多以前一知半解的东西,感觉自己的心理抗压能力也强了很多,其实还是蛮有成就感的。

(3) 团队项目

我们团队的项目是outfits的迭代开发,虽然有上一届的代码作为基础,但是运行时发现了很多问题,要顺利跑起来也花了很多时间,在阅读代码方面也花了很多时间,因为大部分代码都没有注释,理解代码逻辑较为费劲,我体会到迭代开发并没有比从头开始开发来得轻松。
在团队项目中,我体会到团队合作的重要性,只有合理安排好任务,每个人各司其职,才能完成一个较为完整的项目。一个团队一旦有一个人摆烂,最后就会出现很大的问题。
在这次项目中,我负责的是前端开发,掌握了vue框架的基本使用方法,以及Android中web嵌套的基本知识,体会到嵌套开发的好处,受益匪浅。

4.自我评分

目标评分解释
理解软件工程师的职业道德规范和实践要求,了解国情社情民情,理解软件产品对社会、健康文化等影响,树立积极向上的软件开发理念。95在软件工程的理论课上学习过相关知识,我们普通人基本都能做到
掌握需求分析的全过程,能辨别客户表述的多样化要求,熟练使用需求表达工具,能够规范、准确地表达客户的需求,构建需求分析模型。90在需求分析阶段,我分到的是原型设计以及撰写需求规格书的一部分,因此掌握程度较好
掌握软件开发的全过程,遵循体系结构设计方法和基本设计原则,通过正式的技术评审,完成从体系结构设计模型、数据设计模型和构件级设计模型,形成面向高效可靠的服务组件设计方案或软件系统设计方案。80基本能理解,但是掌握程度不够
能够执行从组件到软件系统的技术评测,具备设计模型的评判能力,具有创新设计意识,能够优选设计方案。80基本能理解,但是想法不够多
遵循软件开发各阶段文档标准,采用规范的表达,掌握需求规格说明书、系统设计说明书、系统测试报告等文档撰写方法,具备与业界同行交流能力。90这学期的项目涉及到的大部分文档都有接触,也看了很多其他组的文档,总体掌握程度不错
具有良好的团队意识和合作技能,能够与其他成员开展有效的沟通和协作;能够组织、协调或指挥团队开展工作。90在团队项目中能和后端及时交流,保证程序的正确性
能够辨别具体软件项目管理中涉及的构成要素,掌握软件规模和工作量的估算方法,能够选择合适的工具规划软件进度并对项目管理过程进行配置,具备初步的管理复杂软件工程项目的能力。85工作量估算方面进步较大,对git较熟悉,但是总体上还有欠缺

二、个人技术总结

1、技术博客链接

个人技术总结——在vue中使用axios

2、技术概述

Axios是一个基于promise的HTTP库,主要的作用是用于向后台发起请求,可以在浏览器中发送XMLHttpRequests请求,在node.js中发送http请求,可以拦截请求和响应,也可以转换请求和响应数据。

...全文
48 回复 打赏 收藏 举报
写回复
回复
切换为时间正序
请发表友善的回复…
发表回复
发帖
软件工程实践2022年春-F班

103

社区成员

福州大学-计算机与大数据学院-傅明建
软件工程 高校
社区管理员
  • Mingjian_Fu
  • Lyu-
  • Wake_lie
加入社区
帖子事件
创建了帖子
2022-06-26 20:41
社区公告

本次作业截止时间为2022-02-18 23:59:59,请未完成的同学抓紧时间,加入社区后的同学要按照“学号-姓名”的格式修改社区昵称。