45
System Specifications for an Information Sharing System (ISS) Walt Scacchi ([email protected] ) GSM271/FEMBA290A Latest Revision: 22:30, 20 November 2000 Fall 2000 People roles : who uses <! -- an ISS> Processes : what do they do Inputs : what information do they put into <! -- an ISS> Outputs : what information can they get out of <! -- an ISS> System Components : what are the major software components of <! -- an ISS> Note: What follows represents a high-level view of the specifications of <! -- an ISS> system (either a Global File Sharing System or an Enterprise Portal). It does NOT specify mid- level or low-level system features or operations. Thus, this is not a complete specification of the implementation of <! -- an ISS>. As such, when examining this system specification document, if you identify any system-related items that are missing or mis- stated, please bring them to the attention of the author. 1

System-Specifications-ISS - ics.uci.eduwscacchi/SA/Analysis/Concepts/System... · Web viewWalt Scacchi ([email protected]) GSM271/FEMBA290A . Latest Revision: 22:30, 20 November

Embed Size (px)

Citation preview

System Specifications for an Information Sharing System (ISS)Walt Scacchi

([email protected])

GSM271/FEMBA290A

Latest Revision: 22:30, 20 November 2000

Fall 2000

   

People roles: who uses <! -- an ISS>

Processes: what do they do

Inputs: what information do they put into <! -- an ISS>

Outputs: what information can they get out of <! -- an ISS>

System Components: what are the major software components of <! -- an ISS>    

Note: What follows represents a high-level view of the specifications of <! -- an ISS> system (either a Global File Sharing System or an Enterprise Portal). It does NOT specify mid-level or low-level system features or operations. Thus, this is not a complete specification of the implementation of <! -- an ISS>. As such, when examining this system specification document, if you identify any system-related items that are missing or mis-stated, please bring them to the attention of the author.    

 

1

ISS Domain Variables

You can find/replace the following variables in your project, if and when appropriate, with the reuse patterns indicated here:

<! -- an ISS> -- The name of your enterprise information sharing system, global file sharing system, or enterprise portal. This system encapsulates access to vendors that provide the product from which the system is developed or used during operation. It also encapsulates any Application Service Providers (ASPs) that provide outsourced or remote application services on the basis of a licensing or fee-for-service arrangement.

<! -- Institution> -- A background community that names the enterprise in which your ISS is situated.

<! -- Sponsor> -- A background community of people who authorize, fund, promote or otherwise advocate the development and usage of an ISS.

<! -- Authors> -- People/actors who create and edit content managed by the ISS and served to End-Users.

<! -- Publishers> -- People/actors who solicit content from Authors for marketing and dissemination.

<! -- End-Users> -- People/actors who are the main users of the ISS on a regular basis.

<! -- ISS System Development Staff> -- People/actors who develop an ISS for an enterprise with the support of one/more Sponsors.

<! -- Asynchronous messaging system> -- A "connection-less" system for transmitting messages (or message content) from one person/system to one/more other persons/systems, when convenience or network traffic permits. Can scale to millions of users, though most applications involve the distribution of messages to no more than a few dozen people.

<! -- Synchronous messaging system> -- A "connection-oriented" system for on-demand transmitting messages (or message content) from one person/system to one/more other persons/systems. Also employed in "peer-to-peer" applications like those for global file sharing (e.g., Napster, Gnutella, FreeNet).

 

 

 

2

People (stakeholders, actors, agents/ etc.) roles for <! -- an ISS>

Guidelines/Notes:

-- Identify roles as named objects (in boldface) and organize roles in a hierarchical abstraction.

-- Provide a brief narrative description of what people do in each role.

-- Identify concerns/issues for people in each role.

 

 

 

3

<! -- Institution>: One or more institutions (e.g., a business enterprise, a government agency, a university) provides the overall enterprise setting and workplace associated with the development, use, and evolution of <! -- an ISS>. The <! -- Sponsor> serves as the Executive that has committed resources to support <! -- an ISS> and to encourage its routine usage among the other people at the <! -- Institution>.

Concern: The institution operates either as a for-profit or non-profit enterprise. The institution seeks to offer products or services consistent with its mission and strategic objectives, while at the same time adhering to all applicable laws and community values. The institution may disconnect, terminate, or disassociate itself from activities or operations found to be in conflict with its mission, objectives, applicable laws and community values.

 

