软件工程实践总结——一个有意义的标题

222000312彭季菖 学生 2023-06-07 21:41:28
这个作业属于哪个课程2023年福大-软件工程实践-W班
这个作业要求在哪里软件工程实践寒假作业
这个作业的目标软件工程实践和个人技术总结
其他参考文献...

目录

  • 一、软件工程实践寒假作业
  • 二、再次解答
  • 1 商业价值与开源精神是否矛盾?
  • 2 个人在团队中角色就像是一个流水线上的机器吗?
  • 3 如何区分一个好的程序员和不好的程序员呢?
  • 4 对于一名工程师而言,究竟应该是更”专“一点好,还是更”广“一点好呢?
  • 5 顾客真的知道他们想要什么吗?
  • 二、每个阶段收获最大的知识或能力
  • 需求阶段
  • 设计阶段
  • 实现阶段
  • 测试阶段
  • 发布阶段
  • 三、理解或心得。
  • 个人项目
  • 结对编程
  • 团队项目
  • 四、自我评分
  • 五、个人技术博客

一、软件工程实践寒假作业

二、再次解答

1 商业价值与开源精神是否矛盾?

对我来说,商业价值与开源精神不应该矛盾,开源精神其根本目的还是为了促进产品更加完善、功能更加丰富、性能更加高效,而完善高效的产品正是其商业价值的体现。只是对于不同企业、不同开发者、不同产品开源与商业价值的权衡有所不同。从软件工程的角度来说,开源与否更多则是开发模型的选择区别。

2 个人在团队中角色就像是一个流水线上的机器吗?

世界上没有两片相同的叶子,也没有两个相同的人。经过软件工程团队开发我越来越能感受到人与机器的不同,个人在团队中的角色是灵活且多变的,团队需求的技术栈可能没有一个成员拥有、同一个技术可能同时被很多成员拥有。而每个人在团队中需要灵活地改变自己丰富自己以与团队中的其他人耦合。而在团队成员经过换组后,我发现不同人是不能完全替代的,而机器却是可以替代的。

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

对于团队来说,能够正确理解需求说明、分析需求、完成符合团队需求的开发任务的程序员就是好程序员。对于个人来说,努力提高技术水平、高效学习、严格遵守合理的代码规范的程序员就是好程序员。

4 对于一名工程师而言,究竟应该是更”专“一点好,还是更”广“一点好呢?

对于一名工程师而言,专和广都很重要,但在一定广度的基础上首先应该更专一点,更专可以使其完成更高难度的工作,而且可以提高其不可替代性。一个人不可能学完所有知识,但是在某些方面有所专长还是有可能做到。

5 顾客真的知道他们想要什么吗?

其实顾客不一定知道他们想要的是什么,开发团队的工作之一就是需求分析,一个合格的软件工程师不仅仅应该理解顾客表述的需求,还应该理解他们没有表达出的实际需求,以及未来可能的需求。软件工程过程模型就提供了许多阶段安排以方便开发团队与客户达成一致,减少了无效的开发

二、每个阶段收获最大的知识或能力

需求阶段

在需求阶段最大收获就是需求分析需求文档的编写。学习了NACBD分析,分析用户的需求,站在用户的角度上思考。软件工程实践课程教会了我以前很多对实际开发过程中的任务理解不透彻或是不正确的地方,对我未来的就业和学习有很大帮助。

设计阶段

设计阶段包括了原型设计、概要设计、系统设计等环节。对于我来说收获最大的是掌握了原型原型设计工具的使用,在使用过程中加强对用户需求理解的能力和对UI界面整体设计的了解,原型设计能够更好地帮助理解用户的需求,也对我后续的工作学习有着重要意义。

实现阶段

项目实现阶段收获的最大的能力就是学会了unity的使用和项目开发。同时,通过个人实战、结对编程以及团队项目的实现,我的团队合作、项目开发和沟通协调能力都得到了极大的提升。这对我未来的学习以及工作生活都会带去很大的帮助。

测试阶段

通过软工时间课程的学习,我学习到了软件测试的完整过程,学习到单元测试、集成测试、系统测试等等测试的测试时机和测试过程,还学习了白盒测试和黑盒测试的目的和技巧,并深深地意识到了测试的重要性。

发布阶段

