软件工程实践寒假作业

222000234张程越 学生 2023-02-10 13:23:31
这个作业属于哪个课程2023春季软件工程实践-W班(福州大学)
这个作业要求在哪里软件工程实践寒假作业
这个作业的目标学习markdown语法、总结过去、制定学习计划、规划未来、思考《构建之法》
其他参考文献markdown教程-菜鸟教程、Git入门-Gitcode、《构建之法》

目录

  • 1.准备工作
  • 1.1使用git上传代码文件
  • 1.2仓库地址
  • 2.回首过去
  • 2.1 当初我为什么选择软件工程这个专业?
  • 2.2 当初对软件工程这个专业的期待和想象是什么?
  • 2.3 当初希望自己是如何投入这个专业的学习的?曾经做过什么准备,或者立下过什么FLAG吗?
  • 3.立足当下
  • 3.1 个人展示
  • 3.2 当前值
  • 4.展望未来
  • 4.1 阅读《构建之法》,并阅读构建之法社区中前人提出的问题,选择5个及以上的问题写下自己的思考
  • 4.2 未来的职业规划
  • 4.3 对于软件工程实践课程,你有什么理解和期望?
  • 5.思维导图和学习路线
  • 5.1 我的前端学习思维导图
  • 5.2 我的学习规划路线图


1.准备工作

1.1使用git上传代码文件

上传截图

1.2仓库地址

https://gitcode.net/Chyu__/markdown-course

仓库截图


2.回首过去

2.1 当初我为什么选择软件工程这个专业?

​ 互联网行业飞速发展的环境下,IT相关专业无疑是我高中毕业那年最热门的专业之一(甚至没有之一)。本身我对自己未来想要从事的职业也没有什么特别的理想,我只希望能够有比较好的薪资待遇,加上我有着比较内向、不喜欢与太多人打交道的性格,我认为靠技术能力立足的行业会更适合我,而IT类专业刚好符合这一切要求主要因为码农薪资可以说是打工人天花板了。在我一位从事软件开发工作的亲戚的介绍下,我将志愿的选择范围缩小到了计算机科学与技术和软件工程这两个专业上,我又了解到计算机科学专业对数学能力的要求更高,正好我是一个相当缺乏数学天赋的人,于是我最后选择了软件工程这个专业。

image-20230124175506545
2.2 当初对软件工程这个专业的期待和想象是什么?

​ 大学之前我对编程毫无了解,在我当时的想象中学习了软件工程这个专业,我就会成为那种很牛的、很高级的“玩电脑的”——码农,每天抱着电脑劈里啪啦就是敲,手指在键盘上飞舞,黑底的屏幕上彩色字母一行行闪现,动不动就做个网站写个APP和游戏给别人。我期待学习了这个专业,我就能成为一名合格的程序员,拥有较强的编程实践能力,能够独立开发各种软件,进入理想的公司,一毕业就拿到高额薪资。

image-20230124175506545
2.3 当初希望自己是如何投入这个专业的学习的?曾经做过什么准备,或者立下过什么FLAG吗?

​ 当时希望自己能够好好学习编程语言,熟练掌握并精通其中的一两种(就是当时立下的flag)。我的数学真的很糟糕,所以在入学前我就对我的逻辑思维能力感到担忧,为了体验编程的感觉,我在高三毕业的暑假在慕课和翁恺老师学习起C语言。同时在暑假对软件工程的就业方向(前后端、测试等岗位)进行了一些了解。入学后加入了服务外包实验室也参加了一些比赛。曾经我很希望成为一名前端工程师,可惜现在仍然离目标甚远。

img


3.立足当下

3.1 个人展示
昵称Chyu
出生年月2002.04
籍贯福建三明
邮箱1463004020@qq.com
兴趣爱好阅读、听歌、看电影、美食
特长钢琴、绘画、游泳
3.2 当前值
成果和获奖经历
2020-2021学年
2021-2022学年
  • 精神文明建设奖
院级
  • 海峡两岸信息服务创新大赛二等奖
  • 百度智能云杯人工智能大赛本科组优秀奖
  • 移动应用创新赛华南赛区一等奖
省级
  • 大学生创新创业训练计划国家级立项
国家级
2022-2023学年
  • 移动应用创新赛二等奖
