142
社区成员




这个作业属于哪个课程 | 2022年福大-软件工程;软件工程实践-W班 |
---|---|
这个作业要求在哪里 | 软件工程实践总结&个人技术博客 |
这个作业的目标 | 1.课程回顾与总结 2.个人技术总结 |
其他参考文献 | CSDN、博客园、简书、B站、部分参考资料 |
Q:对于一名程序员,究竟应该是更“专”一点好,还是更“广”一点好呢?
A:过去认为二者应该并重,然而人的精力是有限的,只有做出恰当的取舍才能走得更远。在今天的我看来,也许对一个领域做到“专精”更好,对于团队项目来说,合作是必须——同时也是提高效率的最好选择,每个人做“专”,负责好分内的工作,之后像拼图一样拼接在一起,才能发挥每个人的优势和长处,完成一整幅画卷。
A:客户当然知道他们的需求,区别只在于他们的图纸是清晰完善或是模棱两可。其实这个问题真正问的不应该是“顾客真的知道他们想要什么吗”,而应该是“作为乙方怎样和顾客进行沟通获得完整需求”。和原来的想法一样,我相信完备的沟通和约定能够促进双方顺利合作,敲定需求。
A:从整个项目来说,个人确实只是流水线上完成特定工作的机器,因为个人需要在工作中保持理性。但完成工作的过程一样需要创造力和灵感,人毕竟不是机器,创造力和沟通能帮助团队更好地完成项目。
A:大学编码可以自由发挥功能,随时停止随时开始;但工作中的程序员完全要根据项目经理和UI的要求来,需要在规定时间完成对应任务。
Q:软件开发过程中是否有必要保证代码具有100%的正确性,如果有必要又应该如何实现呢?
A:学习过程中保持代码100%的正确性是很有必要的,规范化的学习能够帮助养成良好的编程习惯。但开发过程中其实很难做到这一点,就算是编程老手在敲代码的过程中也难免出bug,而这就是代码审查的意义所在。通过代码审查对程序的逻辑进行复查,帮助代码的正确性尽可能接近100%。
需求阶段用来NABC进行需求分析和用户画像。大家一起开会线上讨论了目标用户和想实现的软件类型和功能,每个人发散一点思维表达想法,同时根据NABC的框架明确需求和实现。
结对过程和团队项目过程都是队内开小会进行讨论,明确界面/软件结构设计,团队项目是大家一起开会讨论了类图设计,为后续项目实现打基础。
团队项目中我负责的是的UI方面的实现,在开发过程中不断学习新的知识能力并实践实在是很有成就感的事情。
测试阶段测试组每天会出测试文档,包括今天测出的bug和一些提升用户使用体验的建议,然后我么根据测试文档认领属于自己的部分,对代码进行修改。
发布了项目的可运行版本之后,我们通过各自途径邀请身边的朋友进行体验,填写了调查问卷。这个过程也进一步拉近了我们和目标用户群体的距离,通过对调查问卷的分析了解了真实的用户体感和需求。
遇到问题多看资料和问答网站相关的解决方案比起自己在那里瞎琢磨直接去问人或者百度的效率更高一些。
结对编程比起一个人闭门造车效率的确要高上很多。结对过程中两个人可以可以互相监督作业进度互相勉励,遇到困难互相讨论解决方案,设计过程分享想法碰撞出新的思维火花。有时候遇到思维瓶颈或者找不到合适的素材都可以通过交流找到突破口,大大提高了作业推进的效率。
在开发过程中不断学习新的知识能力并实践,这个过程真的蛮有成就感的。和队友的沟通也进一步让我体会到“团队”的意义,没有组内大佬们的帮助是绝对没有办法就凭我自己这样顺利完成任务的开发过程中因为时间原因,有些功能没有实现,但回过头来看,其实我们团队以及你个在开发进度上走到尾声啦~很感谢团队的大家共同的付出和努力,也算一起为这段时间画上了圆满的句号。
目标 | 评分(百分制) | 为什么给出这个分数 |
---|---|---|
1.理解软件工程师的职业道德规范和实践要求,了解国情社情民情,理解软件产品对社会、健康文化等影响,树立积极向上的软件开发理念。 | 90 | 生在红旗下,长在春风里,本人具有健全的人生观价值观世界观,具备良好的职业道德素养。 |
2.掌握需求分析的全过程,能辨别客户表述的多样化要求,熟练使用需求表达工具,能够规范、准确地表达客户的需求,构建需求分析模型。 | 80 | 需求分析过程不管是个人实战、结对编程还是团队项目都进行过,同学期的课程项目也对需求分析这一苦艾进行了详尽的事件,应该算是初步掌握了。 |
3.掌握软件开发的全过程,遵循体系结构设计方法和基本设计原则,通过正式的技术评审,完成从体系结构设计模型、数据设计模型和构件级设计模型,形成面向高效可靠的服务组件设计方案或软件系统设计方案。 | 80 | 团队项目的各个阶段组内都有开会进行讨论,但这方面学习到的不多。 |
4.能够执行从组件到软件系统的技术评测,具备设计模型的评判能力,具有创新设计意识,能够优选设计方案。 | 80 | 能够和组内成员进行讨论发表自己的意见,进行良好沟通求同存异。 |
5.遵循软件开发各阶段文档标准,采用规范的表达,掌握需求规格说明书、系统设计说明书、系统测试报告等文档撰写方法,具备与业界同行交流能力。 | 85 | 开发过程中遵循项目代码规范,进行过数据库设计说明文档的编写。 |
6.具有良好的团队意识和合作技能,能够与其他成员开展有效的沟通和协作;能够组织、协调或指挥团队开展工作。 | 80 | 能够和组内成员进行有效沟通和协作,但是组织、协调或指挥团队这方面经验不足。 |
7.能够辨别具体软件项目管理中涉及的构成要素,掌握软件规模和工作量的估算方法,能够选择合适的工具规划软件进度并对项目管理过程进行配置,具备初步的管理复杂软件工程项目的能力。 | 85 | 在整个项目过程中采用了Teambition进行开发进度管理,每天晚上固定时间开小会汇报个人进度,每人都要填写表格展示今天成果。 |
团队项目的各个阶段组内都有开会进行讨论,但这方面学习到的不多。
结对项目参与设计了吗?团队项目中的系统结构设计、数据设计和自己负责部分的设计,这些环节你的体会呢?