67
Visual Studio 2012 與 ASP.NET 4.5 ( 與與與與與與與與 ) 與與 與與與 Blog http://www.dotblogs.com.tw/gelis/ Skype [email protected]

Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

Embed Size (px)

Citation preview

Page 1: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

Visual Studio 2012 與 ASP.NET 4.5 ( 新功能與開發介紹 )講師:吳俊毅Blog : http://www.dotblogs.com.tw/gelis/Skype : [email protected]

Page 2: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

第四天

Page 3: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

大綱• 程式碼品質改善實務• 程式碼分析 (Code Analysis)• 程式碼複雜度分析• Visual Studio 2012 對開發人員的挑戰 ( 二 )• 打造 Windows 8 Store App 的唯一工具• 什麼是雲端運算?基本概念是什麼?• 從裝置到雲, Windows Azure 簡介• 如何將應用服務化、雲端化。• 各種軟體、 App 及應用服務開發的三大挑戰。• 建立第一個雲端的 ASP.NET MVC 4 專案

Page 4: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

程式碼品質改善實務

Page 5: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

程式碼的品質改善實務

設計文件品質複雜度效能錯誤

效能

品質

設計文件

錯誤

複雜度

IntelliTrace智慧偵錯

程式碼分析、審核

程式碼度量

系統塑模

效能精靈

Page 6: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

沒有品質把關的程式碼沒有妥善的程式碼分析作業或 Code Review 就像埋深水炸彈…

Page 7: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

利用程式碼分析來改善程式碼的品質使用程式碼分析的好處

早期發現程式碼潛在的問題可以找出一般軟體無法測出的問題

越到後面才發現問題,修改成本越大!!

就算案子再怎麼趕,前期某些工作也是不能省

Page 8: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

誰要懂?員工要懂?還是老闆要懂 ?

究竟是案子太趕?還是沒有按照規矩準則進行?找懂得人?還是要找懂得如何按照規矩進行的人?

所以才請你來啊 !

BUG 抓不完呀~

所以一開始就說三個 月做不完阿

就是知道三個月做不完所以才請

你來啊! ~

Page 9: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

原始碼 Microsoft Manager 建議規則

效能規範安全規範

物件導向設計規範

Page 10: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

DEMO使用 Visual Studio 2012 進行程式碼分析

Page 11: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

度量程式碼複雜度的五項指標可維護性指數循環複雜度繼承深度類別結合程度程式碼行數

越高越容易維護控制流程的數量

Page 12: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

程式碼複雜度分析目的是為了瞭解程式碼的複雜度與可維護性

可維護性指數:0-9:難以維護10-19:普通20-59:可維護60-79:容易維護80-100:可維護性極高

控制流程的數量

Page 13: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

DEMO使用 Visual Studio 2012 進行程式度量分析

Page 14: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

單元測試實務

Page 15: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

近代測試的思維軟體開發的生命週期中有:分析、設計、開發、測試、上線、維護、更版近代 Agile 方法論的 TDD (Test-Driven Development)先撰寫 (Test Case) 測試的程式碼,再撰寫實作的程式碼當測試的程式碼寫完,表示使用者的需求也都完成了亦即利用測試來驗證對使用者需求的了解程度

Page 16: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

DEMO如何對 ASP.NET MVC 的網站進行單元測試

Page 17: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

題外話

要相信雲端的程式,還是 Local 端的程式?老王說:

老師說:都不是,應該要相信測試過的程式。

話說現在已經進入雲端的時代

Page 18: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

以技術區分各種測試所需專業程度

會進行手動測試

不過熟悉客戶流程

會進行測試環境建置

會建置測試資料

只會寫腳本語言會一些 Code

不是很專精

很會寫 Code

可負責寫自動化測試程式

非常專精的寫 Code不只撰寫自動化測試程式也可規劃整合測試

一般 專業

Test Manager ( 測試案例 )

Web 效能測試

負載測試

自動程式碼 UI 測試

手動測試 單元測試/程式碼分析黑箱測試

白箱測試

API 測試

Page 19: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

Visual Studio 2012 對開發人員的挑戰 ( 二 )

Page 20: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

