103
社区成员
这个作业属于哪个课程 | 软件工程实践2022年春-F班 |
---|---|
这个作业要求在哪里 | 软件工程实践总结&个人技术博客 |
这个作业的目标 | 对课程以及个人技术进行总结 |
其他参考文献 | CSDN |
给出以前提问题的博客链接
提问博客
是否原来的问题还不明白?如果有,请分析
应该没有
是否产生了新的问题?如果有,请提出
暂时没有
请尝试对自己曾经提出的问题进行解答,并阐明,是如何通过看书,实践,或者讨论弄清楚的
Q1:软件的行为和用户的期望值不一样,就一定是 Bug 吗?
我仍然认为是的。以我们做的项目为例,如果用户想要的是获取话题排名以方便讨论,而我们给的是穿搭的排名,实际上对用户来说就是一个严重的bug,软件从业者还是应该把自己当成服务业人员,秉持用户至上的理念,因此我认为软件行为与用户的期望值不符就是bug。
Q2:采用用户调查问卷进行调查时,是否需要设置有效性检查?
我原本认为不需要设置有效性检查,但是我现在认为可以对个别选项进行有效性检查,在问卷调查时可以先做好前期功课,多设置几个选项,尽量覆盖用户想法的同时缩小答案的范围,对于一些必须由用户填写的项目进行有效性检查,虽然我们最后收到的样本数目会减少,但是问卷的利用率也会提高,
Q3:为什么要在大学中只用一学期软件工程,时间够吗?
说实话我觉得其实是不太够的。我个人在进行这门课程时感觉压力很大,许多技术和流程都要现场学习,这么短的时间内对于软件工程应该只能入门,没办法学精,如果是面向就业的话,可能一学期的工程训练在就业方面不太够用。
Q4:结对开发是否真的能提高效率?
我还是觉得结对开发提高效率是因人而异的。我和我的结对搭档是比较熟悉的舍友,前期磨合的比较好,结对开发确实是可以提高效率的。但是我也认识很多搭档在代码沟通方面并不默契,而且很多时候都是一个人把事情都做了,另一个人无所事事,这样的结对累人又累心,并没有提高效率。
Q5:每日例会是否必要?
我认为开发期间的每日例会是有必要的,对于团队成员来说可以准确把握团队的整体进度,落后的可以奋起直追,对于后期的安排也更加游刃有余。
个人项目主要完成了文件读取的程序,由于以前没有接触过单元测试,本次在单元测试上花了很多时间,从配置到编写代码,每一步都很崩溃。其实单元测试应该在编写代码时就进行,但是因为经验不足,到最后一起写,发现方法设计的不够合理就不好测试写类时考虑封装性,每个方法最好只实现一个功能,测试和调用时都较为方便,封装成接口类也能更好调用。以前写完程序任务就结束了,但是软件工程也包括文档工作,在写文档的过程中复盘代码发现了好多小bug,还是不能对自己的代码太自信。
结对编程的难度比个人项目大,它相当于一个小型项目。从需求分析开始,完成原型设计和代码实现,我们两个人的项目经验都很缺乏,选择的是纯前端项目,第一次体会从需求分析到服务器部署的全过程。虽然这个过程磕磕绊绊,经历了git合并误删代码、服务器部署错误、浏览器不兼容等问题后,我学会了很多,补了很多以前一知半解的东西,感觉自己的心理抗压能力也强了很多,其实还是蛮有成就感的。
我们团队的项目是outfits的迭代开发,虽然有上一届的代码作为基础,但是运行时发现了很多问题,要顺利跑起来也花了很多时间,在阅读代码方面也花了很多时间,因为大部分代码都没有注释,理解代码逻辑较为费劲,我体会到迭代开发并没有比从头开始开发来得轻松。
在团队项目中,我体会到团队合作的重要性,只有合理安排好任务,每个人各司其职,才能完成一个较为完整的项目。一个团队一旦有一个人摆烂,最后就会出现很大的问题。
在这次项目中,我负责的是前端开发,掌握了vue框架的基本使用方法,以及Android中web嵌套的基本知识,体会到嵌套开发的好处,受益匪浅。
目标 | 评分 | 解释 |
---|---|---|
理解软件工程师的职业道德规范和实践要求,了解国情社情民情,理解软件产品对社会、健康文化等影响,树立积极向上的软件开发理念。 | 95 | 在软件工程的理论课上学习过相关知识,我们普通人基本都能做到 |
掌握需求分析的全过程,能辨别客户表述的多样化要求,熟练使用需求表达工具,能够规范、准确地表达客户的需求,构建需求分析模型。 | 90 | 在需求分析阶段,我分到的是原型设计以及撰写需求规格书的一部分,因此掌握程度较好 |
掌握软件开发的全过程,遵循体系结构设计方法和基本设计原则,通过正式的技术评审,完成从体系结构设计模型、数据设计模型和构件级设计模型,形成面向高效可靠的服务组件设计方案或软件系统设计方案。 | 80 | 基本能理解,但是掌握程度不够 |
能够执行从组件到软件系统的技术评测,具备设计模型的评判能力,具有创新设计意识,能够优选设计方案。 | 80 | 基本能理解,但是想法不够多 |
遵循软件开发各阶段文档标准,采用规范的表达,掌握需求规格说明书、系统设计说明书、系统测试报告等文档撰写方法,具备与业界同行交流能力。 | 90 | 这学期的项目涉及到的大部分文档都有接触,也看了很多其他组的文档,总体掌握程度不错 |
具有良好的团队意识和合作技能,能够与其他成员开展有效的沟通和协作;能够组织、协调或指挥团队开展工作。 | 90 | 在团队项目中能和后端及时交流,保证程序的正确性 |
能够辨别具体软件项目管理中涉及的构成要素,掌握软件规模和工作量的估算方法,能够选择合适的工具规划软件进度并对项目管理过程进行配置,具备初步的管理复杂软件工程项目的能力。 | 85 | 工作量估算方面进步较大,对git较熟悉,但是总体上还有欠缺 |
Axios是一个基于promise的HTTP库,主要的作用是用于向后台发起请求,可以在浏览器中发送XMLHttpRequests请求,在node.js中发送http请求,可以拦截请求和响应,也可以转换请求和响应数据。