規劃基本 ASP.NET 應用程序

發表于:2008-04-03來源:作者:點擊數: 標簽:應用程序
摘要 :了解如何規劃和設計 ASP.NET 應用程序。本文以一個知識庫 Web 應用程序為例,討論實際應用程序創建實踐中最常見的幾個因素。(本文包含一些指向英文站點的鏈接。) 使用Visual Studio .NET 創建基于 Web 的 ASP.NET 應用程序的第一步是制定基本的應用
摘要:了解如何規劃和設計 ASP.NET 應用程序。本文以一個知識庫 Web 應用程序為例,討論實際應用程序創建實踐中最常見的幾個因素。(本文包含一些指向英文站點的鏈接。)

  使用Visual Studio .NET 創建基于 Web 的 ASP.NET 應用程序的第一步是制定基本的應用程序規劃 (AP)。制定規劃不僅對于由多個開發人員建立的大型解決方案而言是必不可少的,而且即使對于最小的應用程序,一個完善的 AP 也是非常重要的。創建 AP 有助于您在開始編碼“之前”就能仔細考慮一些常見問題。這樣,您可以在應用程序生命周期的早期便完全了解挑戰和解決方案,而不是在完全陷入窘境之后才發現問題。在《Software Project Survival Guide》一書中,作者 Steve McConnell 指出:在軟件項目后期糾正錯誤所花的成本與在早期階段發現并糾正這些錯誤所花的成本相比,前者可能是后者的 50 - 200 倍。

  一個完善的項目規劃包含哪些內容?可以包含許多內容,但最基本的是要包含目標聲明和一系列用戶方案。還有其他很多有用的資料,包括需求文檔、編碼標準、交付進度、測試過程等。對于我們要建立的簡單示例解決方案,將主要介紹簡單的應用程序聲明和一些用戶方案。同時還將解決一些其他問題。

  應用程序聲明

  此系列文章要建立的項目(稱為 DotNetKB)是一個簡單的知識庫 Web 站點,在這個站點中,用戶可以提各種問題,并可以得到授權“專家”的回答。這樣,以后訪問者在查找常見 ASP.NET 問題的解決方案時,可以對得到的結果數據進行搜索和過濾。

  這是對我們的 DotNetKB 項目的一個基本目標聲明。DotNetKB 是一個基于 Web 的應用程序,它可以列出訪問者提出的一系列問題,并顯示授權專家對這些問題作出的回復。訪問者可以向系統添加新問題,并可以按照問題的主題、問題和/或回答中的關鍵字來搜索和過濾這些問題。訪問者還可以按主題或按添加到系統中的日期來對問題列表進行排序。

  授權專家可以登錄到應用程序中已設置安全機制的部分,審閱問題,添加、編輯和刪除對一個問題的一個或多個回答。應用程序管理員還可以建立專家登錄權限和登錄配置文件,以及添加、編輯和刪除問題主題。

  此外,還提供了一些基本統計信息,包括系統中問題和回答的數量,以及每個專家的回復數量和至今已被訪問的頁面數量。

  正如您從上面的聲明中看到的那樣,該解決方案非常簡單。在閱讀目標聲明時,您可能會開始考慮可以添加到這個應用程序的許多其他功能,以使應用程序更加強大。這說明了項目目標聲明的一個主要依據,即避免“功能蔓延”。我們都清楚,如果更改最終結果本來基于的概念,簡單的想法將導致非常龐大且歪曲的結果。有句老格言:“如果不知道要去往何方,你可能會在某個地方停下來”,它原本揭示的是夏季公路旅行,其道理同樣可用于軟件項目。

  一些項目的目標聲明中可能需要包含更多的信息。而對于我們的使用,上面的目標聲明就符合要求?,F在我們對于要完成的應用程序有了一個清晰的認識,接下來需要一些詳細的信息來描述用戶如何與系統交互以及用戶需要執行哪些任務來完成目標。我們需要一系列用戶方案。

  文檔化用戶方案

  用戶方案沒有什么令人驚異之處。通常,它們只是描述用戶如何與應用程序交互。用戶方案的關鍵價值在于記錄了關于每個人對用戶希望系統如何運行以及應用程序應如何響應的設想。通過完成這個過程,您將可以完全了解處理各種用戶與系統的交互時所需的數據點和函數。換句話說,編寫完善的用戶方案將有助于您確定完成解決方案需要實現的數據庫、中間件和用戶界面元素。

  注意:Visual Studio .NET Enterprise Architect 有一項非常不錯的功能,即允許您使用 Microsoft Visio? 通過 UML(統一建模語言)創建用戶方案,然后生成這些方案的基本代碼。在這里,我不打算深入探討這些細節,但是您可以在 MSDN? Academic Alliance 站點找到一篇關于這一主題的好文章《Generating .NET Code Using Visio Enterprise Architect's UML》,作者是 Sreedhar Koganti。有了上一節的目標聲明后,下面是 DotNetKB 項目的幾個示例用戶方案。

  搜索知識庫

  匿名用戶可以輸入一個或多個關鍵字并執行搜索,搜索將返回包含這些關鍵字的問題和/或回答列表。用戶可以將關鍵字搜索鎖定在僅搜索問題、僅搜索回答或者二者都搜索。返回的列表將顯示問題及其回復數和被其他用戶訪問的次數。單擊鏈接將返回以時間先后逆序排列的回復(純文本)列表。

  將新問題輸入到知識庫中

  匿名用戶可以瀏覽用于向數據庫輸入新問題以供授權專家審閱和回復的屏幕。用戶可以輸入問題的標題和內容,并可以選擇在一系列主題中的某個主題下記錄該問題。用戶還可以輸入他們的名字和相關的 URL(電子郵件、Web 地址等)。輸入將被驗證,以確保包含必需的數據并確保所有輸入數據不會受到腳本攻擊等。一旦數據經過驗證并被保存到數據庫中,用戶將看到一個響應屏幕,感謝用戶的支持并將用戶直接連接到主頁。此外,用戶還可以選擇讓該站點“記住”他們的姓名和 URL 以備以后訪問該站點時使用。

  您已經了解它的工作原理了,對嗎?每一個方案都嘗試細化用戶交互的重要方面。例如,上面列出的兩個方案表明用戶為“anonymous”(匿名用戶),這表示這類用戶不需要登錄或進行其他方式的授權。第二個示例還標識了若干輸入值、驗證步驟和可選操作。

  當然,這只是兩個示例;完整的系統需要更多的方案。此外,需要特別注意的是,“用戶”不僅僅可以是人,也可以是您的程序需要與其通信的其他應用程序,甚至還可以是您的應用程序的其他部分。例如,一個方案描述主頁如何列出最近添加到知識庫中的內容,以供任何人查看。此例中的“用戶”將是主頁自身。還有一些方案描述專家如何查找和回復新問題以及管理員如何更新主題列表并管理系統的其他部分。我已為討論這個簡單的應用程序標識了 20 多種方案。您可以在 DotNetKB 中找到當前列表(以及與此項目相關的所有其他資料)。

  至此我們就有了目標聲明和一些用戶方案?,F在,是時候稍憩一下,然后學學一些技術了。我們需要定義應用程序體系結構,這可以幫助我們以“鮮活有效的代碼”實際實現方案。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97