打造 App ,必定有服務您不能不懂各種服務端的開發: Web API 、 WCF Data Service 、 Web Services 、 WCF Services….通訊協定/資料內容: HTTP 、 JSON 、 XML…跨平台的問題

所幸微軟雲端提供了 Azure Mobile Services解決不同 Device 使用同一個服務的問題

Page 21: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

打造 Windows 8 Store App 的唯一工具

Page 22: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

打造 Windows 8 Store App 的唯一工具

對開發團隊的挑戰-三螢一雲三螢一雲的開發平台Windows + Phone + Azure 的開發平台如何開發 Windows Store App 並上架到 Windows Store 應用程式商店,讓你的 App 有機會推向全世界 ?開發人員還要重新學習新工具及新技術嗎 ?開發 Windows RT 版本 (ARM 架構 ) 的 Windows Store App 還得重新學習嗎 ?

Page 23: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

行動裝置應用開發分類Native App 與 Mobile Web 比較

佈署 / 改版

跨平台 硬體整合 多媒體應用

Mobile Web

網路連線特性

連線 / 離線

需連線

Native App

強 好

弱 強

一般,可搭配 HTML5 多媒體效果

適合企業應用

開發技術

較難、各平台不同

較易、由既有技術延伸

Page 24: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

如何將應用服務化、雲端化。

Page 25: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

三螢一雲的開發平台同一個工具、熟悉的技術、擁抱新標準

CLIENT – 端

CLOUD – 雲工具

技術2012

Page 26: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

雲 + 端 一致性的開發體驗

Visual Studio 2012 的專案範本 - 從 Windows 8 Store App 、到 Cloud 、 Web 、 SharePoint 各式應用開發 ; 並可選擇開發者熟悉的語言 : C#, VB, C++, JavaScript

Visual Studio 2012 中開發 Windows 8 Store App 可使用的控制項

Page 27: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

Windows + Phone + Azure 的開發微軟平台上一致的開發經驗Windows 8Store App

Windows Phone 8 App

Web 或Windows DesktopApp

Windows Azure Mobile Services

Page 28: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

Visual Studio 2012 在 App開發趨勢下的三大關鍵功能 關鍵功能 : HTML5 開發最強利器、橫跨各行

動平台在 IT消費化 (Consumerization of IT) 及行動化的趨勢下,身為研發主管及程式開發人員的你,因應客戶需求、市場趨勢或內部主管的要求,相信您可能正面臨下面的問題:

如何讓你的應用程式輕鬆跨行動平台? 比如: (Windows/iOS/Android) 呢?

Page 29: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

• 持續投資既有技術並擁抱新產業標準• 選擇開發技術及語言 : • .NET/XAML/ C#/C++ 或

HTML5/JavaScript• 選擇對你最容易親近的技術

Visual Studio 2012 – 無與倫比的 HTML5/JavaScript 開發工具

Page 30: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

什麼是雲端運算?基本概念是什麼?

Page 31: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

雲端運算的基本特性On-demand Self-service (隨需應變自助服務 )消費者可依據使用需求狀況自行使用雲端服務,不需再透過雲端供應者與之互動。

Broad Network Access (網路使用無所不在 )網路使用無所不在,亦即雲端供應者服務可隨時在網路取用,且使用者端無論大小,均可透過標準機制使用網路。

Resouce Pooling池 (共享資源 )資源彙整讓雲端供應者透過多租戶模式 (Multi-tenancy) 服務消費者,依據消費者要求,來指派或重新指派實體及虛擬資源,在所在地獨立性的概念下,消費者通常不知道所有資源確切位置,只可能掌握國家、州或資料中心等大範圍區域地點。其中資源包括儲存、處理、記憶、網路頻寬和虛擬機等。

快速重新佈署靈活度 (Rapid Elasticity)彈性亦即能因應需求彈性且快速調整資源規模大小,對消費者而言,所提供的這種能力似乎是無限的,可以在任何時間被購買任何數量。

服務可計算 (Measured Service)計算服務量測中,雲端服務各層次均由雲端供應者掌控與監管,這對於計費、存取控制、資源優化、處理能力規畫及其他工作相當重要,確保資源使用可被監測、被控制和被報告,為供應者和消費者雙方提供透明化服務使用資訊。

Page 32: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

雲端運算的( 四種部署 / 三種服務 )

Page 33: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

