《系統分析與設計》我的第一次做業:閱讀與準備

這個做業屬於那個課程 課程的連接
這個做業的要求在哪裏 做業要求的連接
我在這個課程的目標是 充實本身的編程理論
這個做業在哪一個具體方面幫助我實現目標 對這本書有一個全局觀

關於我

  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不開源。

相關文章
相關標籤/搜索