4

<! -- End-Users>:

Download authored content and other <! -- Institution> event information from <! -- an ISS>

Create and upload (asynchronous or synchronous) messages and (user) information

Concerns:

<! -- End-Users> are encouraged by <! -- Sponsor> to use <! -- an ISS> to download content, communicate and discuss content with other <! -- End-Users> and <! -- Authors> as a way to learn more about the content. End-users may include other users previously affiliated with the <! -- Institution>, such as "alumni".

 

5

<! -- Authors>:

Create content for course(s), then send it to <! -- Publishers>> for edit and upload into <! -- an ISS>

Create content for course(s), then upload it into <! -- an ISS>

Download existing content for course(s) from <! -- an ISS>, edit it, then upload edited content back into <! -- an ISS>

Concerns:

<! -- Authors> are encouraged by <! -- Sponsor> to use <! -- an ISS> to create, upload, edit and download content for <! -- Institution> courses.

 

6

<! -- Sponsor>:

Promote usage of <! -- an ISS> by <! -- Authors>, <! -- End-Users>, <! -- Publishers>.

Create/edit content guidelines for <! -- Authors> or <! -- End-Users>

Concerns:

Fund the development, usage and maintenance of <! -- an ISS> at <! -- Institution>.

Delegate responsibility to manage <! -- an ISS> operations to <! -- Institution> <! -- IS development staff>.

Promote the existence and capabilities of <! -- an ISS> to other institutions and users to bring more recognition, funding, and end-users to <! -- Institution>.

 

7

<! -- Publishers>:

Receive content from <! -- Authors> (via email, fax or paper), edit if needed, then upload content into <! -- an ISS>

Check content to see if minimum content object(s) has been entered.

Concern: Assist <! -- Authors> in getting content into <! -- an ISS>

 

8

<! -- IS System Development Staff>:

Develop, operate and maintain the <! -- an ISS> system hardware, software and (data) network services. Develop, operate and maintain the logical and physical data models and repository that organize, store and retrieve content as part of <! -- an ISS>.

Concerns:

Organize and provide centralized IS support and online content management services for all <! -- an ISS> users.

Help <! -- Authors>, <! -- End-Users>, <! -- Publishers> and <! -- Sponsor> in their use of <! -- an ISS> and its components.

 

 

9

<! -- an ISS> Role Hierarchy

10

Processes for <! -- an ISS>

Guidelines/Notes (Updated 19 November 2000):

Insert information for your project between the <tags> associated with each item

Identify processes as named objects (in boldface) and organize processes in a hierarchical abstraction.

<Process-Identifier> </Process-Identifier>

Provide a brief narrative description of how the process is performed.

<Narrative> </Narrative>

Name of the person who created the first/original version of the process specification

<Author> </Author>

A timestamp in the form, year/month/day/hour/minute (e.g., 2000/11/19/21:00), to designate when the process specification was last updated.

<Version> </Version>

Name of the person who last created or modified the version of the process specification associated with the timestamp value.

<Last-Modified-By> </Last-Modified-By>

Identify the People roles associated with the Process

<People-Roles> </People-Roles>

Identify the Objects (using name of object class) that are manipulated by the Process

Input Objects <Input-Objects> </Input-Objects>

Output Objects <Output-Objects> </Output-Objects>

Specify the Process in steps that associate what People perform what actions (relations/verbs) on what Objects using what System Components.

Describe the Normal scenarios.

Check for and handle Exception scenarios.

Check for Errors as the first step in a process.

<Process> </Process>

Identify the System Components that support the Process

<Process-System-Components> </Process-System-Components>

11

A generic specification process template follows on the next page. Copy and reuse (specialize--fill in the blanks) it for each specification process in your project.

 

 

System Process Specification Template: Copy and reuse as needed; then insert your project-specific information between the beginning <tag> and ending </tag>.

(Updated: 19 November 2000)

 

<Process-Identifier> </Process-Identifier>

<Narrative> </Narrative>

<Author> </Author>

<Version> </Version>

<Last-Modified-By> </Last-Modified-By>

<People-Roles> </People-Roles>

<Input-Objects> </Input-Objects>

<Output-Objects> </Output-Objects>

