软件工程实践总结——碰壁和破壁

222000318吴鸿 学生 2023-06-07 12:02:41
这个作业属于哪个课程2023年福大-软件工程实践-W班
这个作业要求在哪里 软件工程实践总结&个人技术博客
这个作业的目标课程总结以及技术总结
其他

目录

  • 在不同项目阶段学习到的知识
  • 需求阶段
  • 设计阶段
  • 实现阶段
  • 测试阶段
  • 发布阶段
  • 对个人项目/结对编程/团队项目的总结
  • 个人项目
  • 结对编程
  • 团队项目
  • 自我评估
  • 回顾问题
  • 博客链接
  • 问题新解
  • 新的问题
  • 个人技术博客

在不同项目阶段学习到的知识

需求阶段
  • 在本学期的实践过程中,在需求分析阶段,我主要是学会了NABCD模型,以及将具体的需求抽象出来后,用uml来表示,在这一过程中,我复习了用例图,类图。
设计阶段
  • 在设计阶段,我最大的收获便是根据前面分析出的具体需求来去使用相应的原型工具来实现,以及对数据模型和数据库表的设计,还有对预计接口的设计,完成接口文档等等。
实现阶段
  • 在实现阶段,我主要是学会了如何使用springboot和mybatis来进行web开发把,进一步理解了mvc架构模型的工作原理把。在实践后期,我还参加了换组,在这一过程中,我也初步接触了unity,入门了一些基本的工具和方法,我对unity这一游戏引擎的兴趣得到了极大增强。
测试阶段
  • 在测试阶段中,我最主要学会的就是接口测试吧,一开始是利用postman对个人接口的简单测试,过渡到冲刺后期的利用apifox来对后端队员实现的接口进行测试,在这一过程中,我觉得最重要的就是测试用例的设计以及和其他队员的沟通,除此之外,一份形式良好,内容正确的接口文档也是非常有必要的。在设计测试用例中,我使用到了等价类划分的方法,以及基本路径的测试方法。
发布阶段
  • 在团队项目过程中,我并没有参与项目的发布工作,但不管是团队,个人,或者结对编程,在任务的后期,都或多或少的使用了git来进行版本的管理,我认为自己在这一阶段的最大收获便是学习了如何利用git来进行版本管理,并进行协作开发。

对个人项目/结对编程/团队项目的总结

  • 个人项目

在这学期初完成个人项目时,我觉得最重要的就是自己要对于要求有一个明确的概念,仔细分析作业中需要注意的点,以及在遇到新接触的或者目前解决不了的问题时,要去学习!并将这些知识或疑惑记录下来,以便后面能有可能要用到。在完成项目之后,一定要对项目的功能进行测试,并于作业需求的功能对比。

  • 结对编程

在结对编程阶段中,要注意与队友保持沟通,确保两人对同一问题的看法不存在分歧,或者商量出统一的解决方案。如果自己确实在某些方面能力欠缺,一定不能拖延,需要及时学习新知识,并根据实际的学习程度来向考虑是否需要向队友反馈或者寻求帮助。

  • 团队项目

与结对编程一样,团队项目阶段中沟通也是非常重要的,但又与结对阶段有些许不同,在团队项目中,每个队员都有自己的任务,不能经常与队员联系,这有可能会打乱对方的节奏,适当的做法是,有问题自己先解决,并将遇到的问题进行汇总,在团队会议中再一一举出未解决的问题寻求帮助。还有一点是用git进行版本管理的过程中,应该创建自己的分支,不能出现因为自己的提交而覆盖了别人的代码这种情况。

自我评估

