这个作业属于哪个课程 | 软件工程-23年春季学期 |
---|---|
这个作业要求在哪里 | 软件工程实践寒假作业 |
这个作业的目标 | 回首过去、立足当下、展望未来、思维导图和学习路线 |
其他参考文献 | 《构建之法》、CSDN、博客园、菜鸟教程 |
1. git上传代码文件到代码仓库
1.1 仓库地址
仓库地址:地址
1.2 使用git上传一个代码文件到代码仓库
1.2.1 克隆仓库到本地
1.2.2 上传代码文件到代码仓库
1.3 仓库截图
2. 回首过去
2.1 当初为什么选择软件工程这个专业?
当初转专业选择软件工程这个专业主要是因为对编程和计算机有兴趣,感觉这个专业不会枯燥和无聊,期待能自己设计一些程序,同时也了解到未来就业比较好。
2.2 当初对软件工程这个专业的期待和想象是什么?
当初对软件工程这个专业的期待和想象是可以自己设计电脑或手机软件的功能,可以自己设计软件的界面,设计软件的UI,可以将自己设计的软件应用于日常生活,比如自己编写手机备忘录app等。
2.3 当初希望自己是如何投入这个专业的学习的?曾经做过什么准备,或者立下过什么FLAG吗?
因为是大一上的学期末转专业到软件工程的,当初希望自己能快点掌握C这门语言,希望能通过视频教程或文字教程快速掌握C语言的语法,然后多写程序,希望自己能多以实践为主来投入这个专业的学习。
曾经有了解过这个专业要求必须掌握哪几个编程语言,在转专业前学习了计算机导论相关的知识。因为对Java有很大的兴趣,因此想熟练掌握Java相关的技术。
3. 立足当下
个人信息 | |||||
---|---|---|---|---|---|
昵称 | Fish in Troubled Water | ![]() | |||
专业 | 软件工程 | ||||
出生年月 | 2002/06 | ||||
兴趣爱好 | 游戏、音乐 | ||||
专业水平 | |||||
掌握的编程语言 | C、C++、Java、Python、HTML、CSS、Javascript、PHP、XML、C# | ||||
技术框架 | Yii2、FastAPI | ||||
开发软件 | Visual Studio Code、Visual Studio、Android Studio、IDEA、Pycharm | ||||
累计代码量 | 15K+ | ||||
项目经历 | |||||
大棚管理系统 | 该项目是使用Spring Boot开发的微信小程序。 主要包含的功能有:用户(读者)管理、大棚及传感器管理、知识库管理。 我在项目中主要负责大棚及传感器相关的api的编写。 | ||||
基于Yii2的博客系统 | 该项目是使用Yii2框架开发的个人博客系统,主要分为前台、后台管理和数据库接口这几个模块。 包含的功能有文章管理、评论管理、用户管理等。 该项目由个人完成 |
4. 展望未来
4.1 阅读《构建之法》,并阅读构建之法社区中前人提出的问题,选择5个及以上的问题写下自己的思考。
我认为在设计中应当关注人数更多那类人群的使用体验。至于其他人群的需求,我认为可以作为可选的扩展模式,比如现在一些app上的青少年模式。如果兼顾多种人群的使用体验可能会导致多数人群的需求未能完全满足,且多数人群又要不得不面对他们所“不需要”的需求。
需要。在项目的开发中,部分操作的表示用语统一规范不仅可以使开发人员之间沟通更加方便,也能有效地避免软件中相同功能是不同的术语,例如在大棚管理系统的开发中,知识库功能如果在用户面前同时有“知识库”和“扩展阅读”两个称呼,用户很有可能会对这“两个”功能有何不同产生困惑。
我认为应该在规格书中说明。正如书中所说的节能灯的例子,类似这种为了追求某一方面性能而舍弃另一方面性能导致的缺陷,提前告知用户能使用户在今后使用中有所防备,软件的缺陷也应同样如此。我认为这里的缺陷并不是单纯的因代码疏漏而导致的bug,而是为了更好的功能导致的“后果”,用户在购买或使用软件前,有权利知道软件的缺陷,来避免缺陷导致的损失。
Q4:如何发现社会的潜在需求?类似小黄车这样的项目,之前从未有人提出来过,这种颠覆性的创新是如何提出并且恰好被市场认可?
我认为可以通过自身的日常需求出发来发现社会的潜在需求,当发现自己多次因为某种事物的缺失而造成困扰时,可以试想一下社会是否需要这种服务,同时也要考虑提供这种服务会造成的一系列问题以及如何避免这些问题,应当细心地在生活中发现需求。小黄车这种颠覆性的创新也是因为CEO在本科生活丢了5辆自行车而发现的。能被市场认可首先这个项目必须是要能盈利的,并且能满足固定的或者是广大人群的需求,小黄车这种成本相对较低,回报也较为可观,同时又是许多人所需要的项目恰好能被市场认可。
我认为顾客并不一定知道他们想要什么,他们可能很难用言语精确地描述出他们的需求,即使一些细小的功能他们能够准确地描述出需求,也可能对最终软件产品的操作方式或是界面布局有所不满。这就需要我们在开发的过程中时刻获取用户的反馈,我认为模块化的设计十分重要,只有项目的耦合度较低,日后的修改才不会因某一处的修改而修改整个项目的程序。
4.2 我未来的职业规划
想先以考研为目标,在研究生阶段学习新技术的同时多做一些项目,在Java后端学习上更加深入,研究相关的一些课题。同时也可以在研究生阶段拓展学习其他的知识,如大数据、人工智能等。
4.3 对于软件工程实践课程的理解和期望
我认为在软件工程实践课程是在之前学过的技术的基础上学习新的技术(实际项目的开发所需要的技术),并且完成一个较大的项目,会更以开发团队的角度进行实践,会考虑用户的需求,针对用户的需求进行模块设计、接口设计等。会更注重团队成员之间的分工,用git来实现协同开发,共同制定完成这项目的时间表,制定每一阶段需要完成的工作。
期望是可以学习更多的Java方向的后端知识,同时可以对项目开发的整体流程更加熟悉。