《系统分析与设计》我的第一次做业:阅读与准备

这个做业属于那个课程 课程的连接
这个做业的要求在哪里 做业要求的连接
我在这个课程的目标是 充实本身的编程理论
这个做业在哪一个具体方面帮助我实现目标 对这本书有一个全局观

关于我

  1. 个人博客主页,您们能够到个人博客中尽情的提出您们的宝贵的意见,这样可让我有进一步的提高。
  2. 固然,说到这里,您们确定还不认识我。我是一名大三在校生,经过两年的校园生活以及专业课程的学习,对于编程有必定的基础(其实编程能力能够说是怎一个“一塌糊涂”能形容得了的)。固然在学习之余确定仍是有一些业余活动,或者说业余爱好的——那就是打篮球啦,篮球陪伴个人时间挺久的了,从初中开始接触的篮球,一直到如今(虽然仍是打的不行),可是好歹仍是强身健体了。接下来经过这门课程继续深刻了解咱们专业——软件工程,经过学习现代软件工程充实本身的编程理论。静下心,沉住气,接下来开启学习的必然之路。

阅读与思考

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

  1. 当初你是如何作出选择你所在专业的决定的?html

    在大学以前的生活中我不多有接触电脑的机会,所以电脑对于我来讲是神秘的。正是由于有了这一份神秘感,在我接触了电脑事后情不自禁的陷入了。在了解过不一样电脑,当时并不知道操做系统是什么,就只是单纯的认为电脑都是同样的,没什么区别,要是有那么必定是外观的区别。在高中时期,看着同窗们常常出校上网玩游戏,这时我知道了软件工程开发师。因为小时候常常玩“小霸王“游戏机,当时对于它是有一种近乎痴迷的状态,这也是选择咱们软件工程的缘由之一。在选取志愿的时候,在近几年热门的专业中,选出了两个专业做为个人首选专业——软件工程和临川医学,不事后面考虑到种种缘由以及我对专业的渴望程度,我最终仍是选择了软件工程,也算是圆了儿时的一个梦。
  2. 你认为过去一(两)年中接触到的课程是否符合你对本身所在专业的期待,为何?linux

    这两年中接触的课程,部分课程是符合我对本身所在专业的期待的,然而另外一部分课程并不在个人期待之中。在学校学习的这两年,我从一无所知的小白慢慢成长了。C语言在个人一张白纸写写画画,留下了点点墨迹;数据结构教会了我数据不一样的存储结构;概念实习让我接触我人生当中的第一门面向对象语言——c#,经过对该门程序语言以及相应工具的使用,在老师的带领下咱们完成了我人生中的第一个游戏。看着游戏的运行,脸上的笑容根本隐藏不了。能够说专业课程仍是挺符合个人期待的,但又是不符合的,由于部分课程过于浅显,只能说是入门,接下来的路只能由咱们本身走。总的来讲,过去两年中接触到的课程大体符合我对本身所在专业的期待。
  3. 你以为你所在专业是你喜欢的领域吗,它是你擅长的领域吗?git

    经过两年的接触,我以为我所在的专业是我目前喜欢的领域,可是要说到我目前擅长的领域,我我的以为就该阶段,计算机还不是我擅长的领域。经过编程解决一些问题,我会感受到心情愉悦,经过对一些项目的了解,我以为仍是挺有趣的,虽然我如今尚未参与进去的能力。可是这并不妨碍我对该领域的喜欢。因为目前我的技术的不成熟以及不少专业知识的欠缺,在计算机领域,我并不能称得上是擅长该领域。不过,我相信在我付出努力,不断学习,不断进步,在不久的未来,计算机确定会成为我擅长的领域。
  4. 未来你会选择从事和你专业相关的工做吗?是的话给出你想去的城市、公司和岗位,否的话给出缘由?github

    这确定是必须的必呀,接触软件工程的两年时间,我慢慢发现了软件工程的魅力。虽说,现现在不少大学生都从事着与他们大学时期所学专业不相关的工做。我以为我应该不属于这一类人。我必将投身于IT事业之中,从事软件开发的相关工做。就目前而言,杭州、深圳、北京、上海、广州这些发展的很好的大城市是我想要去的城市。杭州的阿里巴巴,深圳的腾讯,北京的新浪、京东,广州的网易,我相信这些公司都是大多数IT人员理想的公司,固然我也不例外。至于岗位的话,我我的想做为一个软件工程师,立足于IT领域。spring

