Software Development Plan Document
International (French) Cross-Cultural Teaching Model

Team 16
December 8, 1997
CS577A


Table of Contents

  1. Objectives
    1. Software Product Objectives
    2. Development Plan Objectives

  2. Milestones and Products
    1. Overall Development Strategy
    2. Detailed Schedule of Deliverables
    3. Detailed Development Milestones and Schedules
      1. Product Design
      2. First Increment
      3. Second Increment
    4. Responsibilities
      1. Organizational Responsibilities
        1. Global Organization Charts
        2. Organizational Committment Responsibilities
      2. Development Responsibilities
        1. Development Organization Charts
        2. Staffing
        3. Training

    5. Approach
      1. Risk Management
      2. Development Phases
        1. Plans and Requirements Phase
        2. Product Design Phase
        3. Programming Phase
        4. Test Phase
        5. Implementation Phase
      3. Reviews
      4. Documentation
      5. Configuration Management
      6. Quality Assurance
      7. Facilities and Related Concerns

    6. Resources
      1. Work Breakdown Structure
      2. Budgets

    7. Assumptions

    8. Glossary

1.0 Objectives

1.1 Software Product Objectives

The objectives of the proposed system are to alleviate and/or solve the major limitations in the current system by using the following methods: 1) put the instructional site on the web so that valid students and/or instructors may have convenient access to the site, 2) implement a simple, intuitive user interface that will encourage users to explore the site, and 3) allow multiple instructors to log into the site and contribute material to a course's curriculum. Other features have been proposed to further enhance the functionality of the site, contributing to the user's potential to explore and learn about the material contained at the site.

Refer to OCD System Objective

1.2 Development Plan Objectives

2.0 Milestones and Products

2.1 Overall Development Strategy

The Spiral Model in conjunction with a risk-driven waterfall approach will be the primary software development processes that will be used to develop the International Cross-Cultural Teaching Model. The risk-driven waterfall approach will be applied to the two incremental development phases of our proposed system.

Using the Spiral Model for the construction of the ICTM consists of a plans and requirements, design, and two incremental development Phases. The two incremental development phases consist of the development of essential capabilities and the development of desirable capabilities. Each development phase contains implementation, unit testing, integration, and testing.

Because of time constraints, the development phase of the ICTM must be completed prior to May 1, 1998.

Plans and Requirements Phase

The plans and requirements phase of the system development process defines the objectives, requirements, and plans for the ICTM system. Initially, Winwin negotiations between the user, customer, and developer stakeholders take place. Also, a rapid prototype should be created in this step. Then the Life Cycle Objectives(LCO) web draft and final LCO version is made. The LCO makes up the scope of the system through top-level objectives, requirements, capabilities, architecture, and the software development plan. In this phase, modules (including login, fetch, search, translation, time stamping, and instructor email) are defined this stage. The next step is to produce the ICTM Life Cycle Architecture (LCA) which is essentially a definition of the system architecture. The final prototype also should be completed in this step. This should be completed by Dec. 8, 1997.

Product Design Phase

Using the LCA, the implementation of the ICTM should be specified in this phase, followed by the system specification. The system specification will be used in the detailed design phase to design and make unit codes and the architecture. The system prototype will be used to evaluate the risk of this phase. This should be completed by Feb. 17, 1998.

Incremental Development Phases

For each incremental development, we will use the risk-driven waterfall model. The detailed design specifies each unit module with knowledge from the product design phase. Two increments should be completed by May 1, 1998.

Essential Capabilities Increment(First increment)
Login : Allows all users to log into the system. Unauthorized users will be filtered out at this stage.
Web page creation : Allows the instructor user to create new web pages.
Web page authoring : Allows the instructor user to manipulate text, create links and images, and delete images and links.
Web page selection : Allows the instructor user to cycle through the pages contained locally on the server. Also allows the ability to enter a desired page number, and to go directly to that page.
Bulletin Board : Allows all users to communicate with one another.
Fetch : Allows the instructor user to ftp media using our proposed system.
Search : Allows every user to search for text keywords in the web pages created by the instructors on the student site.
Translation : Allows every user the opportunity to read each student site page in French, English, or the original version.
Locking : to ensure consistency and reliability during web page modification stages.

