软件工程实践寒假作业

222000205邓桂斌 2023-02-04 15:52:29

作业基本信息

这个作业属于哪个课程<软件工程-23年春季学期>
这个作业要求在哪里<作业要求的链接>
这个作业的目标<Gitcode仓库、回首过去、立足当下、展望未来、思维导图和学习路线>
其他参考文献《构建之法》

目录

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

1. Gitcode仓库

仓库地址

Gitcode仓库代码


仓库展示:

Gitcode仓库展示

2. 回首过去

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

首先是受到了家里人的影响,因为表哥是从事算法行业的,对我有一定的引导作用;其次是当时我自身对这一行业充满兴趣,觉得编写代码是一件很酷的事情;最后是有关计算机的专业在高考填报志愿时是很受欢迎的。

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

第一印象是可以自主编写一些网上没有但是很实用的软件,用来解决日常生活中遇到的问题。

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

充分掌握上课讲的内容,多上网查资料学习一些自己感兴趣的技能,并且多向学长学姐学习。

3. 立足当下

个人简历
学号222000205头像
昵称DGB
出生年月2002.06
专业水平
编程语言C、C++、Java、C#、HTML、XML、Android
技术框架Yii2.0
开发软件Dev-C++、VS code、Visual Studio、IDEA、PhpStorm、Android Studio
累计代码量20K
项目经历
学生信息管理系统该系统使用C++对学生信息进行维护,主要功能有对信息的增删查改,还包括对一些信息合法性的检验,同时会将合法录入的信息保存到本地的TXT文件中
巨型整数类计算器该项目使用C++实现对较长数字的四则运算,取模以及进制转换(包括二进制,八进制,十六进制)
网络五子棋该项目使用Java网络编程的内容,服务器为多线程,有偶数个客户端连接即开始游戏,由服务器判定本次步骤的有效性,客户端负责界面显示,并且自行判断胜负
景区导游系统该系统使用Java和MySql编写,系统面向的用户为导游与游客。导游可利用本系统向游客提供导游服务,游客利用本系统发现并购买导游服务,并向导游支付报酬,所有数据要求持久化至数据库
炮打飞机使用C#编写程序模拟大炮打飞机。在GUI界面上,飞机水平飞行,用界面上的按钮控制大炮的运行方向(如向左,向右,向上,向下)。当炮弹碰着飞机后,飞机坠落
博客系统(Yii2.0)使用HTML、CSS、PHP进行编写,实现前后端分离。前端对用户展示文章和评论,后端管理员可以对文章和评论进行增删查改,还实现管理员的授权

4. 展望未来

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

问题一:在一个项目、一个程序比较复杂的情况下,如何高效率的进行程序理解?

程序理解的任务就是要揭示程序的功能与实现机制,即理解系统的外部行为和内部构造。可以采用自顶向下理解策略的原则,从上到下的方式逐步理解下层细节,根据所拥有的知识和假设,把系统分解成能够在代码中实现的预料中的子系统,然后逐个分解每个子系统直到实现既定功能的一个个代码块。

问题二:学生与职业程序员的区别?

根据书中第35,36页给出的大四学生和软件工程师的对比数据我们可以得出,工程师在‘需求分析’和‘测试’两方面花费更多的时间。而在具体编码上,工程师比学生少了1/3的时间。显然,软件工程师拥有更多的知识和项目经验,所以在编码上时间花费更少,而更加关注项目的需求和测试,以满足客户的需求和提供良好的用户感受。同时,对需求的充分理解,也能一定程度加快编码速度。

问题三:结对编程中,应选择与自己能力互补的搭档比较好还是与自己能力相近的搭档比较好?

应选择与自己能力互补的搭档,书中提到:在程序各方面的质量取决于一对程序员中各方面水平较高的那一位。如若选择能力相近的搭档,可能只能在双方都擅长的方面锦上添花,而能力互补的搭档可以弥补我们一些方面的不足,使得程序整体质量得到较大提高。在不断地交流中,双方的能力也会得到进一步的提升。

问题四:对于一名工程师而言,究竟应该是更”专“一点好,还是更”广“一点好呢?

对于工程师而言,我认为需要更‘专’一点。但‘专’还是‘广’,其实由工程师在项目中的任务分工决定的。在一个团队中,需要有具备专业技术的工程师,否则项目无法深入研究开发,但也需要有领导者负责统筹兼顾,领导者不一定需要每一部分技术都清清楚楚,但是技术栈要全面,也就是‘广’。虽然在一个团队中,二者同时存在,但是我认为更‘专’的工程师是相对较多的,所以作为一名工程师,我认为应该更‘专’一些。不可否认,在起初主负责一个方向的‘专’工程师会随着项目开发经验的增加,会去领导一个团队,成为一名‘广’工程师。

问题五:个人在团队中应该只是一个流水线上的机器吗?

个人当然不是机器。机器是没有创新灵感的,而灵感对于软件开发来说是极其重要的,开发是一群思维活跃的人在一起进行思维的碰撞的过程。所以我们在开发过程中,既需要遵守规范以保证开发的稳定进行,又要在合理范围内尽情发挥自己的灵感。

4.2 未来的职业规划

先考上研究生,然后读硕期间多实习,积累开发经验,不断提升自己。

4.3 对于软件工程实践课程的理解和期望

基于现在仍不具有大型项目开发经验,我期望能通过这门课程提升我的团队协作能力,能够开发一些完整的项目,多多积累项目经验。

5. 思维导图和学习路线

5.1 思维导图

思维导图

5.2 学习规划

学习规划

...全文
371 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

586

社区成员

发帖
与我相关
我的任务
社区描述
软件工程-2022-23学年(第二学期)
软件工程 高校
社区管理员
  • LinQF39
  • chennuo.
  • 助教-钟宇煌
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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