(2)对照前人们走过的路和描述将来发展,如今的你

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

    通过两年时间的学习,我了解了WEB开发的部分相关知识,数据结构,面向对象设计思想,编程范式,软件开发过程当中的设计模式。针对编程语言来讲的话,我编写过C、C#、Python、HTML的代码,对这些编程语言都有必定的了解。写过的代码量,具体有多少我也不知道,天天都或多或少的敲一点,亦或者修改代码。在已经写过的代码中,最多的确定仍是for循环语句、if条件判断语句、以及输入输出语句。初略估计代码量应该有上千行了。就目前而言,作过最复杂的项目应该就是基于SSM的酒店管理系统了吧,搭建数据库,创建数据库模型,运用spring框架来完成该项目。还好战斗的人不止我一个,经过小组成员的共同努力最终仍是完成了。
  2. 离成为一个合格的本科毕业生,在专业知识、技能、能力上还差距哪些?编程

    有不少的软件都还不会使用,好比Photoshop,当咱们须要制做logo等图的时候,只得求助他人的帮助,在专业知识上面仍然有很大欠缺,不少仍然处于表面的理解,深层次的理解不够,不少时候缺少独立思考的能力与习惯。对于专业软件的使用也停留在表面,就像数据库SQL Server软件的使用依旧不能很好地使用,对于数据库的操做目前一直停留在增删改查的地步。编程思想方面的欠缺也挺多的,也就是理论不足,技术不足,最缺少的仍是项目的实战经验,不能很好的将理论运用到实战中去。c#

(3)目前是一我的生选择的十字路口,考研、工做、考公、出国,不一样的选择在大三就有不一样的努力方向。而不管考研仍是工做的每条路径,也有许多不一样的分支。

  1. 对照以上你阅读的前人们的经历,你的选择是什么?设计模式

    在前面我提到了,我以为我我的的理论知识储量仍然显得比较少,所以,我想选择继续深造(考研)。先继续充实本身的知识量,万丈高楼平地起,最主要的就是打好地基,在接下来的学习中,须要的是将本身的基础打好,在研究生阶段,能够多参与一些项目积累经验,将理论运用到实践中去,积淀技术。并且因为如今的大学本科学历是较为常见的,在同等条件下,研究生仍是比较方便找工做一些的,所以选择考研也是为了之后的工做(最主要的缘由仍是我目前的技术很菜)。
  2. 在这种选择下,你认为你相比其余同窗们来讲有何优点,有何劣势?服务器

    在这种选择下,个人优点应该是有耐心,能静下心去看代码、了解技术,至于劣势的话,应该就是接受新知识的速度有点慢吧,老是要花费比别人还要多的时间去学习了解他们很快就看懂的知识。
  3. 针对你的这种选择,你给本身的大三设定的规划安排是什么?

    先将大三上学期的专业课认真的学习,在空余时间里继续深刻学习Python。身体是革命的本钱,所以每周的锻炼是必不可少的。还要去了解学习对咱们开发过程有帮助的软件的使用方法,同时还要参与到一些项目的开发过程当中去,积累项目实战经验。接下来,还须要学习数学知识、英语、政治以及相关专业知识备战考研。
  4. 你对于实现本身的梦想已经作了什么或者计划作什么样的准备?

    梦想很丰满,现实很骨感。对于个人梦想,我只能说:不放弃、不抛弃、坚持下去,总会有实现的那一天的(固然这句话说不定也只是想一想就好了)。为了梦想的实现,仍是先得考研,继续深刻学习,积累技术,积累经验。

