阅读与准备作业

课程名称 2019秋软件工程基础
作业内容 个人第1次作业:阅读与准备作业
作业收益 学会了如何使用MarkDown排版,发布了第一篇博客
课程目标 了解软件工程基础知识、系统方法、技术标准等,能更好地开发软件
参考文献 栾阿辉--目前流行的源程序版本管理软件和项目管理软件优缺点

个人简介

昵称 狐狸233 👈点它
爱好 🏃 🎵 📖

阅读与思考

(1)回想一下你初入大学时对你所在专业的畅想

  • 当初你是如何做出选择你所在专业的决定的?

    刚上大学时非常迷茫,对各个专业没有方向,但有着“进一行,干一行”的思想准备。后来经老师推荐选的计科专业,现如今,我对自己专业挺满意的。

  • 你认为过去一(两)年中接触到的课程是否符合你对你自己所在专业的期待,为什么?

    在过去一年中,我接触到的课程比较符我的期待。大一的课程不是很难,再加上身边又有许多学霸、大佬的帮助,课程学起来也轻松多了。但感到失落的是不知道如何运用所学解决生活的一些问题。

  • 你觉得你所在的专业是你喜欢的领域吗,它是你擅长的领域吗?

    我喜欢我所在的专业,毕竟“编程一时爽,一直编程一直爽” 😜 。尽管编程过程中会遇到许多bug,但解决bug的过程中还是能学到许多知识,还能通过解决问题发现自己薄弱的环节。而且每当将自己写的程序正确跑起来时,那种成就感来得真的很实在。😆

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

    会的。一是本身自己对本专业感兴趣,将来想运用所学有所作为。再则以后要是从事别的专业,岂不是浪费了大学四年。梦想去的城市是杭州或者广州。

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

  • 自我感觉你已经具备的专业知识、技能、能力有哪些?已经写过的代码量是多少?描述你做的最复杂的项目/作业。

    目前已学的专业知识有高等数学、C语言程序设计基础、数据结构与算法。说到专业技能,我具备的还真是少之又少,目前只会运用C语言。代码量也不过1000行。做过最复杂的项目也就是用C实现贪食蛇。

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

    距离一个合格的本科毕业生,在专业知识、技能上我掌握的实在是太少,需要学的还有很多,如:计算机组成原理、汇编语言、数据库原理、web网络设计与应用等。

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

  • 对照以上你阅读的前人们的经历,你的选择是什么?

    我选择工作,因为我比较喜欢实干,也许早点工作才能更好地发掘自己的潜力把。

  • 在这种选择下,你认为你相比其他同学来说有何优势,有何劣势?

    优势:在实践中学到许多技巧和能力,积累工作经验;早入社会,早点找到自己的奋斗目标。
    劣势:就业压力大;可能会因为学历错失机会。

  • 你对于实现自己的梦想已经做了或者计划做什么样的准备?

    多利用课余时间学习专业新知识、技能;向大佬多多探讨问题;尝试接一些有挑战性的项目。

我的困惑

(1)什么是全栈工程师?

在第三章 3.3 软件工程师的职业发展-专和精的关系 中,尽管作者将全栈工程师和演奏乐曲类比,但我依然没有理解什么是全栈工程师,以及这“专和精”的关系。百度百科上说全栈工程师是指掌握多种技能,并能利用多种技能独立完成产品的人。那么在开发过程中具体担当什么样的角色呢?对于工程师而言,是全栈好,还是专注于一个领域好?

(2)如何理解“敏捷”?

本书第6章整章都在谈“敏捷流程”、“敏捷流程的问题解法”、“敏捷的团队”,将敏捷(Agile)解释为一股思潮、一种价值观,涵盖了好几种软件开发的方法论。这种“敏捷流程”是怎么提高软件开发效率的,它的适用范围是什么,我们又应该怎么来理解和学习?

(3)源代码管理问题

本书第11章 11.6 实战中的源代码管理 中提到 “软件的质量 = 程序的质量 + 软件工程的质量”,那么如何“让塔吊高质量地工作,怎么做安全检查,防止它倒下来”呢?作者提出“大多团队的软件工程质量都在原始人阶段”,并列举了11个实践中的场景。那么究竟应如何管理源代码来提高软件工程的质量?

(4)用户体验与质量

12章 12.1.6 用户体验与质量 GE公司总裁的故事中,GE坚持成像质量,而它的竞争对手则提高用户体验,并获得了大量市场份额,GE只能被动迎战。牺牲质量去追求用户体验,用户能接受吗?牺牲的质量或许十分出色,能带来更大的利益,就这样使之“沉没”吗?

(5)创新疑惑

在第16章 16.1.2 迷思之二 中,作者说“有些创新是颠覆式的(Disruptive Innovation),这些想法一旦出现,便会引起现有技术拥有者的极大不安”。这我感到了创新想法将面临巨大的挑战,这对于创新者又该何去何从呢?

源程序版本管理工具

Microsoft TFS
优点 能有效实现 SCRUM能与 VS 无缝接合; 任务版上能将需求、项目进度一览无余,对于小团队而言,比甘特图更有用集成了项目管理、版本控制、BUG 跟踪。
缺点 搭建、维护tfs比较复杂,硬件要求也比较高;整个系统是用 asp 实现的,用浏览器访问相当慢。
Bugzilla
优点 BUGZILLA不收费,现在有中文版支持
缺点 BUGZILLA只能管理缺陷
GitHub
优点 免费且开源;用于敏捷高效地处理任何或小或大的项目。
缺点 学习成本大;需要大量时间的投入;Git版本库需要频繁的手动维护。
Trac
优点 它有良好的扩充性;非常灵活,可以随心所欲的定制,可以和TortoiseSVN集成。
缺点 不支持多项目;需求和缺陷没有分离;核心功能很少,不安装插件基本上没法用。
posted @ 2019-09-11 12:34  iMisuzu  阅读(224)  评论(1编辑  收藏  举报