国家级
专业水平
掌握的编程语言C/C++、Java、C#、XML、php、HTML、CSS、JavaScript
技术框架Yii2.0
开发软件Visual Studio Code、Visual Studio、Android Studio、IntelliJ IDEA、Dev C++
累计代码量20k+行
项目经历
竹蜻蜓二手交易网站
  • 大一的时候作为UI/UX设计师与学长学姐参与了该项目
  • 实现了二手商品的发布、查看和购买
  • 用户可以在该平台发布和浏览商品,也可以购买商品
旅游管理系统
  • 基于java、MySQL语言所编写的系统
  • 实现了游客管理、导游管理、景点管理以及旅游服务的查询和购买,用户可以通过管理员或游客身份登录
  • 管理员可以对景点信息、导游信息、游客订单进行增删改查
  • 游客可以对景点信息、导游信息进行查询,购买旅游套餐以及导游服务,同时可对景点和导游进行评价
  • 管理员可以对景点信息、导游信息、游客订单进行增删改查
通古识汉APP
  • 一款作为古汉字查询工具以及传承和发扬中国传统古汉字的 APP
  • 基于深度卷积神经网络,Yolov5、分散注意力和三重网络的图像检测识别技术,开发出了实景扫描识别、古汉字临摹小游戏、汉字查询、文献检索、名家书法展示等功能
  • 担任该项目的队长、产品经理以及UI/UX设计
个人博客系统
  • 基于yii2.0的MVC的框架,php、html、css等语言完成的个人博客网站
  • 完成了后台功能:管理员登录,文章的增删改查,评论的删除、查询以及审核,用户的删除查询,管理员的增删改查以及权限管理,dashboard界面用来展示文章数、标签数、用户数等信息
  • 完成了前台功能:用户注册与登录,个人文章的增删改查,对文章进行评论等功能
  • 在文章内容和评论内容的编辑中实现了富文本

4.展望未来

4.1 阅读《构建之法》,并阅读构建之法社区中前人提出的问题,选择5个及以上的问题写下自己的思考

Q1:为什么“开源”要设置那么多的协议呢?

A1:在我看来,开源协议的设置是为了解决开源软件的版权问题,以及在开放源代码软件发布的过程中,保护开发者和使用者的利益。开源协议的设置可以有效的保护开源软件的知识产权,以及避免开源软件被滥用、恶意改动等问题。同时,开源协议也可以为开放源代码软件的使用者提供一定的保障,规定他们可以用哪种方式来使用开源软件,以及在使用过程中所产生的一些衍生作品的版权归属。

Q2:“技能”比“解决问题”更重要吗?

A2:通过我个人的经历来说,技能和解决问题都是非常重要的,没有哪一个可以说是更重要的。技能是指掌握某种能力,它可以帮助人们解决问题——解决问题也是技能的最终目的,只有具备了技能,才能够有效地解决问题。所以技能是解决问题的基础,当我想解决一个算法问题,我要先具备一定的技能,比如C/C++之类的编程语言、数据结构的知识等,只有具备了这些技能,才能够满足解决这个算法题的前提。

解决问题也是技能的最终目的,当我具备了编程语言基础、数据结构的知识,但我却想不到方法来正确使用这些技能解决算法问题,这样我的技能就不能发挥出应有的效果,也就失去了它的价值。

总之,技能和解决问题都是非常重要的,两者相辅相成,互为补充,才能发挥出最大的效果。

Q3:良性bug是否该被修复?

A3:我认为这个问题应该根据具体情况进行分析。

一般来说,良性bug应该被修复,因为它们可能会影响到用户体验。用户可能会因为良性bug而感到不满,甚至放弃使用该产品。另外,你无法保证良性bug不会导致更严重的错误发生,而且修复良性bug也可以提高程序的可维护性和可扩展性,因此也应该修复这些bug。

然而有时候,良性bug可能不需要修复,比如当开发者认为修复良性bug会花费大量时间和资源,而且不会带来太多实质性的改进时,就可以选择不修复。

总的来说,良性bug是否该被修复,应取决于开发者和PM的判断。

Q4: 需求分析:“最好”还是“最合适”?

A4:在进行需求分析时,选择最好还是最合适,首先要明确的是自己的现有的资源和能力,想要达到的目标,以及最终要实现的结果。

首先,“最好”是一个很宽泛的概念,它涵盖了最佳的结果,最优的状态,最完美的实现等等,它更多是一种抽象的概念,而且很难定义,可以说是一种最高的要求。

“最合适”则是一个更具体的概念,它指的是在满足最基本要求的前提下,能够满足某种特定的需求,并且在技术、时间、财力等方面最能体现经济效益的结果。

