资源预览内容
第1页 / 共33页
第2页 / 共33页
第3页 / 共33页
第4页 / 共33页
第5页 / 共33页
第6页 / 共33页
第7页 / 共33页
第8页 / 共33页
第9页 / 共33页
第10页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
軟體處理程序與需求分析,什麼是軟體?,電腦程式及相關文件,如要求,設計模型和使用手冊 可以是為某位客戶或一般大眾市場所開發的軟體產品 廣義而言:電腦軟體是指一切能夠控制電腦運作的方法與技術 狹義而言:用各種程式語言所寫成的程式,什麼是軟體工程?,軟體工程是一門著重在生產軟體各方面知識的工程學科。 軟體工程簡單的說就是有系統的進行軟體的規劃、分析、設計、程式製作、維護等工作,其目的是運用科學化的方法和技術, 來提高軟體的生產力和軟體的品質。 軟體工程所涵括的範圍很廣,主要包括兩方面內容:軟體發展技術和軟體專案管理。,好的軟體應有那些特性?,這些軟體應該提供所需的功能外,而且也應提供使用者可維護性、可靠性和可接受性 Maintainability(可維護性) 軟體必須演變,以滿足不斷變化的需求; Dependability(可靠性) 軟體必須是值得信賴的; Efficiency(效率) 軟體不應該浪費系統資源; Usability(可用性) 軟體必須設計讓使用者接受. 這表示它需是可以理解、實用且與其他系統能相容,軟體工程主要面對的挑戰是什麼?,Heterogeneity, delivery and trust. Heterogeneity(異質性的挑戰) 該使用何種開發技術來建立值得信賴、且可處理一致問題的軟體; Delivery(開發時間的挑戰) 如何能夠在不降低系統品質的條件下,縮短開發時間; Trust(信任度的挑戰) 如何開發出能讓軟體展示出他值得使用者信任的技術.,專業和道德責任,PUBLIC 軟體工程師應該維護大眾的利益 CLIENT AND EMPLOYER 軟體工程師應該以讓他的客戶和雇主得到最佳利益為職責,並且維護大眾利益 PRODUCT 軟體工程師應該確保他的產品和相關的修改能夠儘可能符合最高的專業標準,專業和道德責任,JUDGMENT 軟體工程師在專業判斷上應該維持正直與中立 MANAGEMENT 軟體工程師的經理人和主觀應該軟體開發與維護上支持與提倡合乎道德的管理方法 PROFESSION 軟體工程師應該提昇,何謂軟體工程方法,軟體工程方法是開發軟體的一些結構方法,他們的目的是要以合乎成本效益的方式生產出高品質的軟體產品。 在1970年代就已經發表了結構式分析與等方法,這些方法主要是找出系統的基本功能元件。 1980-1990年代,這些功能導向的方法又增加了一些物件導向的功能。現在這些方法已經整合成一個統一個方法,稱為UML(Unified Modeling Language) 目前為止,軟體工程方法還在發展中,還沒有一個完全理想的方法出現,而且不同方法有各有不同的適合領域。,軟體開發、塑模與溝通,在軟體發展的過程中,因為參與開發過程的成員 眾多,所以,有效的溝通非常重要。 舉例來說: 客戶與承包商需要反覆溝通,以取得用戶需求 廠商與廠商之間需要有效溝通,以達成相互合作 而開發團隊內部更必須確保溝通,以保證發展方向 正確等等 因此軟體開發能夠順利進行,有效且良好的溝通,是不可或缺的要素。,軟體開發、塑模與溝通,但軟體發展與其他的文明建設不同,軟體開發通常不像建築物,具有明確的外觀形貌,也沒有所謂建築藍圖或建築模型以供參考。 在大部分狀況下,軟體發展的基本參考,通常只是用戶需求裡的條列式文句。而相同的文句,每個開發人員可能會做出不同的解釋,更因沒有實體或模型可供參考的狀況下,開發軟體很容易造成瞎子摸象的後果,不但需要花更多的時間進行溝通,同時也無法保證軟體產出的品質。,軟體開發、塑模與溝通,因此,依循其他傳統的文明建設發展軌跡,如建築藍圖或結構模型等成功經驗,軟體工程也朝向此一建立可討論的模型目標前進。 有可見的藍圖,總比以文字表示的條文容易理解。更進一步,如果有可見的模型,不僅對整體架構有更明確的概念,同時也可確保開發團隊中的每個成員,都有相同且明確的目標,因此可以事半倍,避免無謂虛耗的困擾。 因此,在軟體工程中,塑模的重要性不言可喻,物件導向技術,具有封裝、繼承和多型特性的物件導向技術,提供系統發展人員在不增加複雜度的情況下擴大系統的方法,最適合用來發展強調再用的軟體系統。,物件導向技術在應用方面具有的特色,一、 可經由直接塑模企業物件,讓資訊系統與企業管理完全整合。二、 讓應用系統不受限於執行環境、開發環境、程式語言而能彼此互通。三、 讓發展者可以很容易的再用或修改物件。,軟體生命週期,將軟體開發程序加以細分就是所謂的生命週期模型 Requirements Engineering Design Implementation Testing Maintenance,軟體開發或演進的一系列活動,Software life cycle,Development cycle,Design,Implementation,Testing,Maintenance,Requirements Elicitation,System design,Object design,Analysis,Requirements Engineering,Requirements Engineering,Requirements elicitation focuses on describing the purpose of the system.(Requirements elicitation重點集中於描述系統目的)Requirements engineering包含Requirements Elicitation與Analysis兩階段。,Design,一但知道系統需要達成哪些需求後,設計過程中就必須決定什麼是可以完成需求的最佳系統建構方式 在Software life cycle中Design包含 System Design 與 Object Design 兩階段。在System Design階段初期,必須先定義出 Design Goal 作為System Design完成後系統所需達成的事項。,Implementation,將完整的設計轉成程式碼,Testing,系統經過測試後,可以確保系統是否可以精確且完整滿足使用者的需求.,Maintenance,軟體完成之後的維護與改良,什麼是UML?,UML是Unified Modeling Language的簡稱,中譯為統一塑模語言。屬於物件導向領域裡頭用來將設計概念表現出來的一種符號表現法也就是說,UML是軟體系統發展人員用以建造模型,而這些模型使得工作團隊能夠:將系統具象化(Visualization)、將系統結構及行為規格化(Specification)、建構(Construction)系統、以及記錄(Documentation)發展系統過程中之各項決策。,UML(Unified Modeling Language),什麼是塑模? 作曲家會將其腦袋中的旋律譜成樂曲,建築師會將其設計之建築物畫成藍圖,行銷廣告人員會將其創意製作成簡報;這些樂曲、藍圖及簡報就是模型(Model),而建構這些模型的過程就稱為塑模(Modeling)。 軟體開發如同音樂譜曲及建築設計,其過程中也必須將需求、分析、設計、實作、佈署等各項工作流程之構想與結果予以呈現,這就是軟體系統之塑模。,UML八大模型圖來表達的各種不同的觀點,1. 使用者觀點(User view): 從某些與系統相關角色的使用者觀點來看,使用者會和那些系統互動,相反的也可看出那些使用者會使用到該系統。使用的圖形有使用案例圖(Use Case Diagram)。2. 結構觀點(Structural view): 從軟體程式或系統的結構觀點來看。使用的圖形有類別圖(Clasa Diagram) 、物件圖。3. 行為觀點(Behavior view): 從軟體程式行為(流程)觀點來看,尤其是針對物件與物件之間的行為。使用的圖形有循序圖(Sequence Diagram)、合作圖(Collaboration Diagram)、狀態圖(State Diagram)、活動圖(Activity Diagram)。,UML八大模型圖來表達的各種不同的觀點,4. 建置觀點(Implementation view): 從建置整個系統的觀點來看,那些軟體元件必須建置在何處。使用的圖形有元件圖(Component Diagram)。5. 環境觀點(Environment view) : 從整個系統的環境觀點來看,那些硬體和軟體必須佈署在何處。使用的圖形有配置圖(Deployment Diagram)。,Use Case Diagram(使用案例圖),在運用Use Case Diagram時的重要課題,是要認清使用者目標(use goal)與系統互動(system interaction)兩者之間的差異。圖形內中主要描述行為者(Actor)與使用個案(Use Case)的關係。,Use Case Diagram - Symbol,26,查詢課程介紹,演員(Actor) 凡事會與系統互動的都可以是演員 演員不一定是人,使用案例(Use Case) 唯一性 表示系統所執行的功能,連接線(Association) 表是某個演員啟動了某個案例,系統(System) 當開發系統不需要和其他系統互動時省略,Use Case Diagram Example,定期備份系統,27,備份系統,Class Diagram(類別圖),Class diagram 是用來描述系統中物件的類型,以及類型間的各種靜態關係。,Class Diagram - Symbols,29,屬性,類別名稱,方法,Class Diagram (Example),老師和課程的關聯,30,開設,Sequence Diagram (順序圖),在UML裡面,Scenario指的是一個use case中的某一個單一實行路徑,也就是在一個use case中某幾個特殊狀況,結合在一起的情形。而用來描述Scenario的工具即是Sequence Diagram。,Sequence Diagram Object Type,32, :學生, :修改學生資料明細, :修改學生資料控制,Boundary Object(邊界物件) 和使用者溝通的介面,Entity Object(實體物件) 存放實體資料,Control Object(控制物件) 連接邊界物件與實體物件,Sequence Diagram Example,33,1: 點選修改資料,2: 修改學生資料表單,3: 輸入修改資料後送出,4:ValidateStdentData(),5:Update(),6:Sendmail(),7:修改完成訊息,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号