天天看點

SRS文檔

1什麼是用例?

      在介始用例方法之前,我們首先來看一下傳統的需求表述方式-"軟體需求規約"(Software Requirement Specification)。傳統的軟體需求規約基本上采用的是功能分解的方式來描述系統功能,在這種表述方式中,系統功能被分解到各個系統功能子產品中,我們通過描述細分的系統子產品的功能來達到描述整個系統功能的目的。一個典型的軟體需求規約可能具有以下形式:

SRS文檔

     采用這種方法來描述系統需求,非常容易混淆需求和設計的界限,這樣的表述實際上已經包含了部分的設計在内。由此常常導緻這樣的迷惑:系統需求應該詳細到何種程度?一個極端就是需求可以詳細到概要設計,因為這樣的需求表述既包含了外部需求也包含了内部設計。在有些公司的開發流程中,這種需求被稱為"内部需求",而對應于使用者的原始要求則被稱之為"外部需求"。

      功能分解方法的另一個缺點是這種方法分割了各項系統功能的應用環境,從各項功能項入手,你很難了解到這些功能項是如何互相關聯來實作一個完成的系統服務的。是以在傳統的SRS文檔中,我們往往需要另外一些章節來描述系統的整體結構及各部分之間的互相關聯,這些内容使得SRS需求更象是一個設計文檔。

1.1 參與者和用例

      從使用者的角度來看,他們并不想了解系統的内部結構和設計,他們所關心的是系統所能提供的服務,也就是被開發出來的系統将是如何被使用的,這就用例方法的基本思想。用例模型主要由以下模型元素構成:

參與者(Actor) 

參與者是指存在于被定義系統外部并與該系統發生互動的人或其他系統,他們代表的是系統的使用者或使用環境。

針對我們的此次項目分析:

管理者:

          輸入資料

          對使用者進行分類

          輸出資料

用例(Use Case) 

用例用于表示系統所提供的服務,它定義了系統是如何被參與者所使用的,它描述的是參與者為了使用系統所提供的某一完整功能而與系統之間發生的一段對話。

       管理者對教室的管理,根據教室的課程表的情況對資料庫中的資訊進行插入、删除、更新操作。

       使用者可以在注冊界面進行注冊或登入界面查找某天某個時間段空閑教室的情況。

通訊關聯(Communication Association) 

通訊關聯用于表示參與者和用例之間的對應關系,它表示參與者使用了系統中的哪些服務(用例),或者說系統所提供的服務(用例)是被哪些參與者所使用的。

       此項目為參與者提供查找空教室的相關資訊,使用者登入輸入查找的資訊管理者會通過使用者所輸入的資訊把相關的資料輸出到界面

1.2用例方法的優點

      用例方法完全是站在使用者的角度上(從系統的外部)來描述系統的功能的。在用例方法中,我們把被定義系統看作是一個黑箱,我們并不關心系統内部是如何完成它所提供的功能的。用例方法首先描述了被定義系統有哪些外部使用者(抽象成為Actor),這些使用者與被定義系統發生互動;針對每一參與者,用例方法又描述了系統為這些參與者提供了什麼樣的服務(抽象成為Use Case),或者說系統是如何被這些參與者使用的。是以從用例圖中,我們可以得到對于被定義系統的一個總體印象。

      與傳統的功能分解方式相比,用例方法完全是從外部來定義系統的功能,它把需求與設計完全分離開來。在面向對象的分析設計方法中,用例模型主要用于表述系統的功能性需求,系統的設計主要由對象模型來記錄表述。另外,用例定義了系統功能的使用環境與上下文,每一個用例描述的是一個完整的系統服務。用例方法比傳統的SRS更易于被使用者所了解,它可以作為開發人員和使用者之間針對系統需求進行溝通的一個有效手段。

      在RUP中,用例被作為整個軟體開發流程的基礎,很多類型的開發活動都把用例作為一個主要的輸入工件(Artifact),如項目管理、分析設計、測試等。根據用例來對目标系統進行測試,可以根據用例中所描述的環境和上下文來完整地測試一個系統服務,可以根據用例的各個場景(Scenario)來設計測試用例,完全地測試用例的各種場景可以保證測試的完備性。

2系統概述

    搜尋引擎是根據使用者的查詢請求,按照一定算法從索引資料中查找資訊傳回給使用者。為了保證使用者查找資訊的精度和新鮮度,搜尋引擎需要建立并維護一個龐大的索引資料庫。一般的搜尋引擎由網絡機器人程式、索引與搜尋程式、索引資料庫等部分組成。

SRS文檔

系統結構圖

3搜尋引擎的構成

2.1網絡機器人

    網絡機器人也稱為“網絡蜘蛛”(Spider),是一個功能很強的WEB掃描程式。它可以在掃描WEB頁面的同時檢索其内的超連結并加入掃描隊列等待以後掃描。因為WEB中廣泛使用超連結,是以一個Spider程式理論上可以通路整個WEB頁面。

    為了保證網絡機器人周遊資訊的廣度和深度需要設定一些重要的連結并制定相關的掃描政策。

2.2索引與搜尋

    網絡機器人将周遊得到的頁面存放在臨時資料庫中,如果通過SQL直接查詢資訊速度将會難以忍受。為了提高檢索效率,需要建立索引,按照倒排檔案的格式存放。如果索引不及時跟新的話,使用者用搜尋引擎也不能檢索到。

    使用者輸入搜尋條件後搜尋程式将通過索引資料庫進行檢索然後把符合查詢要求的資料庫按照一定的政策進行分級排列并且傳回給使用者。

3 Web伺服器 

客戶一般通過浏覽器進行查詢,這就需要系統提供Web伺服器并且與索引資料庫進行連接配接。客戶在浏覽器中輸入查詢條件,Web伺服器接收到客戶的查詢條件後在索引資料庫中進行查詢、排列然後傳回給用戶端。

4搜尋引擎的主要名額及分析

    搜尋引擎的主要名額有響應時間、召回率、準确率、相關度等。這些名額決定了搜尋引擎的技術名額。搜尋引擎的技術名額決定了搜尋引擎的評價名額。好的搜尋引擎應該是具有較快的反應速度和高召回率、準确率的,當然這些都需要搜尋引擎技術名額來保障。

5.确定用例

   找到參與者之後,我們就可以根據參與者來确定系統的用例,主要是看各參與者需要系統提供什麼樣的服務,或者說參與者是如何使用系統的。