Visual Studio と.NET Framework 概要
Runtime Libraries Languag es Tool.NET
Visual Studio 概要
http://download.microsoft.com/download/c/7/1/c710b336-1979-4522-921b-590edf63426b/vs2010_guidebook_pdf.zip
1. 2. 3. 4. 5.
[TestMethod] Assert.AreEqual(3, ans); http://msdn.microsoft.com/ja-jp/library/dd264975.aspx
.NET Framework 概要
.NET Framework メモリ管理セキュリティ管理等 オペレーティングオペレーティングシステムシステム
例 1: 実行場所によるセキュリティの違い Shared フォルダ ( 共有 ) Administrators ユーザー WinApp.exe 1 C: Shared WinApp.exe を実行ファイルの書き込み処理を行っても エラーは発生せず 2 127.0.0.1 Shared WinApp.exe を実行書き込み処理を行った際に アクセス権のエラーが発生
VB C# C++ 共通言語基盤 (CLI : Common Language Infrastructure) 各種ライブラリ 共通言語ランタイム (CLR : Common Language Runtime) Windows OS
リッチな UI の実現 ( アニメーションなど ) UI とロジックの分離 豊富なコンポーネント 既存資産の活用 Windows Presentation Foundation Windows Forms.NET Framework 4.5.1
HTTP Response HTTP Request ドラッグ & ドロップで画面設計 イベント駆動型プログラミング ( 例 : Button1_Click) 豊富なコントロールの活用 従来の開発のスキル活用 ASP.NET Web Forms HTML ベースの UI 開発 MVC パターンによる実装 分離により 個別に拡張やテストが可能 モバイル Web 開発 (jquery Mobile 機種ごとの表示切替など ) ASP.NET MVC HTML ベースの Web アプリ開発 最新 HTML5 / CSS3 / JavaScript に対応 インテリセンス デバッガー.NET Framework 4.5.1 HTML5
http://example.com/api/employee/10151/ public class ValuesController : ApiController { public IEnumerable<string> Get() { return new string[] { "value1", "value2" }; } public string Get(int id) { return value ; // api/value/5 } public void Post ([FromBody] string value) { }
.NET Framework の 仕組み
VB C# アセンブリ (.exe /.dll) アセンブリの中身 MSIL ( 中間言語 ) メタデータ リソース
セキュリティポリシーなどの確認 2 回目以降の実行は コンパイル済のネイティブコードを再利用 共通言語ランタイム アセンブリ (.exe /.dll) JIT (Just-In-Time) コンパイラ ネイティブコード 自動メモリ管理 ( ガベージコレクション ) セキュリティ 例外管理 型チェック メモリ操作などの確認 実行環境に最適化
3.5 4.5.1 3.0 4.0 *3 4.5 1.0 1.1 2.0 *3 1.0 1.1 2.0 4.0 4.5 4.5.1 2002 2003 2005 2008 2013 2012 2010
参考資料 : 情報リソース
http://www.microsoft.com/visualstudio/jpn/ http://www.microsoft.com/visualstudio/jpn/products/compare http://msdn.microsoft.com/ja-jp/library/dd831853.aspx
http://www.microsoft.com/ja-jp/dev/2012/showcase.aspx
参考資料 : Visual Studio 製品紹介
アプリケーション開発 コードレベルの品質確保 ( 単体テストなど ) テストの網羅性 / 効率化 (UI テスト スタブ生成 カバレッジなど ) 包括的な品質の管理 要件の洗練 ( ペーパープロトタイピング / フィードバック収集など ) エンジニア個別にテストを実施 管理者を中心としたテスト バグ管理 ヒアリングベース 非機能要件の確保 アーキテクチャの整合性 運用に近い環境を構築した実機テスト アーキテクチャの理解 / アーキテクトによるレビュー
新機能 Ultimate Premium Pro Test Pro TFS
Ultimate Premium Pro Test Pro TFS
Ultimate Premium Pro Test Pro TFS
Ultimate Premium Pro Test Pro TFS
Team Foundation Server 将来必要となる製品 Windows XP Windows 8 SQL Server 2012 Windows Server 2012 Visual Studio 2012 Visual Studio with MSDN
参考資料 : アプリケーション ライフサイクル管理
価値 時間
価値 時間
デザイン配布検証フィードバック
包括的なテストの実施テスト専用ツールによる効率的なテストの計画 実行 管理 非機能要件の確認負荷テストの実施パフォーマンス分析 単体テストの実行と自動化単体テスト コードカバレッジ UI の自動テスト コードレベルの品質保証コード解析 ( セキュリティチェック等 ) コードレビューのプロセス化
参考資料 : ( 本日ご説明できなかったその他の 機能 )
1. 1. 2. 3.
No 説明 1 [ ビルド後にテストを実行 ] のチェックボックスをオンの状態にすると ビルド終了後にバックグラウンドでテストが実施される ( Ultimate のみ ) 2 テスト結果をグループ化 ( テストの結果 / 経過時間 ) 3 このリンクをクリックすると テストをすべて実行する 4 特定のテストを実施する 5 テストを特定の文字で検索 / 特定の条件で抽出する 6 テスト結果を一覧表示する 7 特定のテスト結果の詳細を表示する
using System; using Microsoft.VisualStudio.TestTools.UnitTesting; using Common; namespace CommonTest { [TestClass] public class CommonUnitTest { [TestMethod] public void BasicTest() { xxxxxx // テストコード } } } C# Imports System.Text Imports Microsoft.VisualStudio.TestTools.UnitTesting Imports CommonVB <TestClass()> Public Class CommonTest <TestMethod()> Public Sub BasicTest() xxxxxx テストコード End Sub End Class VB
http://msdn.microsoft.com/ja-jp/library/ms182530.aspx
[TestMethod] [ExpectedException(typeof(ApplicationException))] public void ExceptionDemoTest() { Class s = new Class1(); c.exceptiondemo(); // 上記の呼び出しで例外が発生せず // テストメソッドが終了したら // テスト失敗 } <TestMethod()> <ExpectedException(GetType(ApplicationException ))> Public Sub ExceptionDemoTest() Dim c As Class1 = new Class1() c.exceptiondemo(); 上記の呼び出しで例外が発生せず テストメソッドが終了したら テスト失敗 End Sub C# VB
Team Foundation Server
http://msdn.microsoft.com/ja-jp/library/dd380742.aspx http://msdn.microsoft.com/ja-jp/library/dd286726.aspx
Using s = ShimsContext.Create() System.Fakes.ShimDateTime.NowGet = _ Function() As DateTime Return New DateTime(fixedYear, 1, 1) End Function Y2KChecker.Check() End Using VB using (ShimsContext.Create()) { System.Fakes.ShimDateTime.NowGet = () => { return new DateTime(2000, 1, 1); }; } Y2KChecker.Check(); C# http://msdn.microsoft.com/ja-jp/library/hh549175.aspx
監視 アプリケーションハイブリッド ( セルフも可能 ) System Center Virtual Machine Manager Windows Linux 既存 VMware 新規 Hyper-V パブリッククラウドリソースプール プロセス自動化 ハードウェア 仮想化基盤 ハードウェア
Team Foundation Server