顯示具有 系統分析與設計 標籤的文章。 顯示所有文章
顯示具有 系統分析與設計 標籤的文章。 顯示所有文章
就是愛分享
統一塑模語言(Unified Modeling Language,UML)是 Rational 公司整合 Booch、Rumbaugh 與 Jacobson 三種方法而提出的物件導向塑模工具,並且是一種視覺化(Visualizing)、文件化(Documenting)及規格化(Specifing)的軟體塑模語言,包含使用個案圖、類別圖、物件圖、循序圖、合作圖、狀態圖、活動圖、元件圖、部署圖、套件圖、複合結構圖、時序圖與互動概觀圖等十三種模式圖。

其中前九種較常用於商用資訊系統之分析與設計上:

1.使用個案圖
從使用者之觀點描述系統的行為者與系統間之互動行為與關係。從內部觀點來看,使用個案可描述系統做什麼(What);從外部觀點來看,它可描述行為者與系統如何互動(How)。

2.類別圖
主要用以表示系統存在之物件型態(或稱類別)及各物件型態間的靜態資料結構語邏輯關係,也表達類別之屬性、操作與類別間連結之限制等。

3.物件圖
用來描述一系統於某一時間點的靜態資料結構,該圖由一群相關之物件及其連結所組成。物件圖是系統在某個時間點的一個例子,而非系統的定義,可用來表達一個系統之複雜的資料結構,或藉由一時間序列的系統影像(Snapshots)來表達系統的行為。

4.循序圖
主要用以描述系統運作時物件間的互動行為,且著重以時間之先後順序為主軸,以表達物件間的訊息傳遞與處理程序。一個循序圖會有一個與之對應的合作圖,但表達的重點與方式不同。

5.合作圖
主要用以描述系統運作時物件間的互動行為,且該圖著重表達相關物件之連結結構,並能同時展現物件間的訊息傳遞的活動。

6.狀態圖
是以微觀物件為主,細分物件所發生的各項事件,並表達物件生命週期之狀態轉變及活動結果。

7.活動圖
描述一群循序與同步的活動,一個活動可表示一個工作流程步驟或一個運算的執行動作。

8.元件圖
用以說明系統設計過程各類別與物件的配置,以及敘述軟體元件間的組職架構和關係。元件是開發和執行過程之實際物件的類別,將可分解的實際基本單位模組化,這些基本單位包括模組(Module),並擁有特性和明確定義的介面。

9.部署圖
用來說明系統各軟硬體(例如處理器、處理元件)元件的配置、關聯,以及同一處理器內執行處理的時程安排等。

閱讀全文...
就是愛分享
由於軟硬體技術之精進與價格大幅降低,使得資訊系統的需求量與複雜度大幅提高,因此如何有效地開發系統成為大家所關心之議題。資訊系統開發模式或稱為軟體流程模式是資訊系統開發活動一系列的步驟及執行程序。當系統開發依循系統化、邏輯化的步驟進行時,有利於標準、規範與政策之推行和建立,開發的過程將更有效率、更能確保品質,也更容易管理。專家們提出了不同的資訊系統開發模式,以適用於不同情況的系統開發:

1.瀑布模式
該方法把系統開發的過程分成「幾」個階段,每個階段清楚定義要做哪些工作及交付哪些文件,各階段循序執行且僅循環一次。

2.漸增模式
該方法把需求分成「幾」個部份,然後依漸增開發計畫將每個「部份需求」之開發訂為一個開發週期,每個週期可依序或平行開發。每個週期之階段清楚定義要做哪些工作及交付哪些文件,每個階段循序進行且僅循環一次。

3.雛型模式
該方法先針對使用者需求較清楚的部分或資訊人員較能掌握之部分,依分析、設計與實施等步驟快速開發雛型。開發過程中,強調盡早以雛型作為使用者與資訊人員需求溝通與學習之工具,雙方透過雛型之操作與回饋,以釐清、修改及擴充需求,並藉以修改與擴充雛型。上述步驟反覆進行,直到系統符合雙方約定為止。

4.螺旋模式
主要是基於瀑布模式應用於政府大型軟體專案之經驗,經多次修改而成。該模式之執行由三個步驟形成一週期:(1)找出系統的目標、可行之實施方案與限制;(2)依目標與限制評估方案;(3)由剩下之相關風險決定下一步驟該如何進行。

