201731062109陈君益第一次阅读作业

这个作业属于哪个课程

<课程的链接>

这个作业要求在哪里

<作业要求的链接>

我在这个课程的目标是

1、了解软件工程的具体原理

2、了解软件工程的具体过程

3、培养自己的操作实践意识

4、预先了解自己以后工作会碰到的部分问题和困难

这个作业在哪个具体方面帮助我实现目标 

1、让我明确自己的优势以及劣势

2、帮助我树立自己的学习和生涯目标、

3、帮助我预先认识自己的问题

作业正文 ....

 

其他参考文献 ...

 

一、关于自己

来自西南石油大学软件工程1701,虽然现在就读于工科类的软件工程,但是我本人其实更喜欢偏向人文和社会科学类的学科,相比于同一阶段的其他同学,可能我唯一的长处是因为一直偏爱于人文和社会科学而得到的比较不错的记性。通过两年的相关课程学习,基本掌握了C语言和C#的使用,懂得如何使用数据结构、建立数据库等基本知识能力,但是目前为止,实践方面较少,所以现在实际项目经验比较欠缺,碰到的问题困难的种类和数量较少,所以解决困难的经验可能有所欠缺还有就是对于软件编程过程中的突发状况的应对力有所不足,这些都是我现在的不足和欠缺,以及以后在实际实践和学习的过程中需要注意和不断加强的方面。

二、阅读与思考

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

关于就读软件工程的这个决定,其实是当时填报大学的时候无意间的一个决定,当时高考完了本来是一心只想填报一个军校的所以对于普通高校的专业的设置了解少之又少,当时甚至是说只填提前批而干脆不填本科第一批,但是当时为了保险起见还是和家人商量要把本科第一批填一下,于是在填报专业的时候就阴差阳错的把软件工程填报成了第一志愿,当时高考分数也超过了投档线不少,于是就顺理成章的到了这个专业。

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

这两年接触到的相关专业课以及专业课选修课,其实蛮符合我对软件工程的期待,因为我之前对软件工程的认识以为软件工程仅是纸上谈兵而实践机会较少,但是在入校的这两年通过专业课的学习和自己对知识的掌握,发现软件工程专业其实是对理论知识要求严格但同时更侧重于自己的专业的实践能力,换句话说就是自己的编程能力一定要有增强才能胜任自己在学习方面碰到的任务甚至是以后工作碰到的困难,所以这两年接触到的课程其实都是偏重于实践性的,所以软件工程这门专业以及所修课程给予我的认识很符合我对这个专业的期待。

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

我觉得软件工程是我喜欢的领域,但它一定不是我擅长的领域,软件工程对各工科、理科的要求太高,而我本人其实更偏重于人文、社会科学方面的科目,也就是说其实我并不擅长理工科,当时之所以会选择理科的原因是因为理科在未来的就业面方面比文科更广,但是软件工程这门专业留给我的印象非常好,让我觉得很有意思,但话说回来,我喜欢这门专业,喜欢这门学科,不代表我可以在这方面有所成就,甚至是登峰造极,我喜欢这门专业,只是代表我甘愿为他奉献自己的时间与精力,但是取得的成果可能不如相同情况下别人取得的成果那样丰盛。

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

说实话,目前为止,我并不想从事软件开发的相关工作。第一,首先是通过这两年的学习与实践,我发现自己并不擅长这个领域,在软件编程方面或者是代码创新方面,都与同龄人之间有一定的差距,但是我依然在付出自己的时间与精力,很可惜的是,这个差距我依然无法缩小到自己的预期目的,所以我自己并不擅长于这个领域。第二,可能是自己对生活的理解和要求方面,我现在了解到的软件开发工作的相关人员日常工作都是相对来说比较枯燥和辛苦的,久坐、加班都是常态,这并不是说我无法忍受它的艰苦,而是这不是我希望未来生活工作的模样,抑或是这样的苦不是我想吃的,会让我自己觉得非常痛苦。所以我可能不会从事软件开发的相关工作。

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

