軟件開發(fā)技術(shù)--軟件工程_第1頁
軟件開發(fā)技術(shù)--軟件工程_第2頁
軟件開發(fā)技術(shù)--軟件工程_第3頁
軟件開發(fā)技術(shù)--軟件工程_第4頁
軟件開發(fā)技術(shù)--軟件工程_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、軟件工程第一章成材之路技術(shù)方向 兩大集團(tuán)IBM, Sun , BEA為首, J2EE構(gòu)架 核心技術(shù) JSP, Servlet, JDBC , RMI, JMS, JNDI等,產(chǎn)品提供商有 IBM websphere, BEA Weblogic , Sun IPlanet,SunOne,tomcat書籍 Thinking in Java Second Ed. EJB J2EE技術(shù)入門點(diǎn):tomcat + struts Microsoft .Net Framework( VS.net 2005)采用類似Java VM的技術(shù),稱為 CLR (Common Language Runtime)VB.ne

2、t, VC.net, C#.net包括ASP.net ADO.net .Net FrameWork軟件發(fā)展的方向 基于web的應(yīng)用 了解web應(yīng)用的基礎(chǔ) 內(nèi)容,html、DOM(Document Object Model),request, response 因?yàn)閣eb很健忘,所以還要理解session (會話)成材之路 精通掌握一種IDE 如Microsoft visual c#.net Java 開發(fā)環(huán)境 如 Eclips, IntelliJ IDEA Inprise (Borland) C+ builder,C# Builder, Delphi 注意跨平臺的編程環(huán)境 Windows 和

3、Linux之爭 原代碼可跨平臺(在統(tǒng)一的集成環(huán)境下) Delphi -Kylix成材之路選擇一種語言選擇一種語言( OOP)(object oriented programming)JAVA C#.net VB.net VC.net C+ 與集成環(huán)境有關(guān): 如VC , C+ BuilderObject Pascal -DelphiObject Basic 語言 VB掌握一種大型數(shù)據(jù)庫掌握一種大型數(shù)據(jù)庫 如MS SQL ServerOracle 更好 IBM DB2推薦語言信息化系統(tǒng)建設(shè)信息化系統(tǒng)建設(shè) C#.netJAVAVB.net信號處理等有特殊效率要求信號處理等有特殊效率要求 C+習(xí)慣OO

4、P從面向過程的編程思路轉(zhuǎn)到面向?qū)ο蟮木幊趟悸?。理解對象的組成,封裝、多態(tài)和繼承成材之路-良好的習(xí)慣編碼習(xí)慣 格式等 函數(shù)頭、參數(shù)的描述,函數(shù)之間的間隔,縮進(jìn)縮出,變量盡量局部化命名規(guī)范 如匈牙利規(guī)范,其他的命名規(guī)則 例如類的命名第一個字母就大寫,后續(xù)單詞的第一個字母大寫,方法的第一個字母小寫。如類Student,類的方法saveStudent。思維邏輯 general 不要盲目為提高程序語言的簡潔而降低可閱讀性 變量與數(shù)值的結(jié)合的時間要合理 盡量函數(shù)化,一個函數(shù)只作一個任務(wù) 一個變量只用于一個目的使用成熟的算法問題 選課系統(tǒng)需求 教務(wù)員可以輸入一個新學(xué)生;更新、查詢學(xué)生的信息。 教務(wù)員可以輸入

5、一門新課程;更新、查詢課程的信息。 教務(wù)員指定教師開設(shè)一門課程。 教務(wù)員可以查詢一門課程的所有的選課學(xué)生名單,總?cè)藬?shù)。 教務(wù)員可以為某個指定的學(xué)生選課;輸入學(xué)生成績。為操作方便,輸入學(xué)生的成績時,可以是指定一門課程的課程號,把學(xué)生的名單按學(xué)號從小到大次序羅列,逐個輸入學(xué)生成績。 學(xué)生可以查詢自己所有的選課信息,自己的已選課列表和待選課列表,實(shí)現(xiàn)選課??梢暂斎胱约簩δ抽T課程任課教師的評價。 軟件工程 軟件應(yīng)該是一個可維護(hù)的產(chǎn)品 編制一整套的配置文檔編制一整套的配置文檔 軟件應(yīng)該以系統(tǒng)的、工程的方法開發(fā)制作,并提供售后服務(wù) NATO提出軟件工程1、程序設(shè)計(jì)時期(1946年到60年代中期)2、軟件時