5.同步模式
該模式之構想是源自於製造業的同步工程,同步工程的目的在於縮短產品開發時間,以提高市場競爭力。對於套裝軟體的開發專案,如何縮短開發時間、加速版本的更新是非常重大的挑戰。

6.統一流程模式
結合螺旋模式的概念,以反覆與漸增的軟體發展原理進行軟體開發,且每一次的反覆後需產出一個可運作的系統版本,並在每一個反覆週期中評估風險,以儘早發現問題。

閱讀全文...
就是愛分享
為了因應更複雜的應用
或是為了提昇效率
我們也能將中間的應用程式伺服器工作再分散到多個伺服器
建立多層式的資料庫應用架構。
例如讓Web伺服器執行單純的網頁伺服器工作
而再加入一台專用的應用程式伺服器
來做購物車、訂單的處理、或是其他功能的程式



Client:
Dream Weaver ┐
Flash │Web
PhotoShop │Design
Photo Impact ┘
Java Script ┐
Ajax ┘Web Client 程設

Web Server:
1.Sun:TomCat Apachet JSP
2.MS:IIS 5.0/6.0 + ASP.NET
3.Open Resource:Apache + Php

DB Server:
1.SQL Server(T-SQL)
2.Oracle(PL/SQL)
3.IBM DB/2
4.MySQL

Application Server:
1.Java Solution(J2EE)
2..NET Solution(C++)

免費的Solution:
Linux OS + Apache Web Server + Php + MySQL + OS Commerce EC AP

閱讀全文...
就是愛分享
為期五個月的網際網路資料庫設計班
在上了一個月的課程之後
終於在今天的「系統分析與設計」分了組
看得出來大部份的組別都是找"鄰居"
不知小組運作到最後會不會問題很多?
正如老師所說:因不解而結合,因了解而分開。

另外話說國內從事 "企業(Enterprise)" 軟體的獨立開發廠商(ISV),大致可以分為三種營利的模式:


  • Project (專案)。
  • Package (套件)。
  • Product (產品)。


算起來,應該約有 80% 以上的開發廠商是以專案開發為主的(Project-based)。專案,顧名思義,會偏以滿足單一任務的工作性質,服務的對象也偏以單一的客戶為主,目的就在於能達成客戶對資訊系統的期望,而這些期望,也就是系統所提供的服務與功能—軟體開發廠商所負責承諾來實現,並換取實質的回饋報酬。

我們都知道,最為難的就是如何能滿足客戶的期望,因為,客戶的期望一直在變;又,競爭的因素,專案性質的資訊系統開發總是被要求在最短的時間,以最少的成本來完成,自然,種種不合理的要求,品質當然也就不佳。

請記得,開發端與客戶端是要能達成一種實質交易上的平衡,而開發端投入許多的心力與人力,來服務單一的客戶,卻換取開發端認為不合理的報酬,當然這種交易的結果也就無法讓雙方都能協調滿意的了。

只賣給一家客戶,即使開發 ERP 系統拿到 200 萬元,開發端都還認為是慘賠,因為人員的實質負擔實在不敷成本。一般專案性質的軟體開發總是存在一個根本問題:無法達成軟體的大量複製!



至於套件與產品如何區別?套件的特性是,它提供了預先定義好的功能(pre-defined)給客戶,然後利用 "參數(parameters)",讓客戶來自行 "微調" 系統功能;若是客戶單位要求的是套件沒有的功能、企業規則或企業流程的話,當然就要找原開發廠商,然後回到 "專案" 的型態來開發新的功能。

專案要作的是滿足客戶的需求,但期望客戶的需求變動不要太頻繁;套件則是提供預先定義好的需求給客戶,但其假設點是客戶的要求不多、規模不大(這也就是國內的 ERP 廠商的客戶鎖定在中小企業的原因)。兩者的根本問題是:彈性度不足,無法提供 Enterprise 層級的資訊系統,有效的客製化與變動性管理!

那麼,該具備什麼樣的特性才 "夠格" 稱之為 "產品(Product)" 呢?答案就是理出專案與套件的共同問題:讓系統更有彈性!



閱讀全文...