通过这两年的学习,我已经大致掌握了C语言、C#的编程运用,可能在这两个语言的实际运用方面自己还有些欠缺,但是通过实践,我已经能够大致满足自己在实际操作中的需求。关于自己写的代码量可能和同龄人相差无几,不算多也不算少。

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

现在在专业知识与技能上我觉得自己掌握的语言太少而且熟练度欠佳,特别是在面对对象语言方面我应该增加自己的熟练度并且扩大自己的知识面,关于自己的能力,主要因为实践不够从而缺少解决问题和困难方面的经验。

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

我会做好两手准备,一方面,我会准备自己考研的相关事宜,继续在软件开发领域深造自己,另一方面,我也会了解自己真正想从事的职业方面的知识,在自己真正想从事的职业能力方面增强自己、提高自己。

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

在这种选择下,我认为与别人相比我的优势是有更多的选择,在面对同样的不利情况下,我已经为自己准备好了第二选择,可以不慌不忙。而相对而言,劣势也比较明显,那就是可能在专业相关领域我付出的时间和精力不及他人,可能造成我的专业技能与别人的差距越拉越大。

针对你的选择,你给自己的大三设定的规划安排是什么?

大三一开始便尽早收集考研的相关资料,这其中的资料包括了想考的学校、专业以及我要达到自己的目标需要具备的能力和需要掌握的相关专业知识。另一方面,自己本科的专业课和专业能力的实践也要不落下的继续进行,保持自己与同龄人之间的共同进度,在自己专业领域不足的方面,要多花时间与精力,保证自己以后的工作不会因为这些专业能力的不足而徒劳的增添困难。

三、关于问题

1、首先是第一章第一节第三页的软件的生命周期问题,书中已经明确提到了要进行软件维护和服务运营,还要进行软件项目管理,但是我仍有疑问,那就是,要最大化的延长软件的生命周期是否以上三项就已足够,还是需要在软件的编程之初就要注意许多细节以保证其在交付用户使用后可以以最少的人力和物力达到软件的最大生命周期,如果有,具体应该怎么实施。

2、第二是第四章的两人合作代码方面的问题。书中已经提到了两人合作时应该注意的代码规范,这其中包括了代码风格规范和设计规范,我的问题是除开书中已经提到的这两个方面,是否还有其它方面在合作编写代码时需要注意,特别是不止两人合作而是多人甚至是一个团队进行合作编写代码、进行软件工程项目时是否还需要制定其他方面的规范或是制定一个明确的规范体系,如果需要,这个规范体系应该从哪些具体的方面制定、由谁制定、哪些重要的细节需要我们去注意。

3、第三是如何合理地选择软件团队模式(来自书中第五章第二节)。该章节中已经具体的向我们介绍了多种软件团队的模式以及分析了每种软件团队模式的利弊,而我的问题是,在不同的情境下我们应该如何具体选择软件团队模式,而最关键的问题是在面对不同软件工程项目时启用的软件团队模式是否对同一批人适用。例如在面对一个软件工程项目时,我们这批人选用了官僚模式,那么我们这批人在面对另一软件项目时,是否还可以选用功能团队模式。这样不同情况下选用不同的团队模式对软件工程的进程是启正向作用还是负向作用。

4、第四是如何准确地获取用户的需求(来自第八章第三节)。在该章节中已经告诉我们几个方法如何对用户需求进行调研以便我们尽快开始我们软件工程中的编程进程,而我的问题是,我们如何具体地选择这几个已有的方法来以最快最直接的方式获得用户的需求,同时在实际的软件工程需求调研中我们经常会碰到用户对自己的需求描述不清或是根本就不知道如何描述的情况,在这种情况下,我们应该如何尽快的开始我们的软件编程进程保证按时交付,同时要使交付的软件尽可能的让用户满意、基本满足其所有需求同时要以可以接受的成本完成任务。