因此,在进行需求分析时,要根据自己的目标和最终要实现的结果,来确定是要追求最好,还是最合适。如果并不是那么在乎时间精力的花费,并且团队有着做出最好产品的共同追求,那么可以选择实现最好的需求分析,因此需要进行更多的分析,把握技术上的最佳实现方案,以达到最完美的效果;如果是要追求最合适,那么在需求分析过程中就要更加详细地调查目标用户的需求,综合考虑到时间和财力等因素,以最经济的方式满足需求。

Q5: 团队成员的学习能力不一,要如何平衡?

A5:我也作为过一个团队的管理者,所以对这个问题有过一些思考。

首先,团队管理者应该把握好团队成员间的学习能力差异,尽量减少不同能力程度的成员在一个任务的比例。因为这样可以避免强者和弱者之间的摩擦,让弱者有更多的学习机会,从而提高团队的整体效率。同时团队管理者应该制定合理的团队任务分配方案,可以根据每个成员的能力程度来分配任务,让每个成员都有机会发挥自己的优势,从而提高团队的整体效率。其次,团队管理者应该在允许的情况下尽量给予每个成员充足的学习时间,让他们有机会更好地掌握新的知识和技能,从而提高团队的整体效率。最后,团队管理者应该提供给每个成员足够的帮助和关心,让他们能够对自己保持自信,更好地学习和掌握新的知识和技能,从而提高团队的整体效率。

4.2 未来的职业规划

​ 在我的人生计划中,一定要读到硕士,再加上这两年互联网行业的就业形势已经没有之前那么乐观,所以我也希望通过读研来提高自己的能力以及就业竞争力。如果我在研究生结束后仍然有继续科研的热情可以考虑读博,之后去高校任教(可能性不大哈哈);在研究生阶段我会多做项目,并争取各种企业的实习机会来提高我的编程实践能力,如果硕士毕业后我没有继续深造的打算,我希望能够进入理想的大厂成为码农,努力工作到三十左右再考虑考公考编。

4.3 对于软件工程实践课程,你有什么理解和期望?

​ 在我看来,软件工程实践是我本科阶段最核心的一门课程了,我相信这门课一定是挑战与机遇并存、收获与付出成正比的课程。在课程进行的过程中,我肯定需要不断学习新技术并去实践它们,我一定会不断遇见问题、不断写出bug并解决它们,我会感到挫败也会收获成就感,对于teamwork也会有更深的体验。同时我对于UI/UX设计和产品方面也已经有一些经验,我希望我的经验能够给我团队的项目带来良好的用户体验。我希望通过这门课,我能够养成良好的编程思维,提高我的编程实践能力,真正地体会到一名程序员的工作习惯,掌握前端开发技术,作为一名开发人员参与到软件开发的完整过程中,开发出属于自己的项目,为未来就业打下良好的基础。希望老师和助教能够对我们进行学习路线的指引和软件设计规范的指导。


5.思维导图和学习路线

5.1 我的前端学习思维导图

img

5.2 我的学习规划路线图

img

...全文
611 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
SoftwareTeacher 2023-03-08
  • 打赏
  • 举报
回复

通过我个人的经历来说,技能和解决问题都是非常重要的,没有哪一个可以说是更重要的。技能是指掌握某种能力,它可以帮助人们解决问题——解决问题也是技能的最终目的,只有具备了技能,才能够有效地解决问题。所以技能是解决问题的基础,当我想解决一个算法问题,我要先具备一定的技能,比如C/C++之类的编程语言、数据结构的知识等,只有具备了这些技能,才能够满足解决这个算法题的前提。


在文章中说的 “解决问题” 是指 “解决阻碍训练技能的各种小问题”,例如,“如何安装 MySQL”, 搞不定这些小问题,从而导致 -- 从入门到放弃的悲剧。

222000234张程越 学生 2023-03-09
  • 举报
回复
@SoftwareTeacher 噢!是我没有细心阅读的问题,谢谢老师。这样的情况我也经常遇见,特别是在配置新运行环境的时候,我的安装环节好像总是和教程不一样,但是为了完成作业,这种问题通过多搜索资料多请教他人还是可以解决的,否则技能将失去训练的机会,这样看来,解决问题似乎比技能更重要一些。
助教-张思锐 助教 2023-02-20
  • 打赏
  • 举报
回复

介绍的很清晰,思路明确,赞

222000234张程越 学生 2023-03-02
  • 举报
回复
@助教-张思锐 谢谢助教

686

社区成员

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

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