688
社区成员
发帖
与我相关
我的任务
分享| 这个作业属于哪个课程 | 2023年福大-软件工程实践-W班 |
|---|---|
| 这个作业要求在哪里 | 软件工程实践寒假作业 |
| 这个作业的目标 | 回望过去、立足当下、展望未来、确定学习路线 |
| 其他参考文献 | 菜鸟教程、CSDN、《构建之法》 |
仓库地址:https://gitcode.net/qq_51739476/222000322.git

由于并未事先去了解大学专业的相关知识,当初在选择专业时对各个专业是处在几乎一无所知的状态。于是本着“好就业就是好专业”的原则,我开始搜索“就业前景最好的专业”、“工资高的工作”等词条,最终我被引向了计算机这一热门领域。在计算机的相关专业中,比起计算机科学与技术这种偏理论的专业,我更倾向于选择软件工程这种偏实践且能够快速变现的专业。于是在经过一段时间的思考后选择了软件工程这一专业。
我本人是比较喜欢看美剧的,所以在选择了软件工程这个专业后也是看了《硅谷》等相关美剧,看完之后已经开始幻想以后开发出自己的app(虽然《硅谷》里真正值钱是主角团的压缩算法),引得各大公司疯抢,走上人生巅峰了。
首先当然是希望自己能跟上课堂进度不挂科,最好能拿点奖学金。其次便是希望可以提前接触到一些项目,掌握当前主流的一些技术,然后能够接一些外包整点小钱。为此我也是在bilibili大学上学习了基于Java的springboot框架的后端开发(一开始选择后端是因为感觉后端技术含量比前端高、更有竞争力...但现在感觉可能选择前端或许能够更早接手完成一些项目...),也是完成了一些完整的项目。
FLAG:进大厂,年薪百万,赢取白富美。
![]()
个人展示
![]()
- 姓名:许影杰
- 兴趣爱好:看美剧、看番、看纪录片
- 特长:睡觉
- Github:https://github.com/SomeBo0dy
- 邮箱:xyj18105857856@163.com
当前水平
- 成果和获奖经历:
- 2022IKCEST第四届“一带一路”国际大数据竞赛暨第八届百度&西安交大大数据竞赛优秀奖
- 福州大学综合奖学金三等奖学金
- 专业水平:
- 语言:C、C++、C#、Java、PHP、JavaScript、HTML、CSS
- 技术框架:Spring、SpringMVC、Springboot、Yii2.0
- 开发软件:Visual Studio 2022、Visual Studio Code、IntelliJ IDEA Ultimate、WampServer64、Android Studio
- 累计代码量(Github):19k+
- 项目经历:
- 简单的小说网站(Web端)
- 简介:该项目是一个前后端分离的小说网站,前端使用Vue框架,后端使用springboot框架
- 负责部分:后端
- 技术栈:Springboot + SpringMVC + Mybatis-Plus
- 成果:小说网站允许用户登录(无权限管理),查看、搜索、上传小说
- 二手市场网站(Web端)
- 简介:该项目是一个前后端分离的二手市场网站,前端使用Vue框架,后端使用springboot框架
- 负责部分:后端
- 技术栈:Springboot + SpringMVC + Mybatis-Plus + Redis
- 成果:这是一个功能较完善的二手市场网站,具有管理员面板负责审核上传商品、交易信息等。用户界面允许用户进行登录、查看、搜索、浏览商品信息以及进行下单
- 旅游网站(Web端)
- 简介:该项目是一个前后端分离的旅游网站,前端使用Vue框架,后端使用springboot框架
- 负责部分:后端
- 技术栈:Springboot + SpringMVC + Mybatis-Plus
- 成果:这是一个功能完善的旅游网站,存在三种角色:管理员、游客、导游。导游可以制定旅游方案模板,制定旅游计划、添加景点等;用户可以选择浏览、搜索、购买旅游方案,浏览、搜索、收藏景点;管理员则负责审核导游上传的景点、旅游模板和旅行计划,同时可以设置游客导游的账号状态
- 健康饮食运动应用(Web端、移动端)
- 简介:该项目是一个前后端分离的健康饮食运动应用,前端使用Vue框架,后端使用springboot框架
- 负责部分:后端
- 技术栈:Springboot + SpringMVC + Mybatis-Plus + Redis
- 成果:这是一个完善的健康饮食运动应用,具有Web端以及移动端版本,存在三种角色:管理员、用户、营养师。用户拍照上传事物照片,通过AI识别得到热量,用于登记当天已摄入热量,同时用户可以发布动态、浏览查看收藏营养师发布的食谱和运动方案并进行评论,也可以关注相应的营养师以优先获取该营养师发布的动态。营养师可以发布动态、食谱及运动方案。管理员则负责对动态、食谱、运动方案进行审核
- 个人博客(Web端)
- 简介:该项目是一个前后端不分离的博客网站,使用Yii2框架
- 负责部分:前端、后端
- 技术栈:Yii2.0 + Redis
- 成果:这是一个完善的个人博客系统,前台用户可以浏览、搜索、评论博客文章。后台管理员可以对文章、文章类别、评论、角色、权限、用户、管理员权限进行管理
我认为单纯强调工程师是“专”更好还是“广”更好是十分片面的。对一名工程师而言,“专”则代表他对某一领域或技术有着很深的造诣,对其他领域则没什么涉略,好比擅长单一乐器的“演奏家”;“广”则代表他对各项技术都有所了解,但对每一项技术都并不精通,好比负责写各个乐器乐谱的“作曲家”。就像“演奏家”与“作曲家”一样,更“专”一点的工程师和更“广”一点的工程师两者的分工其实并不相同。不同的分工对工程师有着不同的要求,如果是负责前端/后端的工程师,那他“专”于前端/后端的技术栈会更好;如果是全栈工程师,那么他更需要“广”泛地统筹全局的架构和部署。只有先明确自身当前或者目标岗位的分工定位,才能有针对性地选择是往更“专”还是更“广”发展。
毫无疑问,一款软件用户体验的好坏将决定它能否在众多功能相似的软件中脱颖而出取得成功,这便是用户体验设计师存在的意义。在我看来,软件工程师与用户体验设计师看待软件的思维和角度是不同的:软件工程师更在意的是软件的功能性,而用户体验设计师则看中软件的使用是否舒适,UI界面是否合适,交互是否方便。一款因其绝妙算法而被软件工程师视为艺术品的软件,在普通用户的眼中或许是一个冰冷不好用的垃圾软件,而用户体验设计师要做的就是在保证功能性的同时,使其变得更加亲近普通用户。当然,软件工程师们必然也会意识到这个问题,但即使他们设计出了自认为十分友好的交互和UI,或许也不会获得大众的喜爱,只会平白浪费软件工程师的精力。正所谓“术业有专攻”,专业的事就交给专业的人来做。软件工程师和用户体验设计师各展所长、相互合作才能制作出一个成功的软件。
我认为没有必要。如果只是小部分人的需求,则说明添加与否都不会影响该软件大部分用户的使用意向,换句话说就是即使添加了这些功能也不会带来大的收益。而且如果每次都为小部分人添加功能,很快这个软件就会变得十分“臃肿”,失去重点。更何况有些用户并不清楚或不能清晰描述自己的需求,程序员要做的是提炼出用户的核心需求,开发一个精简有效的软件。
我认为在需求分析阶段不断挖掘用户的需求能够在一定程度上减少项目后期因需求而出现矛盾的风险。可能起初用户并不知道自己确切的需求或者不敢想象一些需求的实现,但随着项目的进行,用户对项目有了更多的了解,就可能提出一些别的需求,而这时要增加这一需求可能需要改动项目的许多模块工程量巨大。因此程序员应当在需求分析阶段引导用户,尽可能挖掘出用户的需求,减少项目的风险。
过早优化指试图在为时尚早的阶段提高效率的行为。这可能会导致程序员进行一些没必要的优化,浪费时间、金钱和精力,也会使程序员纠结于琐碎的方面却忽略了更重要的任务或影响到整体的架构,增加项目的风险。
目前并不打算直接就业,而是打算读研,学习和了解更多计算机领域的前沿技术。一来是能够接触更多的技术,增加就业选择方向;二来是提升学历、积累项目经验、掌握当前的热门技术,提高就业市场竞争力,争取硕士毕业直接进大厂。
在读研期间我打算学习AI方面的相关知识,毕竟“人工智能是才是未来”。毕业后争取进AI岗,或者Java开发岗,随后成为架构师,再进入管理层,跨过“35岁的坎”。年轻时在互联网公司工作同时提升能力、学习前沿技术,三十多岁后转入国企工作。
我认为软件工程实践课程会使我和我的团队实践“需求确定”-“分析设计”-“业务逻辑分析”-“业务逻辑设计”-“开发环境搭建”-“开发-测试-开发-测试”-“编写文档”这一系列项目开发的完整流程,同时也能提高我团队协作以及与队友沟通的能力。
由于我有学习过后端开发的技术,在这次的实践课程中我想要学习一些前端的技术框架,也了解一下前端的开发过程,这样在以后做后端时与前端队友的合作也能更加顺利。
我希望老师助教们能够规范我的开发流程、接口文档等,指导团队合作以及项目精进方向。


项目经验还是比较丰富的。想知道在平时的团队作业中,存在有同学划水摸鱼,项目由能力较强的同学完成,争对这种情况,有思考过相关的解决方案吗?