第一章 系統開發概論 1-1 系統開發概論 1-2 常見的資訊系統 1-3 系統開發生命週期 1-4 系統開發方法論簡介.

Slides:



Advertisements
Similar presentations
口試準備及口語表達技巧 民國 98 年 2 月 26 日 12:00pm 國立三重高中 陸芳瑜老師 1.
Advertisements

中三選科— 文科.
第三章及第四章資產負債表的重點整理 取材自1.課本 2.鄭丁旺中會第九版 3.營業員題庫重點.
軟體工程 -物件導向程式設計與UML系統分析實作
国家自然科学基金项目申请 经验交流与心得体会
高考主题讲座 高考语文 董 腾.
如何幫助兒童情緒管理- 一般兒童及情緒障礙兒童
方案設計與評估.
大家好!.
心理健康教育 高职校学生心里健康教育.
有效學習計劃簡介 (學前).
第7讲 软件需求管理 软件项目管理课程 之 毛新军
何謂專案管理? 美國專案管理學會 專案管理就是「為達成或超出利害關係人的需求或期望,把種種知識、技能、工具、技術應用在專案活動上,…,其牽涉到相互競爭的範疇,時間、成本、品質,以及利害關係人各種不同需求和期望之間的平衡」
12年國教前哨站 談適性輔導及免試入學 12年國教前哨站 談適性輔導及免試入學 主講人:龍門國中王意蘭 校長 輔導主任 潘姿伶.
发挥区域优势 服务地方中心 推动经济社会持续快速发展
第六章 设计图样的绘制 第一节 设计表现图.
第一节 信息与信息系统 第二节 物业管理信息系统概述 第三节 物业管理信息系统的开发 第四节 物业管理信息系统管理功能
第二章 UML簡介 課前指引 本章介紹什麼是UML以及利用圖形來塑模資訊系統的好處在哪裡。文中也介紹了何謂「4+1的觀點」、以及簡述各項UML圖形的使用目的。並且,我們從靜態以及動態這兩個觀點來分類、介紹各圖形的使用時機。
(讲座幻灯课件请在网上下载,让我们一起思考!)
專案品質管理 Project Quality Management
欢迎各位 Nice to Meet U.
第 5 章 软件项目需求管理.
(讲座幻灯课件请在网上下载,让我们一起思考!)
第六讲 面向对象分析(6学时) 了解面向对象分析的概念 了解面向对象分析的发展 理解面向对象的基本概念 理解面向对象分析的过程、内容
从2008年度时尚先生看我们的时代精神方向.
學習行為觀察與評估 講 師:陳怡華.
软件体系结构 (Software Architecture)
罗湖区第二届智慧杯中学政治学科小课题研究
第5章 信 息 系 统 上一章内容——信息管理的过程 主要包括四个环节: 4.1 信息需求与服务
第10章 考试系统的分析与设计 1.
第一章 軟體工程 (Software Engineering Introduction)
第9章 面向对象方法学引论 9.1 面向对象方法学概述 9.2 面向对象的概念 9.3 面向对象建模 9.4 对象模型 9.5 动态模型
软件工程 主讲:饶国政 天 津 大 学.
中德硕士合作项目 -经管学院 对外交流与合作办公室
软件工程 Software Engineering
企業會計資訊系統發展現況與電腦審計實務分享
形式语言与网络 计算环境构建 1.
軟體原型 (Software Prototyping)
第一章 軟體工程概論.
Chapter 3 Case Studies.
軟體工程 -物件導向程式設計與UML系統分析實作
單元3:軟體設計 3-2 順序圖(Sequence Diagrams)
BizTalk Server 2004.
Chapter 11 The Software Development Process
软件建模精要 面向对象软件建模技术.
黄海波 & 陶万山 with contribution by 劳晖
软件建模与UML.
AIS系統發展生命週期 東吳大學會計學系 謝 永 明.
UML类设计工具 任课老师:黄武 上午2时50分 10.
UML介绍.
面向对象的分析与设计 教学计划 研究生课程 主讲教师:邵维忠 助教: 朱彬,柳毅,尤朝,张磊,黄艺燕 2009年2月—7月
Agile Software Development
A、資訊系統開發概論與課程簡介 何謂資訊系統? 為何需要系統分析師? 需要瞭解哪些知識? 領域知識? 資訊科技? 開發方法與技術? 課程簡介.
Computing and SE II Chapter 4: Requirements Engineering
UML语言.
学习导航 学习导航.
梁文新 办公室:综合楼108 电 话: 软件工程导论 梁文新 办公室:综合楼108 电 话:
第二章 資訊系統開發模式.
第15章 系統分析與設計.
課程報告 使用開放原始碼工具實作軟體產品線方法
國立清華大學台灣研究 教師在職進修碩士學位班 陳韻如 繪圖者:趙祐瑜.
第四讲 项目方法选择 1.
第6章 面向对象开发的 分析与设计.
IEEM 5352 Enterprise Integration
熊博安 嵌入式系統實驗室 國立中正大學資訊工程學系
业务流程重组 1.概念 业务流程重组(BPR ,Business Process Reengineering)强调以业务流程为改造对象和中心、以关心客户的需求和满意度为目标、对现有的业务流程进行根本的再思考和彻底的再设计,利用先进的制造技术、信息技术以及现代化的管理手段、最大限度地实现技术上的功能集成和管理上的职能集成,以打破传统的职能型组织结构(Function-Organization),建立全新的过程型组织结构(Process-Oriented.
构件图和部署图.
UML ISKM Lab.
OOA/OOD UML RUP Architecture Pattern MDA
Presentation transcript:

第一章 系統開發概論 1-1 系統開發概論 1-2 常見的資訊系統 1-3 系統開發生命週期 1-4 系統開發方法論簡介

1.1 什麼是系統? P. 1-2 “System” - “A group of interacting, interrelated, or interdependent elements or parts that function together as a whole to accomplish a goal.”  ”一群互動的,相關聯的或是相互依賴的元素或是組成部份,它們一起運作以完成一個目標。“ 舉例來說

資訊系統的結構 結構上來看,資訊系統分為兩大部分: 硬體:電腦主機、網路設備、伺服器、鍵盤、滑鼠、螢幕、硬碟等---實體設備。 P. 1-2 結構上來看,資訊系統分為兩大部分: 硬體:電腦主機、網路設備、伺服器、鍵盤、滑鼠、螢幕、硬碟等---實體設備。 軟體:驅動一個系統執行其所賦予的功能---程式。

系統開發 重點在討論一個軟體資訊系統的開發過程中所涉及到的: 系統建置的規劃與管理 分析與設計所採用的方法 分析與設計所採用的技術 P. 1-2 重點在討論一個軟體資訊系統的開發過程中所涉及到的: 系統建置的規劃與管理 分析與設計所採用的方法 分析與設計所採用的技術 以及各種相關事項

1.2 常見的資訊系統 人事管理資訊系統 會計資訊系統 交易處理系統 POS(Point of Sale)系統 訂票資訊系統 信用卡付款系統

關注的焦點 網際網路的普及,以及便利性的訴求。企業紛紛將其業務執行由傳統的作業方式,移植到網際網路上來執行。 P. 1-4 網際網路的普及,以及便利性的訴求。企業紛紛將其業務執行由傳統的作業方式,移植到網際網路上來執行。 如何建構一個以網際網路為溝通平台的資訊系統將是未來的焦點。

1.3 系統開發生命週期 系統開發生命週期:一個系統從無到有的過程。 包含幾個重要的階段: 以蓋房子的過程為例 了解系統如何支援企業的需求。 P. 1-4 系統開發生命週期:一個系統從無到有的過程。 包含幾個重要的階段: 了解系統如何支援企業的需求。 明確的需求 + 對需求清楚的定義→開始從事系統的分析、設計工作。 將設計予以實作 + 經過不同的測試階段→ 系統正式上線運行執行它所賦予的任務。 以蓋房子的過程為例

系統開發生命週期 計劃階段 ---在回答:Why。 分析階段 ---在回答:What。 設計階段 ---在回答:How。 實作階段 。 Q P. 1-5 計劃階段 ---在回答:Why。 分析階段 ---在回答:What。 設計階段 ---在回答:How。 實作階段 。 Q

1.4 系統開發方法論簡介 結構化的(Structured)方法論。 瀑布式(Waterfall)方法論 P. 1-6 結構化的(Structured)方法論。 瀑布式(Waterfall)方法論 雛型方(Prototyping)法論 螺旋式(Spiral)方法論 Q 物件導向的(Object-Oriented)方法論。

瀑布式方法論(Waterfall) 結構化的方法論中最早被提出且被接受為開發一個系統的有效方式。 1970年由W. W. Royce提出。 P. 1-7 結構化的方法論中最早被提出且被接受為開發一個系統的有效方式。 1970年由W. W. Royce提出。 之後的許多方法論,基本上都是將瀑布式方法論加以改良以及演變出來。 此模式描繪(如圖):

瀑布式方法論 瀑布模式為系統的每一個階段定義出相當嚴謹的開發程序與步驟。 每一個階段必須完成之後,才可以轉移到下個階段。 P. 1-7 瀑布模式為系統的每一個階段定義出相當嚴謹的開發程序與步驟。 每一個階段必須完成之後,才可以轉移到下個階段。 就如水流一樣,一階流過一階。所以這種開發方式被稱為瀑布模式。

瀑布式方法論 循序式的方式。 每一個步驟會有確認的過程。 每一個階段允許對於上一層階段的回饋,以利於修訂與校正。 P. 1-7 循序式的方式。 每一個步驟會有確認的過程。 每一個階段允許對於上一層階段的回饋,以利於修訂與校正。 以文件驅動(document-driven)為其主要的特徵。 很重視文件的紀錄,在每一個階段產生大量的文件。這些文件都要經過計畫支持者的批准,然後才可以開始下一個階段的工作。 使用者的參與只有在系統剛開始以及最後的成果。 缺乏彈性的架構。

雛型方法論 先就清楚且肯定的部份先開始系統的開發(分析、設計、實作等等過程,通常不是很有規劃)。所開發出來的就是系統的雛形。 P. 1-8 先就清楚且肯定的部份先開始系統的開發(分析、設計、實作等等過程,通常不是很有規劃)。所開發出來的就是系統的雛形。 使用者與開發團隊再經由不斷的溝通討論、測試、修改,擴充此雛型直到系統滿足使用者的需求。這種方式就是雛型模式。 為快速地開發出系統雛形,雛型模式會利用CASE工具為開發過程的輔助工具。

雛型方法論 強調使用者的參與,不強調嚴格的文件定義。 P. 1-8 強調使用者的參與,不強調嚴格的文件定義。 從開發模式的本質上來看,雛型模式很適合用於小型的計畫專案, 並且使用者可以高度參與系統開發過程的計畫專案。

螺旋式方法論 又稱反覆式(Iterative)方法論。 主要在改進瀑布式僵化的開發原則。 P. 1-8 又稱反覆式(Iterative)方法論。 主要在改進瀑布式僵化的開發原則。 改進方法:反覆地執行系統開發的各階段過程,直到系統完成為止。

螺旋式方法論 螺旋式方法論是由許多個循環所組成(如圖)。 每次循環都要經歷系統開發的階段以及風險評估。 P. 1-8 螺旋式方法論是由許多個循環所組成(如圖)。 每次循環都要經歷系統開發的階段以及風險評估。 主要的特徵:風險驅動(risk-driven)。

螺旋式方法論 開發過程中,其每一步驟均使用到瀑布模式。 主要焦點:風險的評估及管理。 P. 1-8 開發過程中,其每一步驟均使用到瀑布模式。 主要焦點:風險的評估及管理。 →開始並不會很仔細地去定義整個系統,只定義系統中具有最高優先權的部份 →然後先行分析、設計以及實作部份 →從客戶或是使用者得到回饋 →有回饋資訊後,再回到定義以及實作更多其他系統所需具備之部分。

物件導向的方法論 結構化的方法論在執行的過程中主要是以處理或是資料為中心。 焦點:如何將問題分解成一群較小範圍的處理。 P. 1-9 結構化的方法論在執行的過程中主要是以處理或是資料為中心。 焦點:如何將問題分解成一群較小範圍的處理。 每個處理,如果執行邏輯還是很複雜,可以再將它分解為更小的處理。依此類推下去。 對於資料也是如此。 資料與處理基本上是息息相關的,因此有了物件導向技術的發展。

物件導向的方法論 物件導向技術強調 物件導向分析與設計vs傳統的結構化分析與設計→ 完全不同思維 物件以及物件跟物件之間的靜態關係。 P. 1-9 物件導向技術強調 物件以及物件跟物件之間的靜態關係。 物件之間互動的動態關係。 物件將資料與處理(在物件導向的世界,稱為操作或是方法)封裝起來。 物件導向分析與設計vs傳統的結構化分析與設計→ 完全不同思維

過程 P. 1-10 物件導向方法論涵蓋了三個過程 物件導向分析 物件導向設計 物件導向程式設計

統一塑模語言(UML) 早期的物件導向方法論是由三位大師所主導 各門派的方法論各有其考量的範圍以及優缺點。 P. 1-10 早期的物件導向方法論是由三位大師所主導 Grady Booch/Jim Rumbaugh/Ivar Jacobson。 各門派的方法論各有其考量的範圍以及優缺點。 Rational Software(1994-1995)將這三位Amigo請來共同發展出一套以物件導向為主的統一塑模語言(UML – Unified Modeling Language)。 1997年將研究成果送交物件管理聯盟(OMG – Object Management Group)審理。 OMG在1997年11月正式通過並且接受UML為物件導向開發的標準塑模語言。 從此,UML開啟了物件導向系統開發的新紀元。

Rational Unified Process(RUP) 1998年Grady Booch, Jim Rumbaugh,Ivar Jacobson 提出Rational Unified Process (RUP) ---一套物件導向系統開的方法論。 是一種軟體開發的方法(Software development approach)。 是一種軟體工程的處理流程(Software engineering process) 。 是一種處理產品(Process product) 。 Q

RUP強調的重點 由使用案例驅動(Use-Case Driven) 以架構為中心(Architecture Centric) 反覆且漸進(Iterative and Incremental)

由使用案例驅動 P. 1-11 如果你不懂什麼叫做使用案例(Use Case),沒關係。這在後面會有明確的定義。目前,你只要知道使用案例是用來捕捉系統所提供的功能。並且,這一點很重要:是從使用者的角度。

由使用案例驅動 如何掌握使用者的需求、如何用一種有效的方式、工具來捕捉使用者對於系統的期望一直是資訊系統發展過程中很重要的課題。 P. 1-11 如何掌握使用者的需求、如何用一種有效的方式、工具來捕捉使用者對於系統的期望一直是資訊系統發展過程中很重要的課題。 而使用案例為這些問題提供了一個解答。 由使用案例驅動,也就是說以使用者的角度來看系統該做什麼,以此為系統開發的出發點。

以架構為中心 面對日趨複雜的資訊系統,若沒有一個定義分明的系統架構藍圖,這個系統在日後必將面臨許多問題,終就難逃被淘汰的命運。 P. 1-13 面對日趨複雜的資訊系統,若沒有一個定義分明的系統架構藍圖,這個系統在日後必將面臨許多問題,終就難逃被淘汰的命運。 這對於網路時代的資訊系統更形重要。對於系統架構,可以利用許多不同的觀點來記錄它。我們將在後面介紹RUP所提出有關架構藍圖的4+1觀點。

反覆且漸進 相對於一次就定義出系統的完整模型細節,RUP則將開發的過程看成是一序列的反覆過程,稱之為iteration(反覆)。 反覆的意思:開發過程是週期性的。可以把一個週期看成是一個小型、循序式的開發過程。每一個週期可以在紙上或是利用雛型來檢驗,並且其結果可以做為下個週期的輸入(如圖)。 Q

RUP的開發處理架構 P. 1-13 在圖中,水平軸代表時間,顯示RUP過程進行中的動態組成面,並且從循環(cycle),階段(phase),反覆(iteration)等觀念來描述它。而垂直軸代表RUP 過程進行中的靜態組成面,並且利用活動,產出,工作流程等觀念來描述它。

RUP系統開發的過程:四大階段 起始階段(Inception) 詳述階段(Elaboration) 建構階段(Construction) 移轉階段(Transition) 每一個階段,RUP均定義了階段目標以及所須從事的相關活動。 每一個階段中,又再細分許多的iteration。

RUP定義了九個工作流程(Workflow) 企業塑模(business modeling) 需求(requirements) 分析與設計(Analysis and design) 實作(Implementation) 測試(Test) 部署(Deployment) 配置管理(Configuration Management) 計畫管理(Project Management) 環境(Environment)

四個階段、九大流程 4個階段以及9個處理流程是反覆且漸進式的進行著。 隨著時間的遞移,每一個階段所著重的處理流程比重也會不同。 P. 1-14 4個階段以及9個處理流程是反覆且漸進式的進行著。 隨著時間的遞移,每一個階段所著重的處理流程比重也會不同。 例如:起始的階段,需求分析的份量遠比系統實作來的多;而在建構階段時,實作將會是整個計畫的核心工作。

參與人員 每一個階段以及不同的工作流程,均有相關的參與人員(稱為角色)以及該角色所應從事的活動。RUP定義了下列幾類參與者的角色: 分析人員(analysts) 開發人員(developers) 測試人員(testers) 經理(managers) 其他角色(other roles)

開發人員 P. 1-15

工作項目 P. 1-15

例子 人體就是有許多不同的系統所組成。如:消化系統、呼吸系統等。 不同功能的系統由許多不同的器官所組成以完成某項工作。 房子也包含了許多不同的系統例如電路系統、排水系統等等。 我們所要談論的系統是所謂的資訊系統(Information System) - 一個以資料處理為核心的系統。

蓋房子的過程 構想。 繪製外觀、 形狀。 繪製房子的藍圖(blueprint)。---外觀、 細部設施、尺寸、大小、坪數。 藍圖經多次討論、修改,到客戶滿意為止才定案。 地基開挖,依藍圖的設計蓋房子。期間,可能因為一些因素,會做些變更與修改。

計劃階段 為什麼要建立一個系統?建立系統所帶來的實質利益、價值? 可行性分析(feasibility analysis)。 技術面的可行性方析(technical feasibility) 經濟面的可行性方析(economic feasibility)。 產出: 計畫書(Project plan): 工作報告書(Statement of Work) :

分析階段 了解系統的需求是什麼(What)。 定義系統所要解決的問題 = 系統要提供什麼樣的功能。 產出:需求文件---以功能需求以及非功能需求為主軸。

設計階段 了解系統的需求如何被達成(How)。 建立系統的架構模型。 系統的架構描述系統的組成元件 產出:系統架構書。 支援系統的硬體設施的配置與組態。 軟體架構的模型。 使用者介面的設計。 輸出報表格式的樣式。 產出:系統架構書。

實作階段 根據設計階段所擬定的系統架構書,以及分析階段的需求分析文件,開始建立系統。 系統建立的過程中,還包含有測試的階段。有些計畫會把測試這項工作獨立出來自成一個階段。並且擬定測試計畫書。 產出:系統本身。

瀑布式開發方法

螺旋式方法論

物件導向分析 重點工作:定義出系統的模型。 接著進行物件導向設計。 分析階段的主要工作:利用類別或是概念模型以及物件的觀點來分析、檢驗系統的需求。

物件導向設計 重點工作:定義出一個以物件為設計規範的系統實作藍圖。 設計階段的主要工作:勾勒出邏輯的、具體的以及靜態的和動態的系統模型。

物件導向程式設計 使用物件導向程式語言,依據分析與設計的要求與規範實作系統。

反覆且漸進

Q:什麼是RUP?請分別從是一種軟體開發的方法、軟體工程的處理流程、處理產品三個方向簡述之。 A:P1-10~11

Q:RUP強調任何以物件導向為開發基礎的資訊系統必須依循那三個方向? A:P1-11~12

Q:試比較結構化的系統開發方式中的三個方法論?瀑布式方法論、雛型方法論、螺旋式方法論。 A:P1-7~9

Q:系統開發生命週期分為那四個階段?各階段所要回答的問題,分別是什麼? A:P1-4~6