Desirable Capabilities Increment(Second increment)
Instructor email : Lets the student user email their comments and questions to the instructor.
Time stamping : Allows a time stamp to be posted at the top of every student page.
On-line help: Allow the user to know how to use each function, whenever he/she want to do.


Figure 2.1 Top-level mile stone chart



2.2 Detailed Schedule of Deliverables

Table 3.3 illustrates the customer deliverable items associated with each phase of the development process.

Phase Item Delivery Date Item Format Completion
Plans and Requirements WinWin Negotiation Oct. 15, 1997 Documents All conditions covered, all Issues resolved, all options and agreements decided by stakeholders
Plans and Requirements Prototype Oct. 15, 1997 Prototype Demonstration of basic prototype to customer.
Plans and Requirements Life Cycle Objective draft Oct. 22, 1997 Web draft All stakeholders agree on Life Cycle Objectives and work to make each section of the LCO consistent.
Plans and Requirements Life Cycle Objectives Oct. 29, 1997 Documents Complete LCO and satisfy all stakeholders.
Plans and Requirements Life Cycle Architecture Draft Nov. 26, 1997 Web draft All stakeholders agree with Life Cycle Objectives and work to make each section of the LCA consistent.
Plans and Requirements Life Cycle Architecture Dec. 8, 1997 Documents Complete LCA
Plans and Requirements Review (PRR) Dec. 8, 1997 Review, Documents Satisfy all stakeholders.
Class start Class start Jan. 13, 1998 Schedule All developers enrolled
Team Formation ICTM team formation Jan. 27, 1998 Personnel information and LCA All developers decided.
Rebaseline LCA Revisement Feb. 4, 1998 Documents Satisfy all stakeholders.
Product Design Determination, Specification, hardware - software architecture, database design Feb. 11, 1998 Documents Design completion.
Product Design Increment Plan Feb. 11, 1998 Documents. Satisfy all developers
Product Design Review (PDR) Feb. 16, 1998 Review, Documents All stakeholders are satisfied with the product design.
Product Design Risk analysis and Operational Pototype. Feb. 16, 1998 Documents, Review, Prototype Product Design review completion
First Increment Detailed Design Mar. 4, 1998 Documents All specifications for unit code are completed.
First Increment Detailed Design Review (DDR) Mar. 4, 1998 Documents All specifications for unit code are satisfied.
First Increment Programming(coding) Mar. 11, 1998 Documents and programs All unit codes are completed.
First Increment unit test Mar. 11, 1998 Test tools and test data Unit test and upgrade
First Increment Unit Review (UR) Mar. 18, 1998 Review, Documents Satisfy system requirement
First Increment System Integration and test Mar. 25, 1998 Test tools and test data No Integration Error
First Increment System Acceptance testing Mar. 25, 1998 Executable codes and Manual All stakeholders are satisfied.
First Increment System Acceptance Review (SAR) Apr. 1, 1998 Review All stakeholders agree with this.
Second Increment Detailed Design Apr. 8, 1998 Documents All specifications for unit conde are completed.
Second Increment Detailed Design Review (DDR) Apr. 8, 1998 Documents All specifications are satisfied.
Second Increment Programming(coding) Apr. 15, 1998 Documents and programs All unit codes are completed.
Second Increment Unit Test Apr. 15, 1998 Test tools and test data unit test and upgrade
Second Increment Unit Review (UR) Apr. 20, 1998 Review, Documents Satisfy system requirement
Second Increment System Integration and Test Apr. 22, 1998 Test tools and test data No integration errors
Second Increment System Acceptance Test Apr. 22, 1998 Executable codes and manual All stakeholders are satisfied with the results.
Second Increment System Acceptance Review (SAR) Apr. 29, 1998 Executable codes and manual All stakeholders agree with this.
Release The ICTM release May. 1, 1998 Executable codes and manual All stakeholders are satisfied.

Table 2.2



2.3 Detailed Development Milestones and Schedules

The development of the ICTM is scheduled to be based on the Spiral Model in conjunction with a risk-driven waterfall approach. The risk-driven waterfall approach will be applied to the two incremental development phases of the ICTM.

In the ICTM, the development phase consists of a product design phase and two incremental phases. Each development phase is comprised of an implementation, a unit test, an integration and test, and an acceptance test.

2.3.1 Product Design

This is the phase for specifying how to implement the LCA. In the product design phase, the developer should prepare and specify top-level design strategy for all modules. Specific unit level for each module will be designed and made to code in the incremental phases.