6、期(1960年代中期至70年代中期)3、軟件工程時期(1970年代至今) 軟件發(fā)展的三個階段1983年IEEE定義:“軟件工程是開發(fā)、運(yùn)行、維護(hù)和修復(fù)軟件的系統(tǒng)方法”。 軟件工程定義 1.軟件工程方法學(xué) 研究軟件構(gòu)造技術(shù)的學(xué)問。軟件從定義、開發(fā)到維護(hù),都有適當(dāng)?shù)姆椒ā?2.軟件工程環(huán)境 最終用戶(end user):環(huán)境就是他們運(yùn)行程序所使用的計(jì)算機(jī)系統(tǒng)。 軟件開發(fā)人員:是軟件開發(fā)環(huán)境。 軟件工具:一切幫助開發(fā)軟件的軟件。例如很多的IDE,可以明顯提高軟件的生產(chǎn)率。 3.軟件工程管理 軟件工程管理的目的,是為了按照軟件的預(yù)算和進(jìn)度完成項(xiàng)目計(jì)劃,實(shí)現(xiàn)預(yù)期的經(jīng)濟(jì)和社會效益。軟件工程的范圍于1976

7、年由BWBoehm提出。是基于軟件生存周期的一種范型。它將軟件生存周期分為定義、開發(fā)、維護(hù)三個階段每個階段又分為若干個子階段軟件工程范型 瀑布軟件的配置文檔組成軟件的配置文檔組成 需求分析 結(jié)構(gòu)設(shè)計(jì)(概要設(shè)計(jì)、頂層設(shè)計(jì)) 詳細(xì)設(shè)計(jì) 數(shù)據(jù)庫設(shè)計(jì)(如果存在的話) 測試用例 維護(hù)手冊 使用手冊彌補(bǔ)瀑布模型的缺點(diǎn)劃分成階段,但不嚴(yán)格評審步驟建立一個待開發(fā)軟件的原型經(jīng)過用戶評價后提出對軟件需求的修改這種修改可能會反復(fù)多次根據(jù)用戶和開發(fā)者一致認(rèn)定的軟件需求,設(shè)計(jì)和實(shí)現(xiàn)所需要的軟件。工程范型 -快速原型適合大型新產(chǎn)品的開發(fā)從概念開發(fā)最初產(chǎn)品開發(fā)產(chǎn)品增強(qiáng)開發(fā)產(chǎn)品維護(hù)改進(jìn) 工程(Engineer)的任務(wù)是作出本

8、產(chǎn)品原型,交出一個可運(yùn)行的原型以便評審和審計(jì)。 構(gòu)建和發(fā)布(Construction & Release)是開發(fā)、測試、安裝完整的產(chǎn)品,并提供用戶支持(如文檔、手冊、培訓(xùn))??蛻趄?yàn)證(Customer Validation)的任務(wù)是得到用戶的反饋。 工程范型 螺旋模型4GT (Fourth- Generation Techniques)的簡稱。以第四代語言為核心的一類技術(shù)的統(tǒng)稱,數(shù)據(jù)庫查詢的非過程化語言,自動報(bào)表生成,自動代碼生成,高級作圖、如ZedGraph快速應(yīng)用開發(fā)模型 (4GT范型范型)需求分析如何獲得一個完整的需求識別問題 與領(lǐng)導(dǎo)和實(shí)際操作者多方溝通 與實(shí)際操作者: 事務(wù)處理

9、系統(tǒng) TPS 與領(lǐng)導(dǎo): 決策支持系統(tǒng) DSS分析與綜合 判斷出信息處理的種類。例如信息管理類,工程控制類、智能系統(tǒng)類 建立模型寫規(guī)格說明 在什么條件下能做什么事情需求分析的實(shí)例面向?qū)ο蠡靖拍?真實(shí)世界里的很多事物都是對象,對象具有屬性和行為,它們是緊密聯(lián)系在一起 什么是對象面向?qū)ο蠡靖拍?類和對象是有區(qū)別的,可以認(rèn)為類是一類對象的抽象,而對象則是具體的 類面向?qū)ο蠡靖拍?類具有屬性,例如,不管手機(jī)是那個廠商生產(chǎn)的,它都有自己尺寸、色彩、按鍵等基本屬性。屬性分配到一個具體的對象時,也變成具體的內(nèi)容 屬性面向?qū)ο蠡靖拍?類的行為或操作,是指一個類可以作的事情。在面向?qū)ο蟮姆椒ㄖ?,行為又稱為