课程目标自我评分解释
目标1: 理解软件工程师的职业道德规范和实践要求,了解国情社情民情,理解软件产品对社会、健康文化等影响,树立积极向上的软件开发理念。90在课内外,我已经了解和学习了软件工程师的职业道德规范和实践要求,已经树立了积极向上的软件开发理念。
目标2: 掌握需求分析的全过程,能辨别客户表述的多样化要求,熟练使用需求表达工具,能够规范、准确地表达客户的需求,构建需求分析模型。75首先,对于需求分析,我只能粗糙的使用需求分析工具来绘制分析模型来表达需求,其次需求分析并不仅有绘制分析模型,我自我感觉自己对于需求的表达能力也有所欠缺,一方面是逻辑思维能力的缺失,另一方面是语言表达能力的缺失。
目标3: 掌握软件开发的全过程,遵循体系结构设计方法和基本设计原则,通过正式的技术评审,完成从体系结构设计模型、数据设计模型和构件级设计模型,形成面向高效可靠的服务组件设计方案或软件系统设计方案。75通过本学期的实践,我初步了解了软件开发的全过程,但对于具体设计模型的实现,我还是存在问题,不能形成高效的设计方案
目标4: 能够执行从组件到软件系统的技术评测,具备设计模型的评判能力,具有创新设计意识,能够优选设计方案。70对于具设计模型的评判,我并不能很好的分辨出模型的优缺点,在创新意识方面上,我也具备良好的创新能力
目标5: 遵循软件开发各阶段文档标准,采用规范的表达,掌握需求规格说明书、系统设计说明书、系统测试报告等文档撰写方法,具备与业界同行交流能力。80对于代码规范,本学期在具体编码时,都参照的编码的规范文档,所以形成良好的规范代码的意识,对于系统涉及说明书,也略微的了解了如何分析安全性和可靠性。
目标6: 具有良好的团队意识和合作技能,能够与其他成员开展有效的沟通和协作;能够组织、协调或指挥团队开展工作。90在团队协作中,因为我负责的时测试,所以我时常保持和队友的联系。以及在编码部分,我也参照任务需求,定时和负责人沟通
目标7: 能够辨别具体软件项目管理中涉及的构成要素,掌握软件规模和工作量的估算方法,能够选择合适的工具规划软件进度并对项目管理过程进行配置,具备初步的管理复杂软件工程项目的能力。85在本学期的实践过程中,我学会了如何估算实现一个软件的工作量,并能够使用git对项目来进行版本的管理

回顾问题

  • 博客链接
  • 问题新解
    • 我都是大学生了,上课还要认真听老师讲课么?

      答案并没有太多的变化,在本专业的专业课中,必须认真听讲,老师的思路,老师上课所讲授的案例,都是值得我去借鉴的。对于公共必修课,如形式与政策之类的课程,应当有选择性的来听,合理的分配时间,唯一要注意的点还是不管是什么课程,课上的时间不能被分配的娱乐项目上。

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

      除了之前提到的代码能力,思维能力,态度三个方面之外,我认为还需要多出团队协作能力以及语言表达能力两方面的评判标准。一名合格的程序员是作为集体的成员来工作的,团队的协作能力是不可缺少的。在面对客户的需求时,不应仅是理解了客户的需求,还要做到将需求表述出来,在着方面,语言表达的能力时必要的。

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

      答案并没有太多变化,“专”一点更好,在面对其他的相关领域时,往往能在学习的过程中触类旁通,从而减少学习的壁垒,以此来实现在“专”的基础上实现一定程度的“广”。

    • 如何理解先发优势和后发优势

      先发优势和后发优势是针对市场竞争中的企业而言的,先发企业在市场上已经建立了品牌知名度、用户群体和技术经验等优势。 后发优势的关键在于针对先发者的产品痛点,开发出更加满足消费者需求的产品,因此可以更快地适应市场需求和变化,提供更加优质的产品和服务,攫取先发者的市场份额。对于先发优势和后发优势的优劣并不是绝对的,应该具体情况具体分析。

    • 软件的缺陷是否应该在规格书中说明?

      对于这个问题,我并没有新的看番,还是认为有必要在规格书中说明软件的缺陷,用户有权力知道所使用的软件的全部功能以及缺陷,说明软件缺陷,能够让用户更全面的了解软件的优缺点,从而避免因不了解软件的缺陷而造成损失

  • 新的问题

在项目或程序比较复杂的情况下,如何高效率的进行程序理解?-CSDN社区

AI辅助编程,是一个银弹么?-CSDN社区

个人技术博客

个人技术总结——springboot和mybatis的使用-CSDN社区

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

在面对客户的需求时,不应仅是理解了客户的需求,还要做到将需求表述出来,在着方面,语言表达的能力时必要的。

很赞同!
看来未来对需求模型的表述还需要在加强,加油!

688

社区成员

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

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