收获了对我们的产品有信心。毕竟这里凝结了我们这么多时间的心血。虽然很累,但是在团队项目的开发过程中,也学到了很多有用的知识。

三、理解或心得。

个人项目

在此次个人实战中,完成对澳大利亚网球公开赛相关数据的收集,并实现一个能够对赛事数据进行统计的控制台程序,学会了使用PSP评价表格。在这些过程中我学习并加深了许多技术能力,也深深了解到了自己不足之处,对于我的学习有着很重要的意义。

结对编程

结对编程的优势主要就在于设计思路的共享,我们互相为对方避免错误,设计思路上可以互相补充。自己在编程时犯下的错误,有些尽管很简单,但却形成了思维惯性,而这些在另一个人眼中,却可能会更容易发现。当然我们的结对编程也有许多问题,比如我们在时间和空间上的不一致常常造成互相推诿,而且容易仓促完成作业。结对编程可以很大程度上提高编程效率,而且两人轮流编程,不会太过疲惫,因此十分适合敏捷开发。如果未来我们从事软件开发的工作,我们会十分乐于进行结对编程。

团队项目

在这次团队编程中我实践了很多软件工程课程的内容,虽然我由于技术能力不足和分工问题写的代码量不多,但是在和大家伙的讨论中深刻的体会到了软件工程方法在提高团队效率上的作用。团队项目开发过程中,我初步了解项目开发的过程,以及小组成员之间的配合,感受到了团队的力量。

四、自我评分

目标内容解释掌握程度
目标1理解软件工程师的职业道德规范和实践要求,了解国情社情民情,理解软件产品对社会、健康文化等影响,树立积极向上的软件开发理念。通过实践以及作业,了解了软件工程师的职业道德规范和违背规范的后果,彻底杜绝了我不道德的想法90
目标2掌握需求分析的全过程,能辨别客户表述的多样化要求,熟练使用需求表达工具,能够规范、准确地表达客户的需求,构建需求分析模型。能够正确理解客户需求和需求分类,能够使用墨刀实现一个交互良好的原型,除了界面不太好看之外85
目标3掌握软件开发的全过程,遵循体系结构设计方法和基本设计原则,通过正式的技术评审,完成从体系结构设计模型、数据设计模型和构件级设计模型,形成面向高效可靠的服务组件设计方案或软件系统设计方案。完整参与了开发过程,对开发过程有一定了解80
目标4能够执行从组件到软件系统的技术评测,具备设计模型的评判能力,具有创新设计意识,能够优选设计方案。能够和组内成员进行讨论发表自己的意见,进行良好沟通求同存异,提供具有实现价值的方案85
目标5遵循软件开发各阶段文档标准,采用规范的表达,掌握需求规格说明书、系统设计说明书、系统测试报告等文档撰写方法,具备与业界同行交流能力。开发过程中遵循项目代码规范80
目标6具有良好的团队意识和合作技能,能够与其他成员开展有效的沟通和协作;能够组织、协调或指挥团队开展工作。能够和组内成员进行有效沟通和协作,但是缺乏组织、协调或指挥团队能力。78
目标7能够辨别具体软件项目管理中涉及的构成要素,掌握软件规模和工作量的估算方法,能够选择合适的工具规划软件进度并对项目管理过程进行配置,具备初步的管理复杂软件工程项目的能力。在整个项目过程中采用了Teambition进行开发进度管理85

五、个人技术博客

个人技术博客
概述:在2D游戏制作过程中,摄像机的跟随主角移动是必不可少的。有代码实现,也有插件实现。

...全文
113 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

我们经常说“有理有据”,每个阶段收获的能力要是有具体的例子支撑,会比现在这样的文字有说服力。

SoftwareTeacher 2023-06-14
  • 举报
回复
@2023年福大-软件工程实践-W班 非常同意。 这篇文章缺少具体的例子, 例如 ‘结对编程’, 到底二人写了什么项目,碰到了什么困难? 啥都没有写,太虚了!

688

社区成员

发帖
与我相关
我的任务
社区描述
2023年福州大学软件工程实践课程W班的教学社区
软件工程团队开发软件构建 高校 福建省·福州市
社区管理员
  • FZU_SE_teacherW
  • 张书旖
  • 郭渊伟
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