10、方法。 行為或操作面向?qū)ο蠡靖拍?對象有屬性和方法,但不是所有的方法和屬性都對外公開的 封裝面向?qū)ο蠡靖拍?泛化也成為抽取一類事物的共性 泛化多態(tài) 多態(tài),是一類對象具體化得到不同的對象時,每個對象對泛化的內(nèi)容的具體表現(xiàn)形式 面向?qū)ο蠡靖拍?對象經(jīng)過泛化后,得到共同的特征,從而可以實(shí)施對這些共性內(nèi)容的定義和描述,形成一個類,這樣的類,一般是是給后續(xù)的具體化的類進(jìn)行繼承的。被稱為超類或父類。 超類面向?qū)ο蠡靖拍?父類和子類是一個統(tǒng)一的概念,是面向?qū)ο笤O(shè)計(jì)中類間的上下級的關(guān)系,一般而言,父類整理了一個類中的共性內(nèi)容,具有高度的抽象,而子類通過繼承父類類獲得這些共性的內(nèi)容。 子類需求的組織 用

11、例,用來說明一個系統(tǒng)的行為和功能。 在一個特定的環(huán)境下,參與系統(tǒng)的用戶與系統(tǒng)之間可能進(jìn)行的操作,以及這些操作的交互序列。用例 Use case問題 選課系統(tǒng)需求 教務(wù)員可以輸入一個新學(xué)生;更新、查詢學(xué)生的信息。 教務(wù)員可以輸入一門新課程;更新、查詢課程的信息。 教務(wù)員指定教師開設(shè)一門課程。 教務(wù)員可以查詢一門課程的所有的選課學(xué)生名單,總?cè)藬?shù)。 教務(wù)員可以為某個指定的學(xué)生選課;輸入學(xué)生成績。為操作方便,輸入學(xué)生的成績時,可以是指定一門課程的課程號,把學(xué)生的名單按學(xué)號從小到大次序羅列,逐個輸入學(xué)生成績。 學(xué)生可以查詢自己所有的選課信息,自己的已選課列表和待選課列表,實(shí)現(xiàn)選課??梢暂斎胱约簩δ抽T課程

12、任課教師的評價。需求的組織 參與者:用一個特定的小人表示,其下面用文字描述角色的名稱。 用例:用橢圓表示,文字寫在橢圓內(nèi)或下面,描述其要實(shí)現(xiàn)的功能。 連接:一條直線,畫在參與者和用例之間,表明角色參與了該用例。 擴(kuò)展關(guān)系:用例之間可能會存在參與關(guān)系,就是一個用例可以繼續(xù)擴(kuò)展到另一個用例,擴(kuò)展用例用虛線箭頭加關(guān)鍵字 extended來表達(dá)。 包含關(guān)系:用例是描述功能的,功能上相互獨(dú)立的2個用例,可能會存在包含關(guān)系,包含用例也用虛線箭頭表達(dá),上加關(guān)鍵字include。用例圖需求的組織學(xué)生選課用例圖 用例圖- 需求的組織培訓(xùn)機(jī)構(gòu)接待收款用例圖 用例圖- 需求的組織類分析 實(shí)體類:實(shí)體類: 實(shí)體類是指

13、在系統(tǒng)運(yùn)行過程中,其生成的對象是持久的,它的存在會超過一個會話的生命期,它持有系統(tǒng)應(yīng)用的大部分?jǐn)?shù)據(jù)。 邊界類:邊界類: 邊界類負(fù)責(zé)系統(tǒng)與用戶的交互 控制類:控制類: 控制類是為了增加系統(tǒng)的適應(yīng)性而設(shè)計(jì)的類,負(fù)責(zé)主要的應(yīng)用邏輯,將實(shí)體類和頻繁變更的業(yè)務(wù)邏輯隔離開。 實(shí)體類、邊界類、控制類類之間的交互圖 類被分成了實(shí)體類、邊界類和控制類,用例中有不同的類參與,這些類之間互相通訊,擔(dān)負(fù)各自的責(zé)任,類對象之間互相交互的圖就是交互圖。 交互圖又被分為順序圖、通信圖、活動圖和狀態(tài)圖 交互圖的目的:弄清數(shù)據(jù)、數(shù)據(jù)流向、先后次序、對象 交互圖順序圖描述對象之間的交互順序交互圖 在一個用例圖中確定用例的參與者,

