软件工程第一周作业
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/gdgy/Class78-Grade2024-CS |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/gdgy/Class78-Grade2024-CS/homework/15710 |
| 这个作业的目标 | 建立个人技术博客与GitHub账号,完成自我介绍 |
1. 介绍自己,建博客
我是广东工业大学24级计算机科学与技术8班的一名学生,平时喜欢看书和听音乐。
这是个人第一篇博客,以前甚至从未在网上发布过文章。个人认为博客虽然花时间,但是能够记录自己学习的历程,同时方便跟广大技术人员进行技术交流与分享,促进自己的进步。
2. 现状、经验和计划
(1)我选择计科专业的原因单纯是觉得该专业只要能认真深耕技术学习,哪怕天赋不足,也能找到一个比较令人满意的薪资,加上个人对未来就业方面没有什么特别的爱好。
根据 https://www.cnblogs.com/xinz/p/3852177.html ,重要技能调查表如下:
| 技能 | 当前的水平 | 课程结束的水平 |
|---|---|---|
| 程序设计理解 | 2 | 5 |
| c++ | 3 | 5 |
| 算法设计与分析能力 | 3 | 5 |
| 自主学习能力 | 1 | 6 |
| 需求分析能力 | 1 | 6 |
| 报告项目状态 | 1 | 6 |
针对以上技能,我的提升计划如下:
1)学习网上精品c++及相关拓展技术课程,而后自己在github上找高⭐项目尝试复现
2)在洛谷上刷算法题,每日1-2道
3)每周花1小时回顾本周学了什么、写了哪些代码、遇到什么问题
(2)
a. 我认为来上课并认真参与,是因为自学网上课程容易出现找不到学习方向的问题,同时缺乏外部监督容易出现学习懈怠的情况。大学课程提供的不只是知识点,还有学习节奏、同伴环境和外部约束。
b.我希望的师生关系
我希望这门课更像“教练和学员”的关系。老师不只是给出标准答案,而是通过任务、项目、反馈和要求,帮助学生逐步提高能力。学生也不应该只等老师安排,而要主动练习、提问和复盘。
如果老师布置的作业对我来说有些困难,我选择向老师和同学请教。原因在于困难本身就是学习的一部分,克服困难本来就是学习和进步的过程。
c.引用文献和抄袭、剽窃的区别
引用文献是别人的观点、数据、原话拿来用,明确标出来源:作者、书名 / 期刊、年份、页码。
抄袭是把别人的文字、观点拿过来用,不标注来源,假装是自己写的。
剽窃属于学术不端,不仅偷文字,还侵占他人成果所有权,把别人完整的研究思路、实验、数据、创意当作自己的成果;甚至直接照搬他人整篇论文、毕业设计换个名字上交发表。
(3)我未来想从事本专业相关工作,我为未来做的准备是自学相关知识点,扩展自己技术栈,同时提高个人算法和代码能力,夯实技术基础。
(4)我对这门课的计划和期待
本学期我的规划是:
跟上软件工程课程节奏,按时完成每次博客和项目任务。
提高代码量,同时重视代码质量。
我对课程的期待包括:
理解和掌握项目开发的完整过程
理解项目开发中各个岗位的工作和重要性
学会团队项目中的分工、协作和沟通。
学会使用Git和GitHub管理代码。
提高文档写作能力和博客表达能力。
3.阅读心得
1)阅读内容:https://www.scalerstalk.com/816-attention
阅读《构建之法》后的 5 个问题:
问题一:书中“足够好的软件”定义过于模糊,缺乏落地评判标准(第1章 1.3 软件工程的目标:在约束条件下创造“足够好”的软件)
个人观点:书中提出软件工程的核心目标不是打造“完美软件”,而是在时间、成本、人力等约束条件下,做出“足够好”的软件,这一核心逻辑本身合理,但该定义极度模糊,无量化、可落地的评判标准,对初学者和中小型项目团队几乎没有指导意义,甚至容易成为项目敷衍收尾的借口,软件工程的核心是标准化、规范化,若核心目标没有量化标准,所有开发流程、质量管控都会失去基准。
问题二:PSP个人开发流程对零基础、低复杂度开发场景适用性极低(第2章 2.3 个人开发流程)
个人观点:书中极力推崇PSP,认为所有软件开发者都应严格遵循“计划-开发-复审-记录-复盘”的标准化流程,提升个人开发效率与代码质量。但我认为,该流程高度适配工业级、高复杂度的工程开发,完全不适用于编程经验少、小型代码练习、课程作业等轻量化场景,强制使用反而会降低开发效率、增加无效工作量。
问题三:敏捷开发“弱化文档、重视沟通”的理念,在学生团队中弊大于利(第6章 6.2 敏捷的原则与实践)
个人观点:书中敏捷开发核心原则提出“个体与交互优于流程和工具,可用的软件优于详尽的文档”,主张简化文档、以实时沟通替代书面规范。但在学生团队开发场景中,这一理念极易引发项目混乱,并不适配零基础、零项目经验的学生团队,书中未区分团队属性差异,存在理念片面化的问题。
问题四:书中测试理论过于侧重人工测试,忽视自动化测试的普及价值与落地优先级(第13章 13.2 各类软件测试方法)
个人观点:第13章详细讲解了单元测试、场景测试、探索式测试、回归测试等多种测试方法,重点阐述人工测试的流程、技巧和重要性,但对自动化测试的介绍篇幅极少、讲解浅显,且未明确现代软件开发中自动化测试的核心地位,存在内容滞后、重点错位的问题。
问题五:书中创新理论过度强调颠覆性创新,忽视微创新的行业价值与学生可行性(第16章 16.3 IT创新的类型与落地)
个人观点:第16章作为全书重点创新章节,重点讲解颠覆性技术创新、商业模式创新,将重大突破式创新定义为IT行业核心创新,认为小优化、小改进不属于有效创新。但我反对这一观点,对于学生开发者和普通开发者而言,微创新才是最具落地性、最有价值的创新形式,书中创新评价标准过于苛刻、脱离普通开发者实际。
2)为了改进教学,收集资料,老师在教学过程中会要求学生填写对课程的反馈,我会经常提问题, 平时就经常给老师和助教提反馈。
**4. 前车之鉴 **
参考博客:
A.https://book.douban.com/subject/4006425/discussion/22803733/
心得:学会独立思考,做自己的主人,加强实践与执行力,珍惜每一个生命阶段。
D. https://www.cnblogs.com/xiaozhi_5638/p/4485805.html
心得:教会了我自学的重要性,课堂上能交给我们的知识有限,绝大部分内容需要靠我们自己主动去学习,要提高个人自学能力。
5.要求
(1)后台编辑界面

(2)github仓库

github地址:https://github.com/morganalter

浙公网安备 33010602011771号