5、最后一个问题是如何找到那些隐患极大的BUG(来自第十四章质量保障章节)。通过该章节的阅读我明白在实际的软件工程进行中会碰到很多BUG即漏洞,这些BUG可能有的会在我们编程过程中就会发现,但有些BUG可能会在我们交付产品用户使用后才会发现,而修复BUG的成本也就会随发现BUG的时间点不同而不同。相对而言,编程过程中就发现的BUG更易解决同时成本也更低,而那些越晚发现的BUG我们修复其需要的成本也就越大。从书中案例我们可以看到那些历史20大BUG,也可以看到人们花费37年之久才解决的BUG,而这些BUG本应早就该被发现和解决,这样会为我们省下更多的时间和精力来攻克那些实际存在的技术难题。那么,我的问题是,如何设计测试案例从而发现那些隐藏极深但与此同时隐患极大的BUG?

四、几个源程序管理软件的优缺点

 

1.Microsoft TFS:

 

优点:任务版上能将需求、项目进度一览无余,对于小团队而言,比甘特图更有用,集成了项目管理、版本控制、BUG 跟踪,能有效实现 SCRUM,能与 VS 无缝接合。

 

缺点:搭建、维护tfs比较复杂,硬件要求也比较高。

 

2.GitHub:

 

优点:GitHub是一个非常万能的工具。对于任何大小的项目,他都是理想的工具;他也是伟大的web工作流工具。首先,他可以作为一个版本控制系统和协作工具,用它来发布工作。

 

        利用GitHub,你可以将项目存档,与其他人分享交流,并让其他开发者帮助你一起完成这个项目。优点在于 ,他支持多人共同完成一个项目,因此你们可以在同一页面对话交流。

 

        创建自己的项目,并备份,代码不需要保存在本地或者服务器,GitHub做得非常理想。

 

        学习Git也有很多好处。他被视为一个预先维护过程,你可以按自己的需要恢复、提交出现问题,或者您需要 恢复任何形式的代码,可以避免很多麻烦。Git最好的特性之一是能够跟踪错误,这让使用Github变得更加简 单。Bugs可以公开,你可以通过Github评论,提交错误。在GitHub页面,你可以直接开始,而不需要设置主机或者DNS。

 

缺点:如果,你是Github使用新手,首先的挑战就是摆正心态——需要不断实践和时间。他可能不是捕捉创意过程和记录创意点子的最佳工具。对于这种特殊功能模拟可以选择LayerVault 或其他相 似工具。

 

         之前,我们已经强调过Github非常适用代码跟踪,但是却不是最好的设计跟踪工具。将图片内容转 化为代码,或者将设计用于产品设置,看起来依旧不是那样顺利。这是由设计者决定的,然而,一些人发现 GUI 有点混乱,选择CLI代替。一些开发人员学习主要使用Git命令 ,这样可以解释为什么他们不太喜欢GUI的原因了。

 

         稍加练习,命令的学习是不太困难的。然而,你喜欢天天 写命令吗?特别是跟踪项目历史或解决冲突的时候。所以就有了另外一群喜欢GUI的人们。将提交、修改、移 动文件等操作可视化,会有一个更好的体验。而这些,就如之前提到的,需要时间来适应。

 

         如果,你专门在GIthub上工作,版本控制存储库就值得你拥有,也需要你长期付出。 

 

3.Trac:

 

优点:Trac做一个SCM配置管理平台,意味着它有良好的扩充性

 

        Trac的权限体系是比较完备的设计

 

        非常灵活,可以随心所欲的定制,可以和TortoiseSVN集成。

 

缺点:不支持多项目,

 

        需求和缺陷没有分离,

 

        用 wiki 来替代 Word 等工具编写文档对于产品策划来说门槛太高了,

 

        中文化不完整,美术人员接触起来困难重重,

 

        不显示中文名,本地化做得很差,

 

        核心功能很少,不安装插件基本上没法用。

 

 

 

4.BUGZILLA:

 

优点:BUGZILLA不收费,

 

        BUGZILLA现在有中文版支持

 

缺点:BUGZILLA只能管理缺陷

 

5.Apple XCode:

 

优点:可以自动创建分类图表。

 

        自动提供撤消、重做和保存功能,无需编写任何编码。

 

缺点:更新版本后,某个插件可能会失效。

 

posted @ 2019-03-19 17:06  JAckeychANN  阅读(188)  评论(2编辑  收藏  举报