<Process> </Process>

<Process-System-Components> </Process-System-Components>

 

 

 

 

 

 

 

12

System Specification of the following Processes

Use <! -- an ISS> to Manage <! -- Institution> Content

Create Content, Edit and Upload it into <! -- an ISS>

Edit, Upload and Check Content for <! -- Authors>

Download Content for Examination or Review

Upload messages or personal information

Do Email

Do User Messaging

Access other Web Content via <!-- an ISS>

Manage <! -- an ISS> Content

Develop and Test <! -- an ISS>

 

 

13

<Process_Identifier>

Use <! -- an ISS> to Manage <! -- Institution> Content

</Process-Identifier>

<Narrative>

<! -- Institution> <! -- End-Users>, <! -- Authors>, <! -- Publishers>, and <! -- IS development staff> use <! -- an ISS> to access, browse/download, edit/update content associated with <! -- Institution> courses.

</Narrative>

<Author>Walt Scacchi</Author>

<Version>2000/11/19/22:00</Version>

<Last-Modified-By>Walt Scacchi</Last-Modified-By>

<People-Roles>

<! -- Institution>, <! -- End-Users>, <! -- Authors>, <! -- Publishers>, and <! -- IS development staff>, <! -- Sponsor>

</People-Roles>

<Input-Objects>

content objects

</Input-Objects>

<Output-Objects>

views (copies) of content objects

</Output-Objects>

<Process>

All users (people) use <! -- an ISS> to organize, store and retrieve content object types approved by users and implemented by <! -- IS Development Staff>

(Exception): Only users who are authorized to access (login) to <! -- an ISS> can access or manage its contents

User error: Users identities (at login) that are not recognized or authorized do not get to access content managed by <! -- an ISS>

14

System error: If <! -- an ISS> server is not available, authorized users cannot access its content

</Process>

 

<Process-System-Components>

All <! -- an ISS> system components in operation.

</Process-System-Components>

Return to System Process Specifications

 

15

<Process_Identifier>

Create Content, Edit and Upload it into <! -- an ISS>

</Process_Identifier>

<Narrative>

<! -- Authors> create high-quality content that they edit/upload into <! -- an ISS> for access by <! -- End-Users> or others at <! -- Institution>.

</Narrative>

<Author>Walt Scacchi</Author>

<Version>2000/11/19/22:00</Version>

<Last-Modified-By>Walt Scacchi</Last-Modified-By>

<People-Roles>

<! -- Authors>

</People-Roles>

<Input-Objects>

content objects

</Input-Objects>

<Output-Objects>

views (copies) of content objects

</Output-Objects>

<Process>

<! -- Authors> create (insert) new content into content representation (created by <! -- IS Development Staff>) or edit (update) existing content already created by an <! -- Authors>.

<! -- Authors> can transmit the content they create to <! -- Publishers> for edit and upload into <! -- an ISS>, else <! -- Authors> upload their content into <! -- an ISS>

<! -- Authors>/staff can only upload one type of content at a time into <! -- an ISS>

(Exception) <! -- an ISS> will allow existing content to be copied from one content object to another without upload.

16

<! -- Authors> can only edit (update) content they have individually created

(Exception) <! -- Authors> may copy and paste content created by other <! -- Authors> from one part of <! -- an ISS> into their content.

User error: <! -- an ISS> cannot verify if content uploaded is correct. User is responsible for correctness of content

System error: <! -- an ISS> will not allow content edit/upload if the <! -- an ISS> DBMS is not available.

</Process>

<Process-System-Components>

<! -- Authors> can select any tools available to them to create content. <! -- Authors> can edit content entered and stored within a Database Management System or Network File Server incorporated within <! -- an ISS> via an Input Object content form accessed with a Web (client) Browser, by directly editing the content in the form.

</Process-System-Components>

Return to System Process Specifications

17

<Process-Identifier>

Edit, Upload and Check Content for <! -- Authors>

</Process-Identifier>

<Narrative>

<! -- Publishers> edit and upload content that <! -- Authors> have created and forwarded to them to post in <! -- an ISS>.

</Narrative>

<Author>Walt Scacchi</Author>

<Version>2000/11/19/22:00</Version>

<Last-Modified-By>Walt Scacchi</Last-Modified-By>