雲的四種部署方式公用雲( Public Cloud)公用雲服務可透過網路及第三方服務供應者,開放給客戶使用,「公用」不一定代表「免費」,但也可能代表免費或相當廉價,公用雲並不表示使用者資料可供任何人檢視,公用雲供應者通常會對使用者實施使用存取控制機制,公用雲作為解決方案,既有彈性,又具備成本效益。

私有雲( Private Cloud)私有雲具備許多公用雲環境的優點,例如彈性、適合提供服務,兩者差別在於私有雲服務中,資料與程式皆在組織內管理,且與公用雲服務不同,不會受到網路頻寬、安全疑慮、法規限制影響;此外,私有雲服務讓供應者及使用者更能掌控雲端基礎架構、改善安全與彈性,因為使用者與網路都受到特殊限制。

社群雲( Community Cloud)社群雲由眾多利益相仿的組織掌控及使用,例如特定安全要求、共同宗旨等。社群成員共同使用雲端資料及應用程式。

混合雲( Hybrid Cloud)混合雲結合公用雲及私有雲,這個模式中,使用者通常將非企業關鍵資訊外包,並在公用雲上處理,但同時掌控企業關鍵服務及資料。

Page 34: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

雲端 (公有雲 ) 的三種服務模式Software as a service (SaaS)

軟體即服務:意即雲端開發商開發雲端運用程式,以服務和隨選方式讓使用者決定要使用的程式

Platform as a service (PaaS)平台即服務:意即由雲端供應商提供應用程式開發平台供使用者發展自己的雲端系統

Infrastructure as a service (IaaS)基礎架構即服務:由雲端供應商提供「基礎運算資源」,如處理能力、儲存空間、網路元件或中介軟體(通常是虛擬機器)給使用者架設自己的主機,消費者能掌控作業系統、儲存空間、已部署的應用程式及網路元件(如防火牆、負載平衡器等),但並不掌控雲端基礎架構

Page 35: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

從裝置到雲Windows Azure 簡介

Page 36: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

Windows Azure 簡介• 什麼是 Windows Azure 呢?• Windows Azure 的使用情境• 開發架構思考-高延展性• 雲端服務的類型: Web Role, Worker Role, Cloud

Service• 開始使用,如何註冊帳戶• 安裝 Windows Azure SDK• 建立第一個雲端的 ASP.NET MVC 4 專案• 將 ASP.NET MVC 4 專案佈署至雲端

Page 37: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

什麼是 Windows Azure 呢?他是一種開放、彈性的雲端平台,可以讓您跨 Microsoft 的全球各個不同的資料中心快速的建立、佈署、管理您的應用程式,您可以使用任何語言、工具、架構來建立您的應用程式,並將公有雲與您現有的 IT 環境做整合。

Page 38: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

什麼是 Windows Azure 呢?簡單來說它是開發雲端應用程式的綜合平台

在雲端平台上裝載與執行程式提供應用程式的管理 (介面/功能 )包含了許多種服務:如儲存體、存取控制等它的主要的優點

開放 與 彈性針對延展 與 高可用性所設計的平台使用多少算多少錢

Page 39: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

Windows Azure 的平台架構

Page 40: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天
Page 41: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

Windows Azure 一般的使用情境它滿足一般應用程式的:

可延展性可用性可容錯性

常見使用情境如下:掌上型裝置服務網路應用程式 ( 流行的 Mobile Web)Web API & WCF Data ServiceSocial Games

Page 42: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

Windows Azure 核心服務

Page 43: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

開發須以 [延展性 ] 為思考方向當需要延展時以負載方式延展

平常就以兩個 VM提供服務自動負載平衡但它是無狀態 (State-Less) 的設計

無法使用 In-Process Session可使用 DB 分享 Session

Page 44: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

Windows Azure 雲端服務的類型Cloud Service

雲端專案Web Role/Worker Role每個服務享有獨立的 VM較適合複雜的環境

Website網站專案Web Role 的更新版依模式不同決定是否與他人共享或專屬的 CPU 資源較適合簡單的環境

Page 45: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

開始使用如何註冊帳戶 ?

Page 46: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

至官方網站

Page 47: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

目前以 LiveID註冊可試用一個月

Page 48: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