14、注意參與者之間沒有交互圖,因?yàn)樗鼈冊谙到y(tǒng)范圍外。 每次考慮一個用例,描述用例的功能。 對每個用例,建立用例與每個參與者的邊界類。 對一個給定的用例,確定其控制類(如果必須的話)。 從用例的對象關(guān)系中得到實(shí)體類。 順序圖中的各個交互,是在類的對象之間進(jìn)行的。順序圖步驟順序圖舉例學(xué)生選課用例順序圖 交互圖通信圖強(qiáng)調(diào)對象之間的通信學(xué)生選課用例通信圖活動圖 活動圖表達(dá)一個系統(tǒng)功能的工作流 表達(dá)活動到其他活動的路徑。 和傳統(tǒng)設(shè)計(jì)中的流程圖很相似活動圖符號p活動:以橢圓型內(nèi)包含說明組成。p轉(zhuǎn)移:用箭頭表達(dá)。p判斷點(diǎn):以菱形內(nèi)包含條件說明。p同步:用粗線條表達(dá)。p開始:用空心圓表達(dá)。p停止:用靶心表達(dá)?;顒?/p>

15、圖例子學(xué)生選課用例活動圖設(shè)計(jì)體系結(jié)構(gòu)p設(shè)計(jì)體系結(jié)構(gòu)的總體藍(lán)圖p確定系統(tǒng)的復(fù)雜度p確定系統(tǒng)的層次關(guān)系多層構(gòu)架多層體系結(jié)構(gòu)的演變多層體系結(jié)構(gòu)的分層p數(shù)據(jù)層p表示層p邏輯層p數(shù)據(jù)訪問層詳細(xì)設(shè)計(jì)和編碼詳細(xì)設(shè)計(jì)和編碼詳細(xì)設(shè)計(jì)的任務(wù)q為軟件結(jié)構(gòu)圖中的每一個模塊確定采用的算法和塊內(nèi)數(shù)據(jù)結(jié)構(gòu)q用某種選定的表達(dá)工具給出清晰的描述。詳細(xì)設(shè)計(jì)的描述工具詳細(xì)設(shè)計(jì)的描述工具 程序流程圖 方框圖(N-S圖) 問題分析圖(PAD圖) 偽碼(PDL語言)程序流程圖1. 順序結(jié)構(gòu)2. 選擇結(jié)構(gòu)3. 多分支選擇結(jié)構(gòu)4. 先判斷型循環(huán)5. 后判斷型循環(huán)Task1Task2Task31CElseThen2C1C2C3T1T2T33C

16、循環(huán)體4C循環(huán)體5程序流程圖例子a入bX1X2fX5cdeX3X4X6gihX7X8g學(xué)生登陸流程圖入輸入學(xué)號,密碼tblStudent(no, name, dept, birthday,sex)tblAccount(no, password)tblRole(no, role)從tblAccount中查找記錄C返回空生成登陸者實(shí)體對象,返回abc循環(huán)體While循環(huán)條件循環(huán)體Until條件dea 順序 b 選擇 c 多路選擇 d 先判斷 e 后判斷 N-S的基本元素N-S框圖的例子abF x1 TCase xi,i=1,2,3,4 fX2 x3 x4 F x6 TX5 g i C d e h

17、x7x8jN-S框圖的優(yōu)點(diǎn)每個步驟都用一個方框表示方框中可以嵌套另一個方框.深度沒有限制由于只能從上面進(jìn)入方框,N-S圖限制了隨意的控制轉(zhuǎn)移,保證了程序的良好的結(jié)構(gòu)它強(qiáng)制設(shè)計(jì)人員按結(jié)構(gòu)化程序設(shè)計(jì)的方法進(jìn)行思考形象直觀,易于表達(dá)嵌套結(jié)構(gòu),容易確定局部和全局?jǐn)?shù)據(jù)問題分析圖 PAD基本結(jié)構(gòu)要素任務(wù)1任務(wù)2任務(wù)3任務(wù)1任務(wù)2 T條件 F任務(wù)1任務(wù)2任務(wù)3 值1 值2控制=變量 值nwhile循環(huán)體until循環(huán)體順序選擇多分支先判斷后判斷PAD例子aUntil x8bx1fx6until x7igh x2xi x3 x4while x7hdej程序流程圖例子a入bX1X2fX5cdeX3X4X6gih

18、X7X8jPAD例子組b有26個元素,初始化每個元素為0While is的長度t=s的第i個字符減去字符a的序號之差b的第t個元素增1i=0接口定義接口定義 void freq(string s, out int b)public static void main() string s; int b=new int26; s=tbStr.Text; / 輸入的全部是字母 freq(s,b); for (int i=0; i26, i+) cout bi “ ” ;PAD的優(yōu)點(diǎn) 從左到右延伸的樹結(jié)構(gòu),每一層一條豎線 容易反映逐步求精的過程PDL語言u一種形式的靈活的語言,與編程語言無關(guān)u分內(nèi)語法和外語法 內(nèi)語法自然表述,外語法是編程語言的抽象u外語法的關(guān)鍵字: 先判斷 do while enddo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論