相关问题

  1. 《构建之法——现代软件工程》p250中提到了用户的体验,这里的体验指的是性能体验仍是视觉体验呢?其次当性能与用户体验发生冲突了,这个时候咱们是否应该和用户交流让用户选择(以交流的形式为主)仍是说作出来两个版本让用户经过使用来选择他最后的使用版本(以实际体验为主)?若是设计出来的系统针对的用户不少的时候那么在性能之间与用户体验之间咱们又该如何选择呢?
  2. 书中p151中提到了软件的需求,经过了解用户的需求来进行对软件的设计,那么使用用户调研的方式无疑是一种很好的方式。然而使用用户调研的方式,只是了解到用户该阶段的想法,随着开发时间的流逝,若是用户以为以前的想法跟不上现有的节奏,须要改变需求,亦或者说就连用户本人都不能清晰的提出他对这个软件的需求(只是说了部分界面的要求,多数实际功能描述的很模糊)或者说要求时,那么咱们这个时候又应该怎么作呢?换句话说,就是在还未完成上一次的软件需求,这时用户的需求又发生了改变,这种状况咱们应该怎么应付?
  3. 在第十六章中看到了“效能过剩”这一律念,那么咱们在设计过程当中到底应该是努力作到咱们能作到的最好,仍是说作的恰好知足用户需求就好了?就目前市场上的笔记本电脑基本都是性能过剩,不过这样电脑的使用寿命会较之相对长一点。若是咱们作软件的时候向制做电脑同样性能过剩,后面用户增多的时候也不须要作太多的改动。而若是当时作的时候就只是恰好知足当下的用户需求,那么后期还会有较大的改动。而若是效能过剩,那么咱们软件制做的成本也会增长。所以,在软件设计过程当中,咱们到底应该选择“效能过剩”的模式仍是应该选择“恰好知足需求的模式”?
  4. 书中p257中提到了“不让用户犯简单的错”,用一些限制条件将本来很容易出现的失误变为更加困难。从这么一句话中也就是体现出了,程序的功能的实现以及程序功能的使用都是由开发人员经过代码控制实现的。飞机中的工做人员确定想让呼叫乘务员是真的呼叫乘务员而不是误碰致使的,而飞机中的乘客确定是想更加方便快速的寻求乘务员的帮助,那么此时咱们应该采起“限制的方式”来知足乘务员的需求仍是知足乘客的需求呢?
  5. 在书中的第六章——敏捷流程,是一种快速开发软件的一种开发方法,这个开发方法的驱动核心是人,须要作到每日一会,报道各自的进程,根据相应的进度,来肯定下一天的工做量。那么敏捷开发过程当中,团队分工中是一我的作一个模块的好,仍是每一个模块由几人协商完成?若是每一个模块只是由一我的去完成,然而这我的中途出了事故,那么他那个模块的进度不知道的时候,又应该怎么作?若是每一个模块都是由几我的一块儿作,那么,发生思想以及技术中途的时候又应该怎么作?在团队中,不能进行有效的沟通时(万一有人失联),又该采起怎样的措施?

源程序版本管理工具GitHub、Git、Bitbucket

GitHub

优势:

1.Github支持多人同时维护庞大的开源代码(linux),因此它的分支能力强大,体验好。

2.Github除了基本的服务之外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协做图谱(报表)、代码片断分享(Gist)等功能。

3.Github使用的基于Web的代码托管服务。

4.Github支持离线提交,分布式推送拉取,使得代码层面的协做至关流畅。

缺点:

1.Github提交大文件没法成功。

2.Github不是捕捉创意过程和记录创意点子的最佳工具。

Git

优势:

1.适合分布式开发,强调个体。

2.公共服务器压力和数据量都不会太大。

3.速度快、灵活。

4.任意两个开发者之间能够很容易的解决冲突。

5.能够离线工做。

缺点:

1.资料少(起码中文资料不多)。

2.学习周期相对而言比较长。

3.不符合常规思惟。

4.代码保密性差,一旦开发者把整个库克隆下来就能够彻底公开全部代码和版本信息。

Bitbucket

优势:

1.Bitbucket免费支持私有仓库,提交大文件时速度很快,并且私人项目免费,且不限容量。

2.Bitbucket无限制的磁盘空间。

3.Bitbucket灵活的权限控制、Bug 跟踪等优势。

缺点:

1.Bitbucket不开源。

相关文章
相关标签/搜索