<People-Roles>

<! -- Publishers>, <! -- Authors>

</People-Roles>

<Input-Objects>

content objects

</Input-Objects>

<Output-Objects>

views (copies) of content objects

</Output-Objects>

<Process>

<! -- Authors> can transmit the content they create to <! -- Publishers> for edit and upload into <! -- an ISS>

<! -- Publishers> can upload one type of content at a time into <! -- an ISS>

(Exception) <! -- an ISS> will allow existing content to be copied from one content object to another without upload.

User error: <! -- an ISS> cannot verify if content uploaded is correct. Users are responsible for correctness of content

System error: <! -- an ISS> will not allow content edit/upload if the <! -- an ISS> DBMS

18

is not available

</Process>

<Process-System-Components>

<! -- Publishers> can select any tools available to them to edit content created by <! -- Authors>. <! -- Publishers> can edit content entered and stored within a Database Management System or Network File Server incorporated within <! -- an ISS> via an Input Object content form accessed with a Web (client) Browser, by directly editing the content in the form.

</Process-System-Components>

Return to System Process Specifications

19

<Process-Identifier>

Download Content for Examination or Review

</Process-Identifier>

<Narrative>

<! -- End-Users>, <! -- Publishers>>, and <! -- Authors> regularly browse/download content for courses posted in <! -- an ISS>. The <! -- Sponsor> and <! -- IS development staff> may less frequently download content from <! -- an ISS>.

</Narrative>

<Author>Walt Scacchi</Author>

<Version>2000/11/19/22:00</Version>

<Last-Modified-By>Walt Scacchi</Last-Modified-By>

<People-Roles>

<! -- End-Users>, <! -- Publishers>, <! -- Authors>, <! -- Sponsor> and <! -- IS development staff>

</People-Roles>

<Input-Objects>

Content navigation selection commands (e.g., mouse clicks on hyperlinked content, pull-down menu item selection, check box selection)

</Input-Objects>

<Output-Objects>

views (copies) of selected content objects

</Output-Objects>

<Process>

Users (<! -- Authors> and <! -- End-users>) can search and download course content:

for content <! -- Authors> have created; or

for messages or personal info. entered by <! -- End-users>; or

(Exception) from content designated for sharing by all <! -- Authors> (content and linked materials)

20

User error: <! -- an ISS> will not allow access to content except as allowed by <! -- Sponsor> policy

System error: <! -- an ISS> will not allow search or download of <! -- an ISS> content if the <! -- an ISS> DBMS is unavailable.

</Process>

<Process-System-Components>

Web (client) Browser, <! -- an ISS> Web server, Database Management System, Network File Server.

</Process-System-Components>

Return to System Process Specifications

21

<Process-Identifier>

Upload messages or personal information

</Process-Identifier>

<Narrative>

<! -- End-Users> are encouraged to upload/post messages using <! -- Asynchronous messaging system> or <! -- Synchronous messaging system> that can be browsed/downloaded by other users of <! -- an ISS>. <! -- Authors> may also upload personal information for storage within and dissemination from <! -- an ISS>.

</Narrative>

<Author>Walt Scacchi</Author>

<Version>2000/11/19/22:00</Version>

<Last-Modified-By>Walt Scacchi</Last-Modified-By>

<People-Roles>

<! -- End-Users>, <! -- Authors>

</People-Roles>

<Input-Objects>

Messages (text), file attachments, input submission selection commands (e.g., mouse clicks on button)

</Input-Objects>

<Output-Objects>

views (copies) of message content, file attachments in client display

</Output-Objects>

<Process>

<! -- End-users> can download, update, then upload personal information for sharing with other users.

<! -- End-users> (end-users) can upload messages for sharing with other <! -- End-users> at any time.

(Exception): <! -- End-users> can send and receive messages from other <! -- End-users> via <! -- an ISS>, without uploading these messages into <! -- an

22

ISS>

User error: <! -- an ISS> cannot verify if content uploaded is correct in any sense. User is responsible for correctness of content

System error: <! -- an ISS> will not allow content edit/upload if the <! -- an ISS> DBMS is not available

</Process>

<Process-System-Components>

Separate or embedded <! -- Asynchronous messaging system>, <! -- Synchronous messaging system> client (peer).

