第一次作业

课程链接:https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2

作业要求链接:https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2/homework/2706

课程目标:了解软件工程的基本流程与分工细节,明白每个环节该如何实现,大型项目如何分配时间人力,为将来作为职业IT行业从业者奠定基本职业素养

这个作业在哪个具体方面帮助我实现目标:阅读不同出身不同经历的IT从业者的经历与感受,从中学到经验

正文:

一、自我介绍

我的博客:https://www.cnblogs.com/teikigen/

现年本科软工专业就读的大二生。有尝试过自己学画画但画得很烂,也完全不会透视和色彩光影,但我想我大概也算有一定构图能力与设计能力吧。上大学后有上日语班但因为受不住累所以考完n2就停住了,有翻译过十几首日语歌的歌词。中学时有翻译过万字以上的英语的游戏文本,但大学后英语能力大幅度退化现在看漫画找不到汉化本也不看英译本直接看日语原版到现在也没过六级。虽然是软工专业但什么也不会,只能跟着学校的课程方案走,目前的目标是自己学web前端设计开发。

二、阅读与思考

(1)回想一下你初入大学时对软件工程专业的畅想

  • 当初你是如何做出选择软件工程专业的决定的?

  在选专业的时候把自己不想做的事情和觉得自己做不到的事情一项项划去了,我记得是只剩下了软工和药学,因为觉得软工大概比药学要好吧所以就选了软工。虽然是很随便也很幼稚的选择方法不过我觉得挺好的。

  • 你认为过去两年中接触到的课程是否符合你对软件工程专业的期待,为什么?

  符合,实际上也并没有期待什么。选择软工是因为在家办公的可行性与偏低的就业门槛,虽然可能正规软工流程需要多人合作的部分比我一开始的预想要多,也并非学了就能很轻易地就找到适合的工作,但从一开始我也清楚世上并没有哪个行业是完美的金饭碗。

  • 你觉得软件工程是你喜欢的领域吗,它是你擅长的领域吗?

  算是喜欢,不大擅长。

  • 将来你会选择从事软件开发相关的工作吗?是的话给出你想去的城市、公司和岗位,否的话给出原因

  我想是会的,虽然希望就在成都不过也没什么特别想待在成都的理由,并没有特别想去的城市和公司,岗位希望是前端工程师,可以的话很希望能soho

(2)即将大三的你,对照前人们走过的路和描述未来发展,现在的你

  • 自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?

    我现在会c与c#,会用sql,学习过数据结构与面向对象。写过代码行数并不大清楚,就是很普通的不算勤快的大二生会写过代码量吧。

  • 离成为一个合格的软件工程专业本科毕业生,在专业知识、技能、能力上还差距哪些?

    对编程语言的熟练度不够,代码积累也很少,不习惯用linux,没做过大型一点的工程,也没试过多人合作,就个人目标上我还想学java和php。 

(3)大三是一个人生选择的十字路口,考研、工作、考公、出国,不同的选择在大三就有不同的努力方向。而无论考研还是工作的每条路径,也有许多不同的分支。

  • 对照以上你阅读的前人们的经历,你的选择是什么?  
    我目前的想法是尽早工作,我对考公和留学没有兴趣,在我看来考研也只是找工作的一个前置筹码,学习的话我觉得在工作也是一样的学习,且能学得更实用具体。
  • 在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?
    优势的话果然还是可以更早进入社会拥有经济独立能力和社会经验吧,相对的其他考研留学的同学可能会有更高的学历,知识,见识与竞争力。
  • 针对你的选择,你给自己的大三设定的规划安排是什么?
    多关注一些公司的招聘信息与行业动向,了解人才市场的需求,对比自己与社会需要的人才的不足之处查缺补漏。

 三、提出问题

1、第一章概论提出软件要符合用户需求。但我认为很明显程序员直接面对的是“甲方”,而甲方或程序开发者的需求很多时候与程序用户并不一致甚至有许多利益冲突。比如一个游戏软件出现了可被玩家利用的bug,可能对软件用户来说是“肉芽”,但对游戏开发商来说就是虫子。反之亦然。

2、关于两人合作,是否是说两人多多理解多多包容就能不断磨合出“默契”?但现实中真正两人多次联合编写的情况又是否多见呢?我认为两人作为固定搭档不断合作的情况应该是少见的,在两人合作工作中所见的绝大多数情况是陌生人。这就需要全行业都较统一的一套模式。不同的模式虽然概念提出来似乎可行但其本身的可操作性是否就是那么简单呢?两人的任务如何分配,出现问题该如何联系,分期总结又应该是怎样的频率,两人所编写的部分是否就能完全拼合不出现漏洞,这个模式需要考虑的问题很多,但书中所写我认为是不够详细完善不足以解决读者问题的。

3、关于书中的“可维护性”,如何是可维护呢?是指可以很快找到bug的编写代码格式吗?

4、如何用户需求调查。怎样引导用户提出对程序员了解用户需求有帮助的意见。用户的关注点与程序员的关注点大概率牛头不对马嘴。比如向用户提问一个论坛的界面如何优化,程序员需要考虑用户还需要一些什么功能,各个功能具体需要怎样的效果,效果要怎样优化。用户或许就会说需要有设计感的logo,怎样的字体比较漂亮之类,但这很明显是美工的工作。

5、IT行业的创新是怎样的创新?提出效率更高的算法?还是说开发更高效的硬件?未来的发展之路是可预料的还是会被一个无人预料的创新改变的?

 四、了解和调查源程序版本管理工具

Microsoft TFS:能从任务版很清楚地展现需求与进程,有助于管理,具有集成性。但市场占有率小,公司团队使用较少,硬件要求也高。

Trac:灵活,可随心所欲地控制也可以和svn集成。但功能不算强大,不支持多项目,也不支持中文。

GitHub:提供Git存储库服务,基于web,允许使用Git源代码管理功能或者特性。但并不太适合捕捉创意,已有的中文资料也较少。

 

参考资料:

《构建之法 现代软件工程》(邹欣 著  第三版)

《目前流行的源程序版本管理软件和项目管理软件有哪些,各有什么优缺点?》:https://www.cnblogs.com/li5200-/p/5251658.html 

《目前流行的源程序版本管理软件和项目管理软件有哪些,各有什么优缺点?》:https://www.cnblogs.com/hxy94264/p/5270934.html

posted @ 2019-03-20 15:44  tei-kigen  阅读(130)  评论(0编辑  收藏  举报