Open Information Sharing System Project Documentation
Version of: Spring 2003
Original Version: 6 November 2000
Domain: Information Sharing Systems
Application Domain: (enter your's here)
Domain Engineering
(I create this section on Domain Engineering, your team links it to
your project site)
ISS Development Methodology
- Iterative spiral development via collaborative
synchronization and stabilization
- Simple Overview
- Concepts, Examples, Details
- Practice, Discussion, Review
Project Management Guidelines
Schedule
- Week 1: Introduction to Enterprise Systems Analysis and
Design (50,000 foot fly-over)
- Weeks 2-3: Introduction to Enterprise Systems Requirements
(500 foot fly-over)
- Weeks 3-4: Introduction to Enterprise Systems Analysis,
Specification and Modeling
- Week 5: Introduction to Enterprise Systems Architecture
- Week 6: Project Start; The Practice of Enterprise Systems
Requirements Capture
- Week 7: Rich Pictures and Use Cases Practices
- Week 8: The Practice of Enterprise Systems Analysis,
Specification and Modeling
- Week 9: The Practice of Enterprise Systems Architectural
Design
- Week 10: Outstanding Project Topics
- Week 11: Final Presentation
Deliverables
- Project Web Site (Project Home)
- Requirements
- Specifications
- Architectural Design
- Application Domain Content/Assets
- Final Presentation
Evaluation Criteria
- Reviews and Inspections
- Comparative Evaluation of Final Presentation
Domain Analysis
Baseline domain knowledge acquisition and modeling
Inputs
- Required readings
- Software
development life cycle: Microsoft vs. Netscape
- Formality
vs. Informality in Software Requirements
- Rich
Pictures
- Dennis de Champeaux, Douglas Lea, and Penelope Faure, Domain Analysis,
Chapter 13, in Object-Oriented System Development, Addison-Wesley,1993.
- W. Scacchi, Notes
on Open Information Sharing Systems, Institute for Software
Research, October 2000.
- W. Scacchi, Developing
a Rich Picture for an Information Sharing System (PowerPoint
slides), online presentation with example, October 2001.
- S.D. Cartwright, Supply
chain interdiction and corporate warfare (.doc version), J. Business
Strategy, 21(2):30-35, March-April 2000.
- Object-oriented system analysis can be found here
- Understanding
System Architecture a white paper from TRCInc.(no longer posted on
their Web site)
- Lecture
materials
- Web sites for selected global file-sharing systems, Web
portals, and other sites of interest
Outputs -- Domain Models
- Rich Pictures (Assignment #2)
- Specification (Assignment #3)
- Formal domain model
Project Home
(*** Your project deliverables start here ***)
-- Your team project needs a Web site (a project Home Page)
-- descriptive information about your team's project; each item
represents a link to associated project deliverables
- Project Name
- Project Description
- Project Team Participants
- Project Team Members Participation Statements
- Project Index Terms (Keywords)
- Project Site Map (this page)
Requirements
-- Characterizing the application problem domain for your project
Rich Pictures
Top-level
- Communities (People: authors, publishers, end-users, IT
support staff, etc.; IT systems)
- Concerns
- Relations and Processes
- Components
Second-level (optional)
- Communities
- Concerns
- Relations and Processes
- Components
Third-level (optional)
- Communities
- Concerns
- Relations and Processes
- Components
Use Cases
-- one for each activity/relation appearing in the Rich Pictures
- Activity/relation name and short description
- Normal Scenarios
- Exceptional Scenarios
- Error Detection/Response Scenarios
- User slips (user input error)
- User-System mistakes/miscalculations
- System breakdowns/failures (system output error signal)
Concerns
-- Narrative description that identifies the concerns of each community
appearing in the Rich Picture.
Specifications
-- Characterizing a solution to the problem
People/Communities
-- People (actors, roles, or communities) perform the processes or
activitate relations that consume or (re)use inputs using system
components in order to produce outputs. People have concerns which may
be realized as (business) rules that guide or constrain their process
performance.
- Role identifier
- Processes, relations or activities steps they perform
- Concerns
-- Provide a people/community role hierarchy
Objects
-- Objects may be static data (e.g., documents, music videos,
data entry forms) or executable components (Java applets, plug-ins,
Helper Applications, other application programs)
- Name/Identifier for object/entity class
- Attributes
- Value Ranges
- Exceptional Values or other constraints
-- Provide a hierarchical classification, taxonomic, or generic
extension of the Objects input or output by your system.
Processes
-- partially ordered sequences of people (roles) performing activities
(relations/verbs) using tools (system components) that consume/(re)use
inputs (resources) to create intermediate/final output products/services
(also resources)
- Name/Identifier for process
- Author (Original creator -- e.g., wscacchi@uci.edu)
- Version (Timestamp -- e.g. 2001/11/22/16:50,
year/month/day/hour/minute/second)
- Last-Modified-By (last User_Id for person/program to
modify/update the component -- e.g., walt_gsm271@yahoo.com)
- Process description
- People roles
- Process Objects
- Process Input Objects
- Pre-Conditions (process entry criteria)
- Process Output Products
- Post-Conditions (process exit criteria)
- Process scenarios (sequence of relation steps or
sub-relations)
- Normal case scenario(s)
- Exception scenario(s)
- Error conditions
- System components supporting the process
- Process Visualization -- graphic or diagrammatic rendering of
the control flow structure of a process.
UML Enterprise System Models (Optional)
- Name/Identifier for Modeling tool used
- Author (Corporate/Vendor Name)
- Version (from Vendor information -- e.g., "About
<tool-name>")
- UML Model Diagrams of your application enterprise system
- Author (Original creator -- e.g., wscacchi@uci.edu)
- Class Diagrams
- People Role Classes
- Object Classes (for Input and Output objects)
- System Component Diagram
- (Process) Sequence or Interaction Diagram
Architectural Design
-- An identification, partitioning, and arrangement of system
components that fulfill the Specifications
System Components
- Component Name/Identifier
- Host_Id: Internet Domain Name for computer hosting the
component (e.g., insite.gsm.uci.edu)
- Host_Id_Port: Port number for where to send/receive remote
data transport or program invocation signals (e.g.,
insite.gsm.uci.edu:8080)
- Author (Original creator -- e.g., wscacchi@uci.edu)
- Version (Timestamp -- e.g. 2001/11/02/18:50:32,
year/month/day/hour/minute/second)
- Last-Modified-By (last User_Id for person/program to
modify/update the component -- e.g., walt_gsm271@yahoo.com)
- Component Visualization -- reusable icon image that
represents a "short-cut" to invoking the component
Connectors
- Connector Name/Identifier
- Connector Type -- examples follow: choose one for each
connector in your system architecture
- API -- a program function call, remote procedure call, or a
remote method invocation (OO systems only)
- Asynchronous messaging
- Synchronous messaging
- Information bus
- Data communications protocol (e.g., http, tcp/ip, ftp, udp,
multi-cast/ip)
- Other (add a brief description)
- Host_Id: Internet Domain Name for computer hosting the
connector (e.g., insite.gsm.uci.edu)
- Host_Id_Port: Port number for where to send/receive remote
data transport or program invocation signals (e.g.,
insite.gsm.uci.edu:8080)
- Author (Original creator -- e.g., wscacchi@uci.edu)
- Version (Timestamp -- e.g. 2001/11/20/08:50:02,
year/month/day/hour/minute/second)
- Last-Modified-By (last User_Id for person/program to
modify/update the component -- e.g., walt_gsm271@yahoo.com)
Component Interfaces
Component Input Resources
- Name/Identifier
- Object data type/MIME data type
- Acceptable value range for data type
- Exceptional values for data type
- Error conditions/signals associated with data type
Component Output Resources
- Name/Identifier
- Object data type/MIME data type
- Acceptable value range for data type
- Exceptional values for data type
- Error conditions/signals associated with data type
System Architectural Configuration -- all the parts and pieces
interconnected into a whole system
System Configuration
- Name/Identifier
- Host_Id: Internet Domain Name for computer hosting the
system configuration (e.g., insite.gsm.uci.edu)
- Host_Id_Port: Port number for where to send/receive
remote data transport or system invocation signals (e.g.,
insite.gsm.uci.edu:8080)
- Author (Original creator -- e.g., wscacchi@uci.edu)
- Version (Timestamp for last modification -- e.g.
2001/11/02/18:50:32, year/month/day/hour/minute/second)
- Last-Modified-By (last User_Id for person/program to
modify/update the component -- e.g., walt_gsm271@yahoo.com)
- System Components (i.e., the configuration can be
represented as the set of system components, each connected to one or
more other components via connectors. Connectors attach via Interfaces,
and input and output objects pass between components via the
connector-interface). Thus the system configuration contains the set of
system components.
System Visualization
-- a graphic diagram or system-only rich picture that depicts a visual
arrangement of the system components, connectors and interfaces.
- Name/Identifier
- Graphic rendering or image file
- Host_Id: Internet Domain Name for computer hosting the
system configuration (e.g., insite.gsm.uci.edu)
- Host_Id_Port: Port number for where to send/receive
remote data transport or system invocation signals (e.g.,
insite.gsm.uci.edu:8080)
- Author (Original creator -- e.g., wscacchi@uci.edu)
- Version (Timestamp for last modification -- e.g.
2000/12/01/14:52)
- Last-Modified-By (last User_Id for person/program to
modify/update the component -- e.g., walt_gsm271@yahoo.com)
System Icon -- reusable icon image that denotes a "short-cut"
to invoking the system
- Name/Identifier
- Host_Id: Internet Domain Name for computer hosting the
system configuration (e.g., insite.gsm.uci.edu)
- Host_Id_Port: Port number for where to send/receive
remote data transport or system invocation signals (e.g.,
insite.gsm.uci.edu:8080)
- Author (Original creator -- e.g., wscacchi@uci.edu)
- Version (Timestamp for last modification -- e.g.
2001/11/22/14:00)
- Last-Modified-By (last User_Id for person/program to
modify/update the component -- e.g., walt_gsm271@yahoo.com)
XML Models of Enterprise System Architecture (Optional)
- Name/Identifier for XML Modeling/Design tool used
- Author (Corporate/Vendor name)
- Version (from Vendor information -- e.g., "About
<tool-name>")
- XML description of your project
- Project-specific Document Type Definition (DTD)
- Cascading Style Sheets (CSS)
- XML source for your project
- Sample XML presentation views of your project
Sample Content or examples of domain content/assets
Objects that typify the content that people could create, publish, or
download from your ISS/ Enterprise Portal.
Prototype/Demonstration
An interactive system prototype, Web-based mock-up, or Powerpoint
mock-up of your enterprise system that shows how your envisioned system
is suppose to work.
Final Presentation
- Project Description
- Requirements -- highlights (e.g., your top-level Rich Picture)
- Specifications -- highlights
- Architectural Design -- highlights
- Sample Content
- Prototype/Demonstration (optional)
- Conclusions