</Process-System-Components>

Return to System Process Specifications

23

<Process-Identifier>

Do Email

</Process-Identifier>

<Narrative>

All users can send and receive Email content and file attachments, either from within or external to <! -- an ISS>.

</Narrative>

<Author>Walt Scacchi</Author>

<Version>2000/11/19/22:00</Version>

<Last-Modified-By>Walt Scacchi</Last-Modified-By>

<People-Roles>

<! -- End-Users>, <! -- Publishers>, <! -- Authors>, <! -- Sponsor> and <! -- IS development staff>

</People-Roles>

<Input-Objects>

Email content, email file attachments

</Input-Objects>

<Output-Objects>

copies (views) of Email content, email file attachments

</Output-Objects>

<Process>

Any registered user can access internal or external email systems via <! -- an ISS> to create, upload, download, update then upload messages for other users at any time.

<! -- an ISS> does not manage or store email messages or message services

(Exception): Users can create, upload, download, update then upload email messages via <! -- an ISS>, without uploading these messages into <! -- an ISS>.

User error: Users cannot use <! -- an ISS> to manage or keep track of personal/private email messages or message content

24

System error: An email server may fail to send or receive email messages with or without notifying email users

(Exception) Email servers will notify users if sent mail cannot be delivered

</Process>

<Process-System-Components>

An Email system external to, or accessed from within, <! -- an ISS>, and an Email client for reading, writing and sending Email content.

</Process-System-Components>

Return to System Process Specifications

25

<Process-Identifier>

Do User Messaging

</Process-Identifier>

<Narrative>

<! -- Authors> can request <! -- End-users> to engage in sending and receiving message between one another in order to conduct a shared discussion or review of some designated content topic.

</Narrative>

<Author>Walt Scacchi</Author>

<Version>2000/11/19/22:00</Version>

<Last-Modified-By>Walt Scacchi</Last-Modified-By>

<People-Roles>

<! -- End-users>, <! -- Authors>

</People-Roles>

<Input-Objects>

Messages (text), file attachments, messaging input submission selection commands (e.g., mouse clicks on button)

</Input-Objects>

<Output-Objects>

views (copies) of message content, file attachments in client display

</Output-Objects>

<Process>

<! -- Authors> can request <! -- End-users> in their courses to download or upload messages via a <! -- Asynchronous Messaging System>or <! -- Synchronous Messaging System>

<! -- Authors> or <! -- End-users> can download/upload messages for sharing with other <! -- End-users> at any time.

(Exception) <! -- Authors> can remove messages from their <! -- Asynchronous Messaging System>

26

User error: Messages that are deleted from a <! -- Asynchronous Messaging System> cannot be retrieved

User error: <! -- Synchronous Messaging System> message content is usually not saved by <! -- an ISS>

System error: <! -- Asynchronous Messaging System> message content managed by the <! -- an ISS> may be lost if the <! -- an ISS> Database is not backed-up.

</Process>

<Process-System-Components>

Separate or embedded <! -- Asynchronous messaging system>, <! -- Synchronous messaging system> client (peer).

</Process-System-Components>

Return to System Process Specifications

27

<Process-Identifier>

Access other Web Content via <!-- an ISS>

</Process-Identifier>

<Narrative>

Any user of <! -- an ISS> can navigate from managed content to access any Web content object through its Web Browser.

</Narrative>

<Author>Walt Scacchi</Author>

<Version>2000/11/19/22:00</Version>

<Last-Modified-By>Walt Scacchi</Last-Modified-By>

<People-Roles>

<! -- End-Users>, <! -- Publishers>, <! -- Authors>, <! -- Sponsor> and <! -- IS development staff>

</People-Roles>

<Input-Objects>

Web Browser navigation selection commands (e.g., mouse clicks on hyperlinked content objects).

</Input-Objects>

<Output-Objects>

Views (copies) of Web content objects, Applets downloaded into Web Browser

</Output-Objects>

<Process>

<! -- Authors> can create content that contains Web hyperlinks

Any user of <! an ISS> can select hyperlinked items within the content managed by <! -- an ISS> to access objects on the Web

A selected item is downloaded into the User’s client if the Web server can retrieve the item.

(Exception) Users that select hyperlinked content will be disconnected from <! --

28

