從使用者需求,談架構設計

軟體開發本身是一個複雜的工藝過程,牽涉到各種領域技術,大部分談軟體架構設計著重在軟體系統架構本身,如何妥善的分工、如何解決開發上的各種問題、使用哪一種 Design Pattern 來解決問題、如何快速開發等等,只不過,真正有用的軟體是對客戶有用的軟體、能替客戶解決問題的軟體,才是真正有價值的軟體。

本篇文章,筆者介紹,在 UML 的系統分析設計領域裡,如何從使用者需求出發,如何正確收集到使用者的需求,甚至與(Agile/Scrum)結合,在 Agile 或者 Scrum 強調的 Sprint ,我們再細分為,一個、到多個 反覆設計 (Iterations),在每一個 Iteration 所要完成的需求裡,又可以細切多個 Iteration Modeling。

文章中,將介紹如何正確地進行 Iteration Modeling. 與 Continuous Modeling,以便做到恰如其分的軟體架構設計。

...繼續閱讀 »

[第二梯][台北 5/28 (星期六)] 架構設計好簡單系列 - 如何設計符合團隊的範本精靈 (Project Template)

感謝許多人來上小弟的前次課程 『如何有架構性將現有 ASP.NET WebForm 轉換為MVC? 』,這個課程也開到了第三梯次,小編預計在 2016/03/26 將在開全新的課程 『架構設計好簡單系列 - 設計符合團隊的範本精靈 (Project Template)』,這是小編重新設計的課程,若您沒有聽過小編的前一次『如何有架構性將現有 ASP.NET WebForm 轉換為MVC? 』課程也沒有關係,因為前一課程比較偏重開發,本課程比較偏重管理面。

...繼續閱讀 »

使用 Visual Studio Extensibility 自訂 C# Project Template (Web Project)

約兩年前,筆者有撰寫過自訂 Project Template 的文章『架構設計好簡單系列(3) - 設計自己簡單的 ORM 平台』,當筆者是使用匯入匯出專案範本的方式,事實上,Visual Studio 從 2010 的版本開始有提供 Extensibility SDK 可提供開發擴充套件與 Project Template

...繼續閱讀 »

[最後一梯][台北 05/21 (星期六)] 如何有架構性將現有 ASP.NET Web Form 轉換為 MVC?

本課程的重點不在於轉換為 MVC 這件事,重點在於架構性的思考,筆者會先帶著大家將原本的網站分層、將各層 (Layer/Tier) 職責切割清楚,說明當我職責切分清楚時,前端其實不管是既有的 WebForm 應用程式,或是重新撰寫的 MVC 應用程式,都可以操作這個Services層

...繼續閱讀 »

如何培養架構性思考 (談軟體架構師必經之路) - 投影片分享

架構師並不能只是了解自己的系統、元件、模組、.NET Framework、或是其他 Java Virtual Machine 軟體執行平台即可,架構師最好還對 OS、甚至是網路系統、NLB、Load Balance 架構、Ap Server 或說是 (IIS/Apache) 、或甚至是硬體執行環境、RAID 等...有一定的了解,因為你所開發的是網站、你的網站會在這些環境中執行,一定會使用到這個硬體環境、網路資源 等等,那麼當然你也得對網路相關通訊協定有些概念,否則、當出現問題時,你只能在旁邊乾瞪眼,而不知問題在哪,如何處理。

...繼續閱讀 »

架構設計好簡單系列(5) 軟體架構設計的翹楚(下) - [如何再修改支援 Autofac、DI 模式 (破除相依性)]

在進行架構設計時,善用一些 Third-Party 的工具或是元件,也可以達到筆者講的:找出最省時、省力、又保有較佳的設計、維護姓、時效性,又兼顧團隊的 Skill、以後維護也方便的一種方式。因為架構設計有時候也是一種全盤的考慮,不光是技術,有時,天、時、地、利、人和、環境,也會是考慮因素之一。

...繼續閱讀 »

架構設計好簡單系列(4) - 軟體架構設計的翹楚(上)

其實架構的設計是可以慢慢培養的,難是難在如何判斷當下的情況,也就是說你的情況、專案的情況是如何,如何兼顧各種情況,又保有較佳的設計、維護姓、時效性,因為專案總是有 Schedule 的,同時有要考慮專案成員的 Skill。這就是架構設計的翹楚,因為許多狀況都是非關技術,但也不代表技術不重要,技術可以靠書本取得,但許多當下判斷你得靠經驗來判斷,這就不是書本上會告訴你的了。

...繼續閱讀 »

架構設計好簡單系列(3) - 設計自己簡單的 ORM 平台

在架構設計中,如果能夠透過範本精靈的方式,如同微軟的 Entity Framework 一樣,提供一個 UI 介面,快速的將資料庫拉出來為 實體 (Entity) ,也可以提供做為 MVC 的 ViewModel,且由 IDE 工具自動產生 Generator 好需要存取後端資料庫的程式碼,這樣豈不是更完美

...繼續閱讀 »

架構設計好簡單系列(1) - 簡單分層你現有的網站 (例子:如果 Web Form 變成 ASP.NET MVC 該怎麼做?)

在這一次的公司內訓中,筆者以 "Visual Studio 2012 與 ASP.NET 4.5 (新功能與開發介紹)" 這樣的主題,介紹了整個在 Visual Studio 2012 中關於網頁系統的開發與雲端系統的開發與建置,其中,應觀眾要求,希望在課堂上的實作中,可以講解關於 一般 ASP.NET Web Form 在開發上如何做簡單的切割,並在需要時,又可以在最少的修改下,快速轉換為 ASP.NET MVC

...繼續閱讀 »