註冊帳戶須知30天免費試用期,需要 Microsoft Account (Live ID)。

需要信用卡,但只會在驗證時扣美金 1 元,而且不會請款。您可以使用定價計算機來預估 NT$6,300 Windows Azure 信用額度的使用量有多少在試用期間如果超過配額,會中斷服務。

您的免費試用內容包含

• 一整個月都執行 2 個小型虛擬機器執行個體,或• 將 800 GB 的資料儲存在儲存體中,或• 使用 Cloud Service 來開發和測試 Web 應用程式,而

且中型執行個體包含 3 個 Web Role 和 2 個 Worker Role ( 每天 10 小時,每週 5 天 ) ,或一整個月都執行 100GB 的 SQL Database

Page 49: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

定價估算機

Page 50: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

安裝 Windows Azure SDK

Page 51: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

有幾種方式從起始頁的 [取得 Windows Azure SDK]從Windows Azure 的官方網站下載

Page 52: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

建立第一個雲端的網站

Page 53: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

建立第一個雲端的網站• 開啟 Windows Azure 的管理介面• 新增一個 Web Site• 下載 Publish Profile• 使用 Web Site 發行現有 ASP.NET MVC 4 的網站

Page 54: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

開啟 Windows Azure 的管理介面進入到網址 https://manage.windowsazure.com/

下載 Publish profile

Page 55: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

使用 Web Site 發行現有 ASP.NET MVC 4 的網站在專案上點選滑鼠右鍵 [ 發行 ]

Page 56: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

DEMO發布現有 ASP.NET MVC 4 到雲端的 Web Site

Page 57: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

建立第一個 Cloud Service 的 ASP.NET MVC 4 專案

Page 58: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

建立第一個雲端的 ASP.NET MVC 4 專案• 建立 Windows Azure 雲端服務專案• 選擇 ASP.NET MVC 4 Web 角色• 在 Local 使用 Emulator 模擬器測試雲端服務• 將 ASP.NET MVC 4 專案發行至雲端• 測試雲端的 ASP.NET MVC 4 的運作情形

Page 59: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

建立Windows Azure 雲端服務專案在安裝完 Windows Azure SDK 之後

Page 60: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

在 Local 使用 Emulator 模擬器測試雲端服務

設定執行個體數設定 VM大小確定外掛元件複製到本機

WebRole 在哪?

}

Page 61: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

在 Local 使用 Emulator 模擬器測試雲端服務

必須以管理員權限執行才可執行 Emulator UI執行成功,右下角會出現

查看 Instance 的執行紀錄

(LOG)

Page 62: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

DEMO建立 ASP.NET MVC 4 的雲端專案

Page 63: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

將 ASP.NET MVC 4 專案發行至雲端在你的 CloudMVC4Azure1 專案上點滑鼠右鍵 ->[ 發行 ]

開啟後登入可下載所訂閱的憑證

匯入後就會出現您的訂閱項目

Page 64: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

DEMO如何將 ASP.NET MVC 4 專案發行至雲端

Page 65: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

相關參考資料Windows Azure Official Site

http://www.windowsazure.com/

MSDN Windows Azure Platform Documentationhttps://www.windowsazure.com/en-us/develop/net/reference/

MSDN 邊做邊學http://msdn.microsoft.com/zh-tw/windowsazure/gg456243.aspx

MSDN Windows Azure 實作手冊http://msdn.microsoft.com/zh-tw/jj590639

Page 66: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

Connect. Share. Discussshttp://www.microsoft.com/taiwan/techdays2012/

Microsoft Certification & Training Resources

http://www.microsoft.com/learning/zh/tw/

Resources for IT Professionalshttp://social.technet.microsoft.com/Forums/zh-tw/categories/

Resources for Developershttp://social.msdn.microsoft.com/Forums/zh-tw/categories/

Resources

Connect. Share. Discussshttp://www.microsoft.com/taiwan/techdays2012/

Microsoft Certification & Training Resources

http://www.microsoft.com/learning/zh/tw/

Resources for IT Professionalshttp://social.technet.microsoft.com/Forums/zh-tw/categories/

Resources for Developershttp://social.msdn.microsoft.com/Forums/zh-tw/categories/

Resources

Page 67: Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第四天

Q&A