这个作业属于哪个课程 | <软件工程-23年春季学期> |
---|---|
这个作业要求在哪里 | <软件工程实践总结&个人技术总结> |
这个作业的目标 | 软件工程实践总结总结 |
其他参考文献 | 《构建之法》 |
目录:
- 旧问题的新理解
- 请问你在项目的需求/设计/实现/测试/发布阶段(一共5个阶段)中,每个阶段收获最大的知识或能力是什么?
- 结合自己在个人项目/结对编程/团队项目的经历,谈谈自己的理解或心得。
3.1 个人项目
3.2 结对编程
3.3 团队项目 - 自我评分
第一部分:课程回顾与总结
问题地址
旧问题的新理解
Q1: 花费时间越多,代表工作量越高吗?
相对之前的观点,我依旧认同,这个还是得看个人的技术水平来衡量自己的工作效率,就如同这次软工实践,因为不懂vue2,需要边学边做项目,比其他那些已经学好技术的人来说,开发起来要慢很多,但只要肯花时间,肯去学,工作量会慢慢提升上去的。
Q2: 团队角色可以按需配置么?
这个和之前想法大致相同,看团队各个成员的技术如何,如果一个人会的技术很多,可以帮着教一下不会的成员做,扩展可以让他们自己实现,不然有成员做不到某个功能了话,就会浪费时间。如果每个人技术都差不多,那按需配置也挺好。
Q3: 代码量与个人的编码能力有直接关系吗?
这个和之前想法不一样,代码量得看主要实现的代码有多少,如果是重复实现的功能,那其实也没提升多少编程能力。
Q4: 在找工作方面,计算机科学相比软件工程的同学是否不存在任何优势?
这个我的观点和之前一样,是没啥关系,找工作时的专业考量其实没多大权重,真正考虑的还得是自己是否有真本事,同时学新的知识也要快,我觉得这样的人才有优势。
Q5: 创新者要如何走出困境?
和之前的想法一样,历代创新者都过的很艰难,往往刚开始就被那些龙头企业给打压的不行,成功的都是极少数,我建议还是多看书,多学点知识,还有多观察生活,观察人们的需求,像是抖音这个近年发展迅速的企业,就是迎合了各个阶级的人的需求,发展的很好。
请问你在项目的需求/设计/实现/测试/发布阶段(一共5个阶段)中,每个阶段收获最大的知识或能力是什么?
需求阶段
学会了如何有效的获取需求,验证需求的可行性,深刻理解到与用户交流的重要性。
设计阶段
学会了原型设计工具Axure,以及对接口设计内容的简单理解。
实现阶段
对使用vue2技术开发前端的页面更加熟练。
测试阶段
加深了对接口测试的理解。
发布阶段
加深了对服务器部署的理解。
结合自己在个人项目/结对编程/团队项目的经历,谈谈自己的理解或心得。
个人项目
个人项目开发比较随意,都按照自己的意思来做,相对于结对和团队来说,自由度更高,不过开发时间会长一点,而且一个人的想法还是不如几个人的想法要全面。
结对编程
这个比团队项目更加容易配合,只需要两个人多加沟通交流,其实编程实现也不算很难,并且功能对半实现,减少了开发用时,但一定得找对人,找容易配合的。
团队项目
团队项目主要还是需要前后端配合,后端写好接口文档给前端,前端去实现接口并完善交互功能,而且要经常沟通,如果不好好说明哪里出现问题,那么就很容易被bug耽误开发时间。
自我评分
目标 | 分析 | 评分 |
---|---|---|
目标1: 理解软件工程师的职业道德规范和实践要求,了解国情社情民情,理解软件产品对社会、健康文化等影响,树立积极向上的软件开发理念。 | 有时候会看看有关IT行业新闻,并稍加思考其中的涵义 | 90 |
目标2: 掌握需求分析的全过程,能辨别客户表述的多样化要求,熟练使用需求表达工具,能够规范、准确地表达客户的需求,构建需求分析模型。 | 能够理解用户的需求,并为此做出原型测试实现效果 | 91 |
目标3: 掌握软件开发的全过程,遵循体系结构设计方法和基本设计原则,通过正式的技术评审,完成从体系结构设计模型、数据设计模型和构件级设计模型,形成面向高效可靠的服务组件设计方案或软件系统设计方案。 | 设计模型感觉还是理解不够全面,但能根据设计方案完成基本要求。 | 85 |
目标4: 能够执行从组件到软件系统的技术评测,具备设计模型的评判能力,具有创新设计意识,能够优选设计方案。 | 对业务逻辑的理解还需努力,但也具备一定的设计模型的判断能力 | 86 |
目标5: 遵循软件开发各阶段文档标准,采用规范的表达,掌握需求规格说明书、系统设计说明书、系统测试报告等文档撰写方法,具备与业界同行交流能力。 | 能够完成说明书的撰写,但业界同行交流能力仍需提升 | 87 |
目标6: 具有良好的团队意识和合作技能,能够与其他成员开展有效的沟通和协作;能够组织、协调或指挥团队开展工作。 | 能够有效的和接口对接人员沟通并解决问题。 | 90 |
目标7: 能够辨别具体软件项目管理中涉及的构成要素,掌握软件规模和工作量的估算方法,能够选择合适的工具规划软件进度并对项目管理过程进行配置,具备初步的管理复杂软件工程项目的能力。 | 能够在有限天数里,每一天规划自己需要完成的进度,并在当天结束前更新团队的进度。 | 88 |