109
社区成员
这个作业属于哪个课程 | 2401_CS_SE_FZU |
---|---|
这个作业要求在哪里 | 软件工程实践总结&个人技术博客 |
这个作业的目标 | 软件工程实践以及个人掌握的技术的总结 |
软件工程实践总结 | 《构建之法》 |
原博客:思考博客
问题1 我都是大学生了,上课还要认真听老师讲课么?
1.首先,上课认真听讲助于学生形成良好的学习习惯,否则学生可能会在整个大学的学习生活中散漫无纪律。
2.其次,在课堂老师的讲解下,书本中枯燥乏味的知识会更加容易理解吸收,学习效率会更高。老师也会经常告诉学生更好的学习、记理解的方法,学习起来事半功倍。
3.再次,老师经常会在课堂上讲更多的书本中没用的知识,这些知识往往是书本中并没有特殊提到的,然而这些知识往往也非常重要。
问题2 学生用GPT-4来做作业,老师要如何甄别呢?
1.在怀疑作业是否ai生成时,可以使用ai检测工具,例如unicheck来检测。
2.在布置作业时,布置过程性作业,让学生提交阶段性过程,从而保证学生作业完成的独立自主性。
3.布置需要深入思考的作业,需要学生自己深入思考得出感悟,让学生有自己的理解。
问题3 代码量与个人的编码能力有直接关系吗?
代码量能在一定的范围内衡量个人的代码水平,但并不是绝对,一个人的代码量很多,只能说明他对于代码很熟练练,不一定代码水平很高,因为他有可能做了很多低端的项目,代码量很多,但很多都是很基本的功能,并没有很复杂的内容,只是做一些繁琐的工作。
问题4 如何让自己能够跟上软件工程发展,做一个永不落伍的开发者呢?
树立终身学习思想,保持对学习的热爱。计算机的变革很快,一两年就会有一个新的技术出现,要想跟上软件工程的发展,就需要保持终身学习的习惯,对前沿的新技术保持学习热情,主动的去学习新的知识,努力扩充自己的知识库,不断磨练自己技术,加深自己对各种技术的理解,保持对新技术的好奇心。
问题5 如何发现社会的潜在需求?
在日常的生活中,遇到某种需求但无法得到满足时,去考虑这种现象是否是社会中的普遍现象,是偶然现象还是个例,如果是普遍现象思考为什么没有解决,其中的难点是什么,解决这些问题需要克服什么困难。考虑如果为需要这种服务的人提供服务是否有经济价值,付出成本是否能有所回报,如果有,那么回报率大概可能有多少。
需求分析
沟通是需求分析的关键,我意识到了准确理解用户需求的重要性,这有助于避免后续开发中的误解和返工。
系统设计
设计阶段是确保软件项目成功的关键。一个良好的设计可以减少开发过程中的返工,提高软件质量。我认识到设计不是一次性的活动,而是一个迭代的过程。随着项目的进展和用户反馈的收集,设计需要不断地调整和优化。
实现阶段
编码不仅仅是写代码,更重要的是代码的可读性和可维护性,避免随着项目的进行写出屎山代码。
** 测试阶段**
通过这次项目我学会了几个比较好用的自动化测试技术,极大的提高了工作效率。
发布阶段
我认识到发布不是项目的终点,而是一个新的开始。用户反馈是设计迭代的重要输入,它帮助我们理解当初设计的实际效果,并指导往后的更新改进。
个人项目
在个人项目中,由于第一次接触git,在git的部署上遇到了很多的问题,但在自己一步一步的摸索下问题得以解决。同时个人项目中的数据爬取是我遇到的比较大的问题,爬取数据和处理数据时是集中报错的地方,但也通过各种方法解决了这些问题。
结对项目
刚拿到结对项目作业的时候,头脑中还是比较一头雾水,因为这是我第一次接触网页编程,对于html语言不了解,在实现阶段,对于已经在原型设计中已经做好的功能上的实现上有点手足无措,很多新的知识需要去学习,最后做出来的网页与原型设计中的网页相比有点阉割版的感觉。
团队项目
这次的团队作业是我接触到的参与人数最多的一次项目,我认识到,在进行多人合作时,分工具体的任务是相当重要的,每个人分配到具体的每一项任务可以提高项目的完成效率。在这次项目中,由于我们的网站中的所有信息数据是存于数据库中,所以需要很多的原始数据,我的主要任务是去各大网站去爬取酒店、景点信息数据。但是也不是所有的网站中的所有信息都可以随便爬取,类似在爬取大众点评中的信息时遇到了反爬机制,我的那一点爬虫技术被拒之门外,所以以后也会继续学习爬虫技术,我个人也对爬虫产生了比较强的兴趣。
目标 | 评分 | 解释 |
---|---|---|
理解软件工程师的职业道德规范和实践要求,了解国情社情民情,理解软件产品对社会、健康文化等影响,树立积极向上的软件开发理念。 | 95 | 我认为这是作为一个软件工程师基本素养,不止于软件工程师,无论从事任何职业对社会、健康文化等产生积极向上的影响是基本要求之一。我们作为软件工程师也要严于律己,对于用户隐私以及软件的合法性问题做出更多的考虑。 |
掌握需求分析的全过程,能辨别客户表述的多样化要求,熟练使用需求表达工具,能够规范、准确地表达客户的需求,构建需求分析模型。 | 90 | 在项目初期的设计阶段,可以良好的分析用户需求,设计软件的大体框架,并通过Axure做出原型设计 |
掌握软件开发的全过程,遵循体系结构设计方法和基本设计原则,通过正式的技术评审,完成从体系结构设计模型、数据设计模型和构件级设计模型,形成面向高效可靠的服务组件设计方案或软件系统设计方案。 | 80 | 我对软件开发的全过程有较为全面的了解,能够遵循体系结构设计方法和基本设计原则。但在完成从体系结构设计模型到构件级设计模型的过程中,我有时需要额外的时间来理解和应用正式的技术评审。 |
能够执行从组件到软件系统的技术评测,具备设计模型的评判能力,具有创新设计意识,能够优选设计方案。 | 80 | 我具备一定的技术评测能力,能够对设计模型进行评判。但在创新设计意识和优选设计方案方面,我认为自己还有较大的提升空间,特别是在面对复杂问题时的创新解决方案的提出。 |
遵循软件开发各阶段文档标准,采用规范的表达,掌握需求规格说明书、系统设计说明书、系统测试报告等文档撰写方法,具备与业界同行交流能力。 | 85 | 我能够遵循软件开发各阶段的文档标准,掌握需求规格说明书、系统设计说明书、系统测试报告等文档的撰写方法。我具备与业界同行交流的能力,但在某些专业术语的使用上还需更加精准。 |
具有良好的团队意识和合作技能,能够与其他成员开展有效的沟通和协作;能够组织、协调或指挥团队开展工作。 | 90 | 我在团队合作方面表现良好,能够有效地与其他成员沟通和协作。我能够组织、协调或指挥团队开展工作,这是我的强项之一。 |
能够辨别具体软件项目管理中涉及的构成要素,掌握软件规模和工作量的估算方法,能够选择合适的工具规划软件进度并对项目管理过程进行配置,具备初步的管理复杂软件工程项目的能力。 | 80 | 对软件项目管理的构成要素有一定的了解,能够掌握软件规模和工作量的估算方法。但在选择合适工具规划软件进度和管理复杂软件工程项目的能力上,我认为自己仍需积累更多实践经验。 |