With this top-down strategy, the developer can design top modules and sub-modules. In addition, the ICTM component hierarchy should be validated and approved. The product design phase should be completed by Feb. 17, 1998.

  • Collaboration component
    1. Web page creation module (First increment)
    2. web page authoring module (First increment)
    3. web page selection (First increment)
  • Communications module
    1. Bulletin board module (First increment)
    2. Instructor Email module (Second increment)
  • Tools module
    1. Search module (First increment)
    2. Translation module (First increment)
    3. Fetch module (First increment)
    4. On-line help (Second increment)
  • System module
    1. Authentication (First increment)
    2. Locking (First increment)
    3. Time stamping (Second increment)
    4. Link updating (Optional increment)
    5. Modification module (Optional increment)
    6. Statistical log (Optional increment)

    Figure 2.3.1 Product Design mile stone chart




    2.3.2 First Increment Phase

    From the product design phase, the real funtional codes can be made in each incremental phase. The developer can work in parallel, bottom-up (object-oriented). The first increment is for essential capabilities in the ICTM. The first increment should be completed by ?

  • Login: Allow a user to enter his or her username and password. The login page will serve as a common starting point but unauthorized users will be filtered out in this.
  • Student user page: Allows a user to choose from an array of operations available on the student user page.
  • Instructor user page: Provides numerous operations including web-page creation and fetch for insturctor use.
  • Web page creation: Allow the instructor user to add a new, blank web page to the site.
  • Web page authoring: Allow the instructor user to create web pages on the site, without having to know any of the technical commands associated with file creation or HTML.
  • Web page selection: Allow the instructor user to select a different page on the site by using left and right arrow buttons which cycle through the pages on the student site.
  • Bulletin board: Allow the intructor or student users to communicate with one another by pseudo-live communications forum.
  • Fetch: Allow an instructor to easily retrieve files from remote sites.
  • Search: Allow the user to search the instructional site for specific keywords, in either French or English.
  • Translation: Allow the user to select from one of three links(original, French, or English) then the web page associated with the user's choce to be opened.
  • Locking: Ensure consistency and reliability during web page modification stages.

  • Figure 2.3.2 First Increment mile stone chart




    2.3.3 Second Increment Phase

    The second increment is for the desirable capabilities in the ICTM. This should be completed by Apr. 29, 1998.

  • Time stamping: Provides a date and time printed which states when the page was last modified.
  • Instructor email: Allow a user to not only email an instrucor but also copy and paste text to save messages that have been posted to the student bulletin board.
  • On-line help:Allow the user to know how to use each function, whenever he/she want to do.

  • Figure 2.3.3 Second Increment mile stone chart




    An increment for optional capabilities (such as Link updating and Modificaion log) may be viewed as future enhancements.

    3.0 Responsibilities

    3.1 Organizational Responsibilities

    The primary users of this system will be students and instructors from the French and Italian department; however, the primary instructor of each ICTM course may allow participating instructors, from Paris for example, to contribute material to the instructional site. The system administrator will likely be part of the USC UCS (University Computing Services) and the client supervising the ICTM project will be from the Center of Excellence in Teaching. A project team from CS577a will be responsible for architecting the ICTM system while a project team from CS577b will be responsible for implementing it.

    3.1.1 Global Organization Charts




    Figure 3.1.1 Global Oragnization Chart


    The organization of the major stakeholders are listed in table 3.1.1

    stakeholder Plans and Requirement Product Design Increments (Detailed Design) Increments (Coding) Increments (Unit test) Increments (Integration and test)
    Developers
    (CS577b students)
    Rebaseline and Revisement of requirements, specifications, and project plan Prepare designs, test plans, draft user's manual, and co-chair design review meetings Develop specificaion for all units Develop code and documentation Unit test Integrate and test software support, and perform acceptance tests
    Users
    (Registered students and instructors)
    Support definition of requirements, acceptance plans, and review requirements specifications Support user's manual development, review designs, and user's manual Support user's manual development, review designs, and user's manual Support implementation activities Monitor progress of milestones, manage acceptance activity, and formally accept product Provide usage feedback to the maintainer
    Customers
    (Dr. Danielle Mihram: Director, Center for Excellence in Teaching & Assistant Dean for the Leavey Library)
    Review, approve requirements, acceptance plans Monitor progress at milestones and co-chair design review management Monitor progress at the milestones Monitor progress at the milestones Review system performance Monitor progress at the milestones

    Table 3.1.1



    A more thorough definition as well as a global organization chart are in the OCD 5.2.3 Organizational Relationships.

    3.1.2 Organizational Commitment Responsibilities

    Any additions or modifications to the ICTM should first be approved by all ICTM stakeholders next semester and should be done as early in the developmental process as possible. Of course, they should make sure that any extra functions added should not require modification of the operation concept definition.

    The UCS is responsible for this change in system scope and plan. In addition, for authentication purposes, UCS has the responsibility of providing stability of system inspite of changing.

    Each member of ICTM development for this change in system scope and plan. In addition, the CS577b developers next semester are also responsible for no performance decrase of the system following any significant changes to the system.

    3.2 Development Responsibilities

    A team (four students) in CS577a had the responsibility for planning the requirements and architecture of the ICTM system. Next semester, a team of five graduate students enrolled in CS577b will be responsible for the actual development of the International Cross-Cultural Teaching Model. The team will specify products and implement the ICTM software.

    Please, refer to 3.2.2 Staffing

    3.2.1 Development Organization Charts



    Figure 3.2.1 Development Organizational Chart

    3.2.2 Staffing

    The software development plan calls for a team consisting of five CS577b students to be assigned to the project.

  • Requrement and Plan phase Four Students in CS577a team
  • Product Design and Increments phase
    1. Project Manager

      One student will take on the responsibilities of the project manager, who will be responsible for monitoring project progress, ensuring consistency among the team members' artifacts, resolving issues and risks, and maintaining proper contact and communications with the customer.

    2. Software Engineer

      Two students will take on the role of software engineers whose primary responsibilities will include analyzing and product design specification, and detailed design specification, and writing codes.

    3. Test Engineer

      Another student will assume the role of the test engineer who will be responsible for writing the test plan and performing various tests to ensure quality and consistency of the system.

    4. System Engineer

      The fifth student team member, the system engineer, will oversee the requirements analysis and user's manual documentation.

  • System Administrator (Maintainer) It is the primary responsibility of the system administrator to maintain the ICTM username database which holds the usernames and the privileges of all authorized users of the system. The system administrator is also responsible for troubleshooting minor problems with the ICTM as reported by the users of the system as well as performing regular backups of the ICTM datafiles.
  • User (Monitor) Enrolled students, participating instructors, and the librarian client may provide their input and advice to the developers in design phase. They also have the resposibility of monitoring the ICTM prototype, on-line help function, and the ICTM test version.

    3.2.3 Training

    The organizations for ICTM need training(internal) for ICTM team member as well as training(external) for administrator, customer, and instructor user.

  • Internal Training

    The CS577b students assigned to this project are expected to have a strong programming background in Java, Perl, HTML, and CGI as well as a basic knowledge of Unix. Background in French is unnecessary since the only French put to use is via the translation feature which is done through an on-line provider.

  • External Training The system administrator will either be a trained, experience UCS consultant or a student assistant who has extensive technical background in UNIX file management and web page maintenance as well as a basic knowledge of computer networking and hardware. Also system adiministrator has the responsibilty for installation of the ICTM. They have They have to train the student user and instructor user.

    Instructor users will be learned for World Wide Web and internet. Also they will be trained for web manipulation including Webpage authoring, selection, and creation as well as Tools containing Search, translation, and fetch. Student users will be learned for access the ICTM via interet web browser. In addition they will be trained the ICTM student site functions including Bulletin board and intructor email as well as tools such as search and translation.

    4.0 Approach

    4.1 Risk Management

    The ICTM's primary process model is the Spiral Model. The most important distinction between the spiral model and other software process models is the explicit consideration of risk in the spiral model. Among critical risks, unrealistic schedules and budgets can be managed with detailed estimates of multisource costs, schedule, and software reuse. To help avoid developing the wrong user interface, we can use task analysis, prototyping, and create scenarios. For the gold plating risk, we should do prototyping, cost-benefit analysis, and calculate design costs. The first step is to reduce software risk and to identify the project's critical risk items. The second step is to present a plan for resolving each risk item and maintain a monthly list of critical risk items, plans, and results. The third step is comprised of each previous month's rankings and status. Then the final step is to initiate the appropriate corrective actions.
    Please refer to the risk analysis of the Feasibility Rationale (Section 5.0) for a list of top risk items.

    A risk-driven waterfall strategy will be embedded within the spiral model to accomodate the two incremental development phases of the ICTM. The first incremental release will contain the primary core capabilities which is comprised of functionality available to both users as well as those specific to the instructor users: web page creation, web page authoring, web page selection, a bulletin board, logging in, and fetching multimedia files. The second incremental software release will contain the secondary core capabilities which is primarily comprised of functionality that will be available at the student site: searching, translation, time stamping of pages, and emailing the instructor.

    4.2 Development Phases

    The ICTM uses the Spiral Model in development process. With the knowledge from previous phases, every phase of the development process is made. Spiral model usage consists of objectives, constraints, alternatives, risks, risk resolution, risk resolution results, planning for the next phase, and committment. But for incremental development, the risk-driven model is used.

    The spiral model for the ICTM consists of plans and requirements, product design, and two incremental developments. Each increment contains detailed design, coding, unit test, updating, integration and test.

    4.2.1 Plans and Requirements Phase

    For the three primary stakeholders(user, customer, and developer), the purpose of this phase is to establish top-level life-cycle plan includinng milestones, resources, responsibilities, schedules, and major activities for the ICTM. We used WINWIN for negotiations as well as Rose for UML under object-oriented environment. These are used to develop the system. The LCO is top-level definition from these. The next step, LCA is made from LCO. The LCA is the definition of the system and software architecture.

    The plans and requirement phase produce WinWin negotication Report; Operational Concept Description Document; System Requirements Definition Document; Software Archtecture Definition Document; Software Development Plan document; Feasibility Rationale Document; Basic Prototype and its document to provide preview for customer.

    4.2.2 Product Design Phase

    This is the phase for determination, specification, the review of hardware and software architecture for the ICTM. The purpose of product design is to specify how to implement LCA. To reduce high risks in product design is recommended. The prototype is expanded to cover this phase. Also COCOMO may be used to estimate the cost and schedule during this phase.

    In the product design phase, developer can use top-down strategy. The most important thing which developer have to do is to prepare everything needed to make real codes in each increment.

    In addition, valid and approved software requirements specificaion is needed -- for performance, interface specifications for completeness, consistency, testability, and feasibility. Also the ICTM component hierarchy should be validated and approved.

    4.2.3 Incremental Development Phases

    From the product design phase, specific unit codes can be made in this phase. The developer can use bottom-up(object-oriented) strategy. The product design uses a top-down strategy for top module definition while the incremental development phases (except integration and testing) use bottom-up strategies for the parallel development of each unit.

    This phase consists of detailed design, programming (coding), unit test, updating, integration and test. Each program module is created in this phase.

    4.2.3.1 Detailed Design

    Detailed design specification is made and verified. The tools to program a unit should be approved by all developers. The following elements may be needed:

    1. Physical and logical data structure through field level
    2. For each routine, purpose, assumptions, sizing, calling sequence, error exits, inputs, algorithms, and processing flow.
    3. Data processing resource budgets(timing, storage, accuracy)

    4.2.3.2 Coding(programming)

    Unit computations using normal values as well as singular and extreme values are included. Also all unit input and ooutput options, including error messages or branch options, can be contained.

    4.2.3.3 Unit Testing Plan

    All designed and programmed unit codes are tested.

    Essential Capabilities Increment(First increment)

  • Login : Unauthorized users(test case) should be filtered out at this stage.
  • Web page creation : New web pages should be created easily.
  • Web page authoring : Text manipulation, Adding and deleting images and links.
  • Web page selection : Should be selected by number.
  • Fetch : Should be able to ftp media using our proposed system.
  • Translation : Shold be translated without incorrect letters.
  • Search : Should be able to search all text keywords.
  • Locking : Should not be able to modified by another tester during web page modification by one tester.

  • Desirable Capabilities Increment(Second increment)
  • Instructor email : Tester should be able to email his to the other tester.
  • Time stamping : Allows a time stamp to be posted at the top of every student page.
  • On-line help: the tester should can see the help comments by pushing F1 button or clicking any word.

  • 4.2.3.4 Integration and Test

    When integrating, the developer has to verify the satisfaction of software requirements and demonstrates acceptable ICTM software products.

    First, each component should be integrated and tested. Second, if some errors are found, then tester should inform the programmer and error unit should be not only backtrack but also redesign and write code.

    Third, after each component has been successfully integrated, the ICTM software integration will be proceed.

    Each component integrating

  • Collaboration component Web page creation module (First increment), web page authoring module (First increment), and web page selection (First increment)
  • Communications module Bulletin board module (First increment) and Instructor Email module (Second increment)
  • Tools module Search module (First increment), Translation module (First increment), Fetch module (First increment) , and On-line help (Second increment)
  • System module Authentication (First increment), Locking (First increment), Time stamping (Second increment), Link updating (Optional increment), Modification module (Optional increment), Statistical log (Optional increment)

    Second unit module in increment will be test after integration step into component of first increment.

  • 4.2.4 Release

    The release is final in formal phase. The system installation phase can follow this phase and system maintenance should follow this.

    4.3 Reviews

    The objective of each review is to determine whether or not the project is ready to proceed to the next development phase. The ICTM has four cycles. The first cycle is plans and requirements, the second cycle is product design, the third cycle is the first inclemental development, and the fourth cycle is the second incremental development.

    4.3.1 Plans and Requirements Review (PRR)

    This is scheduled to be at the end of the Plans and Requirements phase. The objective of the PRR is to ensure that all stakeholders agree with and satisfy the system plans and requirements. In this, participants are users, customers, and developers

    4.3.2 Product Design Review (PDR)

    This is scheduled to complete Product Design. The objective of PDR is to ensure that the products designed are satisfactory and that all high-risk elements of the software project have been identified and resolved. Participants are users, customers, and developers

    4.3.3 Reviews in Increments

    Detailed Design Review (DDR)
    DDR's is the ICTM internal reviews held for sub-modules. The objective of DDR is to find errors in the unit's detailed design or problems being abe to appear in integration..

    Unit Review (UR) UR's are ICTM-internal reviews held to complete coding and unit test for sub-modules. Their objectives are to ensure that the unit's code and test results meet the criteria for completion of the Code and Unit Test phase given in the project's adaptation of 4.4 Development Phases. Develpers only participate in this.

    System Accepatnce Review (SAR)
    The objective of the SAR is to ensure that the system development and implementation products and services meet the criteria agreed on for their acceptability.

    4.4 Documentation

    The major documents consists of following:

  • Documents for Plans and Requirements
    This documentation provides the summary and result of the Winwin negotiation. These documents are compled documented by team16 members on Oct. 29, 1997 for LCO version and on Dec. 8, 1997 for LCA version. WinWin Negotiation Report
    This is the results for the WinWin negotiation process. All stakeholders participated in this. This was reported on Oct. 15.

    Operational Concept Definition
    LCO has top-level system objectives, top-level system scope, and opeational concept. LCA is elaboration of LCO.

    System and Software Requirements Description
    LCO has top-level functions, interfaces, quality, and stakeholers' concurrence on essentials. LCA contain elaboration of functions, interfaces, quality attributes by increment, and stakeholders' concurrence on their priority concerns.

    System and Software Architecture Definition
    LCO includes top-level definition of at least one feasible architecture and identification of infeasible architecture options. LCA has choice of architecture and elaboration by increment and architecture evolution parameters.

    Basic Prototype and Document
    LCA resolve major outstanding risks.

    Software Development Plan (Life Cycle Plan)
    LCO has identification of life-cycle stakeholders and spiral process model. LCA especially elaboration of WWWWWHH(Why, What, When, Who, Where, How, and How much) for initial operational capability.

    Feasibility Rationale
    LCO assures consistency among elements above. By LCA has all major risks resolved or covered by risk management plan.

  • Product Design Specifications
    This is the phase for specification to implement LCA of the ICTM. This will be delivered to the customer on Feb. 11, 1998.

  • Documents for Incrments
    Increment Plan
    This will be reported by Feb. 11, 1988.

    Detailed Design Specification
    This including coding and testing for unit program. This will be completed on Mar. 4, 1998 for first increment and Apr. 15, 1998 for second increment.

    Detailed Design test data and test tool document
    This will be completed on>This will be completed on Mar. 4, 1998 for first increment and Apr. 8, 1998 for second increment.

    Integration stategy, test data, and test tool document
    This will be completed on Mar. 25, 1998 for first increment and Apr. 22, 1998 for second increment.

    System Acceptance Test Plan
    First increment version will be reported on Mar. 25, 1998 and Second increment version will completed on Apr. 22, 1998.

    On-line help and User Manual Document
    This will be provied after May. 1, 1998.

    4.5 Configuration Management

    Configuration management(CM) is the process which controls the changes made to a system and manages the different versions of the evolving ICTM.

    During developing the ICTM, many documents are produced. Many of these are technical working documents presenting developing idea. A key task of the configuration management planning process is to decide exactly which item are to be controlled. The ICTM development plan, Product Design specification, Unit Detailed Design and Code, Software Product (ICTM software) will be maintained as configuration items. However all documents which may be necessary for future system maintenance need to be made.

    Managed versions may be assigned identifiers automatically when they are submitted to the ICTM. Versions of components must be checked out explicitly for change. The identifier of the engineer making the change is recorded. All of the changes made to a particular system or component may be recorded and listed.

    The ICTM may need to use a CASE tool in configuration management.there are several CASE tools available to support this process. For Unix platform, the most widely used version management systems are SCCS(Rochkind, 1975) and RCS(Tichy, 1985). The CS577b development team should decide to use which version.

    4.6 Quality Assurance

    Quality assurance is concerned with defining how an organization aims to achieve high quality for the ICTM. Also these processes may be supported by tools that may have to be bought or specially developed during the quality assurance process.

    Availability:
    The user base will potentially include students and instructors at remote locations such as Paris. By placing the ICTM on the internet, students and instructors can explore and modify web pages contained at the site.

    Performance:
    The translation of a web page will be done as soon as the page is updated. The search will query and return results within 10 seconds.

    Usability:
    Non-experienced instructors can enter the instructional site and make use of all the available functionality in order to modify the student site. The user interface is uncomplicated and intuitive enough for any user to understand. The bulletin board feature, on both user and instructor sites, is simply a text message box with a button to submit and post the message to the proper bulletin board.

    Reliability:
    Backup copies of the student web pages can be maintained by the UCS in the event of data loss.

    For a more detailed quality assurance analysis, please refer to Section 6.0 of the System and Software Requirements.

    4.7 Facilities and Related Concerns

    To develop the ICTM, each developer of ICTM team will require access to each computer. The minimum computer requirements for this project development are a computer with at least 16 Megabytes of RAM and 8 Megabytes of free hard disk space. The computer may be a personnel computer or work station. Also It should not only be able to run Windows environment (such as WindowsNT, Window95, or Solaris CDE) but also should compatible to Webrowser (such as Newtscpe or Explorer). The development team may need uninterruptable power supply(UPS). Each computer and network for development should have good data communication capabilities. The CS577b team will be responsible for making sure the team access to these computer facilities. The UCS should need to identify a location in which the ICTM will be kept. Also the UCS will need to provide good source and connection to the USC LAN.

    All applications such as COTS should be provided for the development of the ICTM. The development team is responsible for identifying the computer resources to be installed. To order and install all system components and COTS should be on Jan. 21, 1998.

    5.0 Resources

    5.1 Work Breakdown Structure

    The hierarchical structure of the system is Figure 5.1. This show the structure of the subsystems and activities associated with the ICTM. The activities and system contents of the ICTM include the Plans and Requirements, Product Design, First Increment, and Second Increment. First increment is for essential capabilities and second increment is for desirable capabilities. Each Increment contains Detailed Design, Coding, Unit test, and Integration and test. Optional capabilities will be developed future.




    Figure 5.1 Work Breakdown Structure



    5.2 Budgets

    Because a team of five graduate students enrolled in CS577b will be assigned to develop this system, the cost is essentially zero and the budget need not reflect this.

    However, at this point, a server to house the ICTM system as well as an adequate translation provider has not been found which could potentially affect and impact the budget of the ICTM system.

    In order to ensure performance standards set by the SSRD, a server with at least 10 gigabytes of hard disk space will be needed to house the ICTM and any archived material. The server should have a fast processor and should cost anywhere from $3000 to $10000.

    The monthly service cost or the cost of purchasing a COTS translation software package is unknown. But we will allocate approximately $1000 for the purchase of a COTS translation software package in case a free, on-line translation provider is not found.

    For further details please refer to the Development Cost Analysis of the Feasibility Rationale (Section 3.1.1)

    6.0 Assumptions

    Following some conditions must be maintained in order to implement the plans abolve within the resources specified. If one or more of these assumptions becomes invalid, the plan should be renegotiated.

    First, each software module should provide system integrity and no code should have the possibility of volatility.

    Second, not noly the ICTM but also applications including COTS should be delivered on development schedule.

    Third, continuous funding for system maintaining should be supported.

    Finally, the new developers who will develop the optional capabilities should be familiar with the ICTM, the componests, and all of additional applications.

    7.0 Glossary

    Authentication: The verification of the identity of a person or process. In our proposed system, authentication verifies that a user is a registered instructor and/or student.

    Authoring web pages: The modification of a web page. In our ICTM system, the editing operations that an instructor can choose from are adding and deleting links and images. The authoring of a web page typically consists of creating an HTML file and editing it directly by hand. Our system will shield the instructor user from having to know HTML, will create HTML files, and allow the addition/deletion v of links and images by merely clicking on a few buttons and entering some simple commands.

    Bulletin Board: In reference to a physical piece of board on which people can pin messages written on paper for general consumption - a "physical bboard"), a bulletin board is a computer and associated software which typically provides an electronic message database where people can log in and leave messages. Any registered user may submit or read any message in these public areas.

    Dummy page: a Java applet that duals as a page preview source as well as the area in which an instructor user can perform various web authoring commands such as text manipulation, link/video addition, and link/video deletion.

    FTP: Stands for file transfer protocol. This command is used to retrieve files from remote sites.

    GIF: Graphics Interchange Format: A standard for compressed digitized images.

    GUI: Graphical User Interface: The use of pictures rather than just words to represent the input and output of a program. A program with a GUI runs under some windowing system (e.g. The X Window System, Microsoft Windows, Acorn RISC OS, NEXTSTEP). The program displays certain icons, buttons, dialogue boxes etc. in its windows on the screen and the user controls it mainly by moving a pointer on the screen (typically controlled by a mouse) and selecting certain objects by pressing buttons on the mouse while the pointer is pointing at them.

    HTML: Stands for Hypertext Markup Language. A Hypertext document format used on the World-Wide Web. Built on top of SGML. "Tags" are embedded in the text. A tag consists of a "<", a "directive" (case insensitive), zero or more parameters and a ">". Matched pairs of directives, like "" are used to delimit text which is to appear in a special place or style.

    ICTM: The International Cross-Cultural Teaching Model

    Instructional site or Student Site: A web site that is comprised of a student web page, a student bulletin board, a search feature, an instructor form emailer, and a link to the instructor site.

    Instructor : A user who has the authorization to access the both the student and instructor site.

    Instructor site: A web site that is comprised of an instructor bulletin board, a dummy page, a web page creation button, web page authoring tools, a web page selection feature, and a fetch button. This site can only be accessed by authorized instructor users.

    Java: A simple, object-oriented, robust, secure, portable, architecture-neutral, general-purpose programming language developed by Sun Microsystems. Java supports programming for the internet in the form of platform-independent Java "applets"

    JPEG: Joint Photographic Experts Group: Standard image compression algorithm that is designed for compressing either full-color or grey-scale digital images of "natural", real-world scenes.

    Perl: Practical Extraction and Report Language General purpose language, often used for scanning text and printing formatted reports. It provides extensive support for regular expression matching, dynamically scoped variables and functions, extensible run-time libraries, exception handling and packages, provide/require.

    Student : A user who has the authorization to access the student site but not the instructor site.

    Student assistant: A work-study student who has been hired by an instructor to oversee the development and maintenance of the current system. The student assistant will in all likelihood, play the role of the system administrator of the ICTM.

    Student site or Instructional Site: A web site that is comprised of a student web page, a student bulletin board, a search feature, an instructor form emailer, and a link to the instructor site.

    System administrator or system maintainer: Person responsible for ICTM account creation and maintenance as well as day-to-day maintenance of the site (backups, file deletion, etc.)

    Translator: In the context of our project, a translator is a computerized software module that translates words or phrases from one linguistic language (English/French) to another.

    User: An authorized student or instructor.

    Web page authoring: Web page editing (text manipulation, link/image addition, link/image deletion, etc.)


    ICTM home page ICTM prototype Back to top