an ISS> after a certain elapsed time, unless they return to <! -- an ISS>

User error: <! -- an ISS> will not allow access to <! -- an ISS> managed content directly from the Web. Access to content within <! -- an ISS> requires a user login.

System error: <! -- an ISS> may unexpectedly terminate a user session if a user accesses Web items that attempt to upload information into <! -- an ISS>, or launch applications unknown to <! -- an ISS>.

</Process>

<Process-System-Components>

Web (client) Browser, (Optional: Browser plug-ins and Helper applications), <! -- an ISS> Web server

</Process-System-Components>

Return to System Process Specifications

29

<Process-Identifier>

Manage <! -- an ISS> Content

</Process-Identifier>

<Narrative>

<! -- IS Development Staff> create, test, and modify (i.e., insert, update, delete) logical data models and physical data storage representations (e.g., Database schemas specified in SQL. Files and directories for organizing content stored in a networked file server) that other users employ to insert, update, delete, select or browse content of interest.

</Narrative>

<Author>Walt Scacchi</Author>

<Version>2000/11/19/22:00</Version>

<Last-Modified-By>Walt Scacchi</Last-Modified-By>

<People-Roles>

<! -- IS Development Staff>

</People-Roles>

<Input-Objects>

logical data models, physical data storage representations, repository source code, Web Server servlets (e.g., CGI programs or scripts), content test cases, and updates to same.

</Input-Objects>

<Output-Objects>

versions of <! -- an ISS> content repository suitable for either further development, testing, production, or archiving; also result displays from content test cases or repository error messages.

</Output-Objects>

<Process>

<! -- IS System Developers> create the representations, relations, and system components that provide users access to content managed by <! -- an ISS>.

<! -- an ISS> is used to organize, store, query, retrieve or update content that is managed by <! -- an ISS>

30

<! -- an ISS> uses a (relational) database management system to organize, query, retrieve or update content that is stored in its database

(Exception) <! -- an ISS> stores data that identifies content, and controls access to content, stored as files in a networked file server, or as Web-based content accessed via the Web.

User error: <! -- an ISS> cannot be used to store arbitrary files for end-users.

System error: <! -- an ISS> cannot control updates to external content accessed via the Web.

</Process>

<Process-System-Components>

<! -- an ISS> content repository, including a Database Management System, Network File Server, and Web Server.

</Process-System-Components>

Return to System Process Specifications

31

<Process-Identifier>

Develop and Test <! -- an ISS>

</Process-Identifier>

<Narrative>

The <! -- an ISS> <! -- IS development staff> are responsible for developing, testing, and investigating reports of system anomalies from users of <! -- an ISS> at <! -- Institution>.

</Narrative>

<Author>Walt Scacchi</Author>

<Version>2000/11/19/22:00</Version>

<Last-Modified-By>Walt Scacchi</Last-Modified-By>

<People-Roles>

<! -- IS Development Staff>

</People-Roles>

<Input-Objects>

logical data models, physical data storage representations, <! -- an ISS> application and repository source code, Web Server servlets (e.g., CGI programs or scripts), content test cases, Browser client Applets, and updates to same.

</Input-Objects>

<Output-Objects>

versions of all <! -- an ISS> system components suitable for either further development, testing, production, or archiving; also result displays from content test cases or repository error messages.

</Output-Objects>

<Process>

<! -- IS System Developers> create the representations that other users utilize to create, insert, update or delete their content.

<! -- IS System Developers> create, insert, update and delete content stored in <! -- an ISS> representations to test its proper operations

(Exception) <! -- IS System Developers> cannot guarantee that all functions

32

supported by <! -- an ISS> have been tested.

(Exception) <! -- IS System Developers> cannot guarantee that all functions supported by <! -- an ISS> are re-tested every time any <! -- an ISS> function or operation is modified (updated).

User error: <! -- IS System Developers> expect that users will notify them if users encounter anomalies in <! -- an ISS> usage.

System error: <! -- an ISS> system components may fail to operate correctly even though they have been tested.

</Process>

<Process-System-Components>

Development, test, operational and archived versions of all <! -- an ISS> system components; also all system development and testing tools available to the <! -- IS Development Staff>.

</Process-System-Components>

Return to System Process Specifications

 

 

33

ISS Process Hierarchy

34

Inputs for <! -- an ISS>

Guidelines/Notes:

-- Identify type of Input as named objects (in boldface)

-- There are many types and kinds of information content managed by <! -- an ISS>. I identify those Inputs/Outputs that I have created, used, or seen. Subsequently, there may be other Inputs/Outputs for <! -- an ISS> that are unknown or unfamiliar to me, so let me know .

Learning Resources -- Syllabi, Case Studies, Research Papers, Business Plans, Exam Questions and Answers, and other kinds of learning content.

Career Resources -- Applications for advanced education programs, scheduled meetings with industry executives, etc.

Resources for Sale -- Physical resources that people can negotiate the price, sell and buy.

Enterprise-specific resources -- Physical or informational objects/services (e.g., radiological images) that can be collected and managed by <! -- an ISS>.

Messages -- <! -- End-Users> and <! -- Authors> can engage in asynchronous or synchronous communication through <! -- an ISS>. Asynchronous messaging is supported through a service called, <! -- Asynchronous messaging system>. The <! -- Asynchronous messaging system> supports the upload, posting, and download/browsing of messages in the order they are received, along message threads. Synchronous messaging is supported through a <! -- Synchronous messaging system> service similar to Internet Relay Chat.

<! -- End-User> personal information -- <! -- End-Users> can enter and update a designated set of personal information about them (e.g., enrollments, phone number, URL hyperlinks to personal Web pages) that is managed by <! -- an ISS>. Items like personal web pages or work-related web pages are not stored within <! -- an ISS>, but can be accessed on the Web via <! -- an ISS>.

User navigation commands -- Users navigate through by selecting (e.g., "mouse-clicking") items visible as hyperlinks or pull-down selection menus displayed in client program's user interface.

<! -- ISS System Development Staff>-only inputs -- <! -- an ISS> developers can enter information that create, insert, update or delete schemas or content from the <! -- an ISS> Repository, or its internal database. Similarly, they can create, insert, update or delete data entry forms (described in HTML or XML), data presentation displays (using one or more of Active Server Pages (ASP), HTML, XML, Javascript, etc.) visible through a client program user interface, or downloadable application programs ("applets"). Last, developers also input, upload and install application programs (e.g., Common Gateway Interface/CGI programs ("servlets") on the Apache Web server, SQL programs on the Repository database management system, and Java applets that are downloaded to a user

35

client from the Web server on demand).

Any constraints ("pre-conditions") or business rules that specify or limit the range of acceptable or exceptional values of an object's attribute(s) before being accepted as input to a process or process step.

 

36

Outputs for <! -- an ISS>

Guidelines/Notes:

-- Identify types of Output as named objects (in boldface)

View or copies of any Input object is generally available to users as Outputs, though access may be restricted by user role.

Outputs are always formatted and presented in a manner that is consistent with the look-and-feel associated with <! -- an ISS>, and its participation in reinforcing the <! -- Institution> brand.

Any constraints ("post-conditions") or business rules that specify or limit the range of acceptable or exceptional values of an object's attribute(s) that may be exported to another program after processing.

Client program invocations -- <! -- an ISS> can respond to a user input or navigational selection by invoking an application program on the user's computer. For example, <! -- Asynchronous messaging system>, <! -- Synchronous messaging system>, or applets can be invoked as outputs from <! -- an ISS>.

Any program invocation may fail and produce an error message or failure signal. Thus anywhere a client-side program is invoked, an system error message/signal may be produced as output. For example, if an system error is detected, the process may need to only output the error message, rather than a potentially erroneous process output, so a post-condition may be used to check/prevent this.

   

 

37

<! -- an ISS> Object Hierarchy (added 19 November 2000)

 

38

System components for <! -- an ISS>

Guidelines/Notes:

-- Identify components as named objects (in boldface) and organize in a hierarchical abstraction.

-- We will limit our attention here to the main software components of the operational system. Software tools, programs or platforms employed to support ongoing development, testing and maintenance of <! -- an ISS> are not included. Furthermore, there exists some hardware configuration that operates the <! -- an ISS> server and content repository, but those are unknown to me, at this time. User clients generally operate on a user's PC, laptop, or workstation, whether running at home, work or at UCI.

-- Optional: a brief description of each component is included.

User Clients

Web browser -- generally Internet Explorer, Version 4.0 or later (there are some known usage bugs at present in using <! -- an ISS> with either IE Version 5.0 and 5.5)

Browser plug-ins: perhaps the most common plug-in is that associated with the Adobe Acrobat .pdf file reader. When you download a Web object with a .pdf extension, it generally should invoke the Adobe Acrobat within your browser window.

External Helper Applications that are invoked by the Browser downloading of a registered MIME object type -- for example, if you access a Web object with the URL, http://www.ics.uci.edu/~wscacchi/SA/Requirements/RichPictures/Catalyst01.ppt note the object ends with a ".ppt" extension. On MS Windows-based Web Browsers, such an object triggers the browser to invoke an external program (the "helper" application) for which objects of this MIME type. "ppt" is usually registered to invoke the MS PowerPoint application, either within the browser window (when using Internet Explorer) or external to the browser (when using Netscape Navigator).

Applets: application programs that are stored on a Web server then downloaded and invoked when a user selects a content object via their client program (e.g., Web Browser) that requires the processing or results from a separate application program.

<! -- Synchronous messaging system> -- <! -- an ISS> invokes a Internet Relay Chat (IRC) type of program (e.g., operating as an applet) that provides its own window user interface, outside of the Web browser. IRC, Jabber, AIM (AOL Instant Messaging) and Yahoo Messenger are among the various text-based Chat programs that are available. Other Chat programs like those from ThePalace.com offer 2D graphics and text chat, while those from Blaxxun.com offer 3D virtual reality-based Chat capabilities.

<! -- Asynchronous messaging system> -- <! -- an ISS> allows users to select another known individual user or group identified (e.g., all <! -- End-Users> registered in a <! -- Institution> course) to send email. Once selected, <! -- an ISS> can invoke the email program registered with the Web browser as the one to launch (invoke) to subsequently send/receive email. <! -- Asynchronous messaging system> thus runs as in a separate window (aka, a "control thread"). <! -- an ISS> does not directly import or manage user email messages.

39

Content Server

A Web Server (e.g., Apache, an open source web server available for use on Windows, Unix, Linux, MacOS, and other operating systems on networked computers), replies to requests from a user client for content through <! -- an ISS> by accessing a content repository, or by accessing content external to <! -- an ISS> via the Web. <! -- Institution> <! -- IS development staff> have custom-coded common gateway interface (CGI) programs that co-operate with Apache to determine whether to access the database manager within the Content Repository. Otherwise, the request goes to the Web for accessing remote Web content (e.g., following a URL hyperlink that displays the ISBN number for a textbook that in turn retrieves a Web page from amazon.com for the selected book). When <! -- an ISS> retrieves content from the Web, it drops its connection to the user client. The user must then go back and refresh/reload the last page served by <! -- an ISS> to resume their <! -- an ISS> session. If a sufficient delay before refresh occurs, <! -- an ISS> times out the connection to the user client, and must then establish a new user session with <! -- an ISS>.

Application Servlets: these are often small application programs or Common Gateway Interface (CGI) scripts that encapsulate and invoke computational processing functions in external applications. These applications rely on servlets to provide transactions processing services between user (client) applications (e.g., Web Browser with content input forms) and the external application (e.g., a legacy DBMS application).

Local/Remote Search Engine: an application that indexes the content and location of every unique text word, graphic image, picture, sound file, digital video, etc. that is stored and managed by a local content server or accessible from the Web.

(Remote) Application Services: application services like those for merchant banking or credit card processing may be linked to servlets managed by <! -- an ISS>. The Application Service Providers (ASPs) who offer these services are responsible for their ongoing development, enhancement, operation, and overall quality.

Content Repository

Database Management System: This repository encapsulates a SQL database when the primary content for courses and information about <! -- End-Users>, <! -- Authors> and staff is kept. An ER data model describes the database schemas that define and logically structure this content.

Network File Server: Exceptional or unusual content (e.g., large software application programs used in a class that must be downloaded by <! -- End-Users>) are not necessarily stored within the database, but instead may be stored on a network file server that is visible only to the <! -- an ISS> Content Server. Thus the content repository incorporates one/more databases, and one/more file systems (not including the Web or remote networked file servers).

40

41