軟體工程階段學習小結
第一部分:軟體工程知識
初次學習涉及軟體工程,在印象中時乙個很大很大的概念,涉及了理科中的方方面面,但正是有了軟體工程,使得我們做乙個專案的時候,變得有條不紊。我們把軟體工程定義為:軟體工程師應用電腦科學理論和技術以及功臣個管理原則和方法,按預定和進度實現滿足使用者要求的軟體產品的工程,或一次為研究物件的學科。它大大提高了我們做事的效率。很實際的乙個理念。
軟體開發本質
問題域定義,概念:需求與需求規約
軟體生存週期過程---回答軟體開發需求做些什麼
軟體開發方法:結構化方法,物件導向方法
軟體測試技術
軟體生存週期模型---給出軟體開發活動的組織框架
專案過程管理---回答專案過程如何建立和監控
組織過程改善,給出過程改善模型---cmmi
專案生存週期過程
軟體過程是乙個層次化技術,軟體過程三個要素:方法,工具,過程。軟體過程的基本原理:
1, 用分階段的生存週期計畫嚴格管理
2, 堅持進行階段評審
3, 實行嚴格的產品控制
4, 採用現代程式設計技術
5, 結果應能請粗的審查
6, 開發小組的人員應當少而精
7, 承認不斷改進軟體工程實踐的必要性
進行乙個專案前,首先要做的就是專案評估與制定計畫,得到乙個立項內容。
軟體工程主要分三大塊:
第一大塊:軟體定義(計畫階段)
在這個階段中,我們要做的是問題的定義,可行性分析,立項表。需求規約是乙個管理控制點。
在這個階段我們輸出的是:軟體需求規格說明書,專案可行性報告。
可行性分析:就是關於當前專案能不能幹的分析結果。主要考慮的方面包括:
à是否能把這個專案研發出來
à如果能的話,預計多長的時間,能否滿足客人的時間需求
à需要多少人力和資金的投入
à最重要的是,這個專案能否賺錢,能賺多少
à還要對可能存在的風險進行評估
專案描述:這是在決定立項以後,對當期專案的乙份扼要說明
à專案的名稱或編號
à對客戶方的描述
à工程任務的描述
à功臣的輸入和輸出
1, 研發環境
2, 其他的附加條件
軟體需求規格說明書的的基本格式:
1, 引言
1.1. 目的
1.2. 範圍
1.3. 定義,縮略語
1.4. 參考文獻
1.5. 概述
2, 總體描述
2.1.產品概述
2.2.產品功能
2.3.使用者特性
2.4.約束
2.5.假設和依賴
3, 特定需求
附錄
索引
第二大塊:軟體開發(開發階段)
在這個階段中,我們要做的是需求分析,軟體設計,編碼與測試,發布與安裝驗收。
一,軟體需求分析
1、需求分析是發現,求精,建模,規格說明和複審的過程,是系統設計的基礎,關係到專案的成敗和軟體的質量,這部分的檔案必須包括3部分:客戶需求的周詳描述;程式功能模組的劃分及客戶需求的對應關係;功能模組的邏輯流程。
2、在這個階段我們根據軟體專案的不同,選擇需求分析的方法,主要有結構化分析方法(用流程圖,用例圖,時序圖等表示)和物件導向的分析方法。
3、我們學習了程式設計的幾個重要思想,比如:高內聚,低耦合;模組化;自頂向下,逐步求精;等等,還有重要的設計原則
在這個階段我們得到的是軟體需求文件和和審核報告。
二,軟體設計
1、 軟體設計師乙個把軟體需求交換成軟體表示的過程
2、 軟體設計有幾個重要的原則,即抽象化,自頂向下,逐步細化,模組化,控制層次,結構劃分,資料結構,軟體過程,資訊隱蔽。
四,總體設計
這個階段是確定設計的方法
1, 概要設計和詳細設計,概要設計分為:資料設計,系統結構設計,過程設計。詳細設計就是細化概要設計。編碼之前要對程式進行設計,好的程式設計師的設計習慣。
2, 程式編碼
編碼前:在實現每個功能前,要分析自己的思路
編碼中:注意**的規範,形成統一的編碼風格
編碼後:列出測試的東西(預計出的東西)
五,軟體測試
用於之處程式存在或潛在的缺陷和錯誤,及程式效能的數字描述:對被刺模組的描述;測試人員;對該模組每個功能的測試的周詳描述;之處當前存在或潛在的問題。
第三階段:軟體支援(執行和維護階段)
在這個階段中,我們要做的是軟體的使用,執行,和軟體維護
第二部分:培訓學習總結
從剛開始培訓到現在已經有乙個多星期了,在這麼短的時間裡我學到了hp的文化和軟體工程相關的知識,雖然時間很短,但是我們的經理很負責人,實習的我們都很積極,我們已經提前從學校畢業,那就意味著我們沒有很多時間來浪費,時間就是金錢。軟體工程是一門實踐性很強、交叉性很強的學科,它提供給我們的不僅是一種方**,更是一種世界觀
。
hp是人性化的管理方式,我們也慢慢從學校的學習狀態轉變到工作狀態。不能像在學校裡學習的那樣,讓老師天天在後面催,工作了,我們應當自覺了,不是上級給你安排這個,你就單單的做這個,我們還要拓展我們的知識,擴大我們的視野。
未接觸軟體工程之前一直都非常憧憬,在學校裡沒有開過這個課,知識在hp面試之前講過,學過之後,最大的領悟就是:軟體工程方法一定要從小抓起,否則到了後面再回過頭來修正,那絕對是困難的頭疼。
以前寫程式的時候都是『自主主義『式的個人研發,想到哪兒就寫到哪兒,整個過程包括最後的成品都是問題多多。原因主要是由於兩個方面:一是由於貪圖方便,使用的檔案模版是從網上擋下來的,難以理解。而是由於』自由『習慣了,一下子是在無法適應那麼多的條條框框。所以目前自己做了份檔案模版,打算培養起好習慣,同時還要培養我們的時間管理。時間就是金錢。
第三部分:培訓過程中的缺點
1,對於培訓過程:這個過程看似輕鬆,但是要在短時間內接受那麼多的東西,真的不容易,培訓過程就是能讓我們瞬間記憶,所以在過程中,用於討論是很重要的,不僅可以便於我們記憶,也可以加深我們的理解,這樣掌握起來就得心應手。所以過程是重要的,我們要積極的表達我們的觀點和疑問。
2,對於自己:在整個培訓的過程中,始終是屬於被動階段,不能好好的做好課前預習,以至於我們在過程中不能很快的跟上節奏。理解很困難。給自己定了計畫,短期的,長期的。為完成計畫而努力。
最後,我們共勉!
軟體工程學習筆記
1 軟體工程的基本概念 軟體的概念 軟體 程式 文件 軟體是能夠完成預定義功能的可執行的電腦程式和使程式正常執行所需要的資料,加讓描述程式的操作和文件。程式 適合計算機處理的語句序列 它的目的是啥呢?是為了解決某個特殊的問題 文件 開發活動的記錄 用於通訊和交流,開發過程的管理和執行階段的維護 軟體...
軟體工程學習手冊
軟體工程 必須以有組織的質量保證為基礎,全面質量管理和過程改進使得更加成熟的軟體工程方法的不斷出現。目標 軟體工程旨在開發滿足使用者需要 及時交付 不超過預算和無故障的軟體,其主要目標如下 1 合理預算開發成本,付出較低的開發費用 2 實現預期的軟體功能,達到較好的軟體效能,滿足使用者的需求 3 提...
軟體工程學習思考
構建之法 現代軟體工程 相比於學習新知識,我覺得教材是在教我們怎麼去合理地管理專案 這對我們以後實際的工作有很大的幫助。課程需要動手的專案很多,開發方式多元,作業量也相對的大。即使是一周的個人小專案,也有類似 將實現的功能移植到乙個網頁程式上 的要求,這對我們進行知識的綜合應用有很大的幫助。第一周專...