软工实践总结———静水流深

222000421莫梓民 学生 2023-06-06 23:34:47
这个作业属于哪个课程福大-软件工程实践-w班
这个作业要求在哪里软件工程实践总结&个人技术博客
这个作业的目标课程回顾与总结,个人技术总结
其他参考文献《构建之法》

目录

  • 第一部分
  • 1、5个阶段中,每个阶段收获最大的知识或能力是什么?
  • 2、结合自己在个人项目/结对编程/团队项目的经历,谈谈自己的理解或心得
  • 3、自我评估对通过课程的学习,对各个课程目标的掌握程度,并作出解释
  • 4、回顾自己思考过的5到10个问题:尝试解答、继续分析、提出新问题
  • 第二部分
  • 1、个人技术博客

第一部分

1、5个阶段中,每个阶段收获最大的知识或能力是什么?

  • 需求阶段

    在需求阶段,我负责的是需求规格说明书的编写,通过需求规格说明书,我了解到我们可以通过这个方式来对我们的开发提前做好准备,同时需求规格说明书也可以帮助他人快速了解我们的软件。

  • 设计阶段

    在设计阶段,我负责的是对数据库er图的设计,这项工作帮我巩固了数据库的相关知识,我是我也了解了设计阶段对于软件开发整个流程起的重要作用。

  • 实现阶段

    在实现阶段,我在alpha冲刺中和beta冲刺中负责的工作不同,我学会了unity2D的相关知识,了解到了unity2D如何制作预制体、动画等,同时学会了简单的脚本编写。

  • 测试阶段

    在测试阶段,我通过对自己成果的测试,找到了相关的bug,也了解到了测试对于软件开发的重要性。

  • 发布阶段

    在发布阶段,看着自己这阶段与队友一起努力的成果,我十分高兴。我意识到了团队的重要性。

2、结合自己在个人项目/结对编程/团队项目的经历,谈谈自己的理解或心得

  • 个人项目

    在个人项目阶段,寒假的作业让我初步了解了这个课程,也让我对我自己有了初步的规划。随后的个人实战作业,是我第一次接触到json文件的转化,让我对这方面的知识有了更深的了解。

  • 结对编程

    在团队编程阶段,我和我的队友一起完成了原型的设计和界面的实现。通过这两次团队作业,我了解到了原型设计,并且巩固了我的web方面的编程能力。

  • 团队经历

    在团队编程阶段,我和小组成员一起完成了我们的unity2D游戏《像素原神》,在这次项目中,我在alpha冲刺中负责了怪物的设计,在beta冲刺中负责对角色进行完善。通过这次项目,加深了我对unity引擎的使用熟练度,同时我也学会了编写简单的游戏脚本。通过与小组成员的合作,我了解了软件开发中的团队合作与软件版本管理,我相信这能为我以后的团队合作提供宝贵的经验。

3、自我评估对通过课程的学习,对各个课程目标的掌握程度,并作出解释

目标项评分解释
目标1: 理解软件工程师的职业道德规范和实践要求,了解国情社情民情,理解软件产品对社会、健康文化等影响,树立积极向上的软件开发理念。85我在此次软工实践中严格遵守软件工程师的职业道德规范和实践要求,但是没有很好地理解软件产品对社会、健康文化等影响
目标2: 掌握需求分析的全过程,能辨别客户表述的多样化要求,熟练使用需求表达工具,能够规范、准确地表达客户的需求,构建需求分析模型。80本次软工实践,我学习了NABCD来建立需求分析
目标3: 掌握软件开发的全过程,遵循体系结构设计方法和基本设计原则,通过正式的技术评审,完成从体系结构设计模型、数据设计模型和构件级设计模型,形成面向高效可靠的服务组件设计方案或软件系统设计方案。80参与了团队需求分析说明书以及er图的设计
目标4: 能够执行从组件到软件系统的技术评测,具备设计模型的评判能力,具有创新设计意识,能够优选设计方案。70只对自己的内容进行了测评,并没有测评整个软件
目标5: 遵循软件开发各阶段文档标准,采用规范的表达,掌握需求规格说明书、系统设计说明书、系统测试报告等文档撰写方法,具备与业界同行交流能力。85参与了需求规格说明书的了解,同时阅读了系统设计说明书、系统测试报告等
目标6: 具有良好的团队意识和合作技能,能够与其他成员开展有效的沟通和协作;能够组织、协调或指挥团队开展工作。80遇到问题和有新的想法及时和队员进行沟通
目标7: 能够辨别具体软件项目管理中涉及的构成要素,掌握软件规模和工作量的估算方法,能够选择合适的工具规划软件进度并对项目管理过程进行配置,具备初步的管理复杂软件工程项目的能力。85学会了使用git和plasticSCM等项目管理软件,但仍有不熟悉的地方

4、回顾自己思考过的5到10个问题:尝试解答、继续分析、提出新问题

以前问题的博客链接

  • 问题一:在项目或程序比较复杂的情况下,如何高效率的进行程序理解?

    在接受一个较为复杂的项目时,我们可以提前查看其项目文档,查看其中有关的程序设计思路、类图和用户使用场景等,有助于我们更好的理解项目。
    我通过团队作业第二次——需求分析中了解到,可以通过项目的文档中的需求规格说明书了解一个比较复杂的项目和程序,这样可以快速帮助我们理解程序的使用和各个方面。

  • 问题二: 代码量与个人的编码能力有直接关系吗?

    我认为代码量和个人编码能力是有直接关系的。当我们只是学习了一门语言而没有通过编码进行巩固,当我们在项目的进行过程中,容易因为我们的不熟练导致我们浪费时间在二次学习以及改错上面,因此,提升个人代码量时十分重要的。
    通过本次软工实践,我也了解到了代码量的重要性,同时也增长了我的代码量

  • 问题三: 花费时间越多,代表工作量越高吗?

    工作量 = 工作时间 * 工作效率,花费的时间多,并不能代表工作量大。一个项目在确保开发时间的同时,还要注重开发效率。同时,在开发过程中,还会出现由于错误导致的无用工作量。浪费大量时间,提前规划好,注重开发效率,时开发中不可或缺的部分。因此,花费时间越多,不代表工作量越高。
    这是我在本次软工实践中得出的,尤其是在alpha冲刺中,由于我对unity的不熟悉,导致了我的大量时间花费在修改代码上,导致了许多无用功,从而导致工作效率降低。

  • 问题四: 对于一名工程师而言,究竟应该是更"专"一点好,还是更"广"一点好呢?

    我认为这个问题没有准确的定论,不论是“专”还是“广”,对于一位工程师而言,都有其适合的领域。“专”的工程师,适合在单一领域贡献力量,学习单一领域更深奥的东西,深耕自己的领域,不断地进步和创新;而“广”的工程师,则可以在多个方面做出贡献,如全栈工程师可以自己完成前后端的设计,避免了前后端交接的问题。因此,“专”和“广”并没有好坏之分,只是适用于不同领域。

  • 问题五:如何能“证明”一个软件是可以继续发展的?

    要证明一个软件可以继续发展,通常需要考虑以下几个方面:
    1、产品市场:软件是否满足当前市场的需求,能否满足未来市场的需求,是否有竞争优势。
    2、技术创新:软件是否具备技术创新和升级的潜力,能否跟随技术发展步伐。
    3、开放性与生态系统:软件是否支持开放性、可扩展性,是否可以拓展出广泛的生态系统
    4、用户数量和用户满意度:软件用户数量是否稳步增长或保持稳定,用户对软件的满意度是否高,并且是否能够维持这种情况。
    5、稳定性和安全性:软件是否保持良好的稳定性和安全性。
    通过团队作业--需求分析和软件评测作业,我了解到了软件继续发展所需要的一些元素。

第二部分

1、个人技术博客

Unity2D:使用预制体实现技能释放的一种解决办法
概述:通过外挂预制体的方式实现unity2D的技能释放

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

688

社区成员

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

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