587
社区成员
这个作业属于哪个课程 | <软件工程-23年春季学期> |
---|---|
这个作业要求在哪里 | <作业要求的链接> |
这个作业的目标 | <Gitcode仓库、回首过去、立足当下、展望未来、思维导图和学习路线> |
其他参考文献 | 《构建之法》 |
首先是受到了家里人的影响,因为表哥是从事算法行业的,对我有一定的引导作用;其次是当时我自身对这一行业充满兴趣,觉得编写代码是一件很酷的事情;最后是有关计算机的专业在高考填报志愿时是很受欢迎的。
第一印象是可以自主编写一些网上没有但是很实用的软件,用来解决日常生活中遇到的问题。
充分掌握上课讲的内容,多上网查资料学习一些自己感兴趣的技能,并且多向学长学姐学习。
个人简历 | ||
学号 | 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进行编写,实现前后端分离。前端对用户展示文章和评论,后端管理员可以对文章和评论进行增删查改,还实现管理员的授权 |
程序理解的任务就是要揭示程序的功能与实现机制,即理解系统的外部行为和内部构造。可以采用自顶向下理解策略的原则,从上到下的方式逐步理解下层细节,根据所拥有的知识和假设,把系统分解成能够在代码中实现的预料中的子系统,然后逐个分解每个子系统直到实现既定功能的一个个代码块。
问题二:学生与职业程序员的区别?
根据书中第35,36页给出的大四学生和软件工程师的对比数据我们可以得出,工程师在‘需求分析’和‘测试’两方面花费更多的时间。而在具体编码上,工程师比学生少了1/3的时间。显然,软件工程师拥有更多的知识和项目经验,所以在编码上时间花费更少,而更加关注项目的需求和测试,以满足客户的需求和提供良好的用户感受。同时,对需求的充分理解,也能一定程度加快编码速度。
应选择与自己能力互补的搭档,书中提到:在程序各方面的质量取决于一对程序员中各方面水平较高的那一位。如若选择能力相近的搭档,可能只能在双方都擅长的方面锦上添花,而能力互补的搭档可以弥补我们一些方面的不足,使得程序整体质量得到较大提高。在不断地交流中,双方的能力也会得到进一步的提升。
对于工程师而言,我认为需要更‘专’一点。但‘专’还是‘广’,其实由工程师在项目中的任务分工决定的。在一个团队中,需要有具备专业技术的工程师,否则项目无法深入研究开发,但也需要有领导者负责统筹兼顾,领导者不一定需要每一部分技术都清清楚楚,但是技术栈要全面,也就是‘广’。虽然在一个团队中,二者同时存在,但是我认为更‘专’的工程师是相对较多的,所以作为一名工程师,我认为应该更‘专’一些。不可否认,在起初主负责一个方向的‘专’工程师会随着项目开发经验的增加,会去领导一个团队,成为一名‘广’工程师。
个人当然不是机器。机器是没有创新灵感的,而灵感对于软件开发来说是极其重要的,开发是一群思维活跃的人在一起进行思维的碰撞的过程。所以我们在开发过程中,既需要遵守规范以保证开发的稳定进行,又要在合理范围内尽情发挥自己的灵感。
先考上研究生,然后读硕期间多实习,积累开发经验,不断提升自己。
基于现在仍不具有大型项目开发经验,我期望能通过这门课程提升我的团队协作能力,能够开发一些完整的项目,多多积累项目经验。