SYSTEMS DEVELOPMENT PROJECT

OVERVIEW

A Sacramento-area client has hired your project team to develop a web based Information System which will automate one or more business functions. You will conduct all activities and prepare all deliverable products associated with the development process. At the conclusion of your study, you will prepare a comprehensive, high-quality project report containing your results. You will also design and program a working prototype model of your system using the programming language of your choice.

PROJECT INITIATION

Locate a company or agency that is interested in either automating a manually based information system or enhancing its current computer-based system. You may choose any type of organization (company or agency). If you choose a small company, cover a fairly wide range of business functions. If you choose a medium- to large-sized company, confine your scope to a more narrowly defined business application (e.g., customer billing and collection). It is better to have a deeper, more comprehensive analysis of a narrow-sized application scope. 

Explain to your client that your project team is willing to help them define their requirements and build a new system. They can use your study for either custom development or software package selection. Your consulting services could easily cost your client $20,000. You are willing to provide this service free in return for the client's cooperation for the project. 

Perform a quick feasibility analysis to ensure that the potential project is viable and complete the SystemScope.doc. Here are some things to consider: 

  • Your Use Case Diagram must have at least three meaningful processes
  • Your project must result in deliverable software in one of the following forms: 
    • Automated replacement of current manual system
    • Substantial reprogramming of an existing automated system
    • New automated interface to be placed on existing automated system
    • Other (by prior approval)
  • Your project must be web based (we will further discuss the architecture)
  • DBMS is client specific
  • I permit students to work on a project for their employer under the following assumptions: 
    • The entire group supports this project
    • The client understands that the entire team will be involved in the development process (interviews, e-mail, prototyping, programming, etc) and the client cannot be involved in assigning tasks for the group
    • The student that works for the client, will not be the primary contact with that client
    • This project is not part of the student's (who works for the client) regular work

ASSIGNMENT SUBMITTING STANDARDS

  1. All assignment documents should be ZIPPED and e-mailed to me by 11:00 pm on the day they are due.
  2. Late assignments will be accepted but with a penalty.

There will not be re-grading of your deliverables.

PROJECT DELIVERABLES

1. TEAM COMPOSITION (TC) - 0 points

The MIS 161 teams will consist of 5-6 team members assigned one of the following roles:

  • Project Manager/Lead Systems Analyst
  • Database Developer/Administrator
  • Web Developer/Lead Programmer
  • Web Developer/Programmer (possibly 2)
  • Network Designer/Administrator/Integrator

You will form groups in class on the specified date. I will provide you with the paper forms and you must complete the names of the group members, phone numbers, class schedules, work schedules, and roles. You must also include the agreed upon weekly team meeting times. 

NOTE: Because you have a primary role, it does not mean that you will not be involved in activities outside your primary role. You will be involved in all project activities but you are expected to lead in the activities within your primary role.

Other

  1. The Project Manager is the systems developer who initiates the project
  2. In addition to the primary role, each developer must also assume a supporting role

Deliverables 

  1. The completed project team composition form.
  2. Each team member's resume

Grading 

Note that this deliverable will not be graded.

2. PROJECT SCHEDULE (PS) - 15 points

From the description of the project deliverables described in this document, create a project Gantt Chart to:

  • Include all deliverables described in this document as summary activities.
    • Beginning day for summary activities is the day after the previous deliverable is due. Ending day for summary activities is the deliverable due date.
    • Include all tasks within each summary activity. Should, at least, include all tasks that have deliverables.
    • Examine the class schedule to assign tasks.
  • For each task in the Gantt chart provide name of the developers responsible (2 developers should be assigned the same task who will work together for the completion of the task)

Deliverable 

  1. E-mail me a softcopy of your file (no need to zip it).

Grading 

2.1 Gantt Chart 15

3. DESIGN REVIEW (DR) - 30 points

Review the design of your system (from MIS 160) and make the necessary changes.

  1. Requirements Document (includes project scope and the project's business and system requirements)
  2. Use Case Diagrams
  3. Design Level Class Diagrams
  4. Database Design
  5. Systems Analyst Recommendations

Grading 

3.1 Requirements Document 15
3.2 Use Case Diagrams 5
3.3 Design Class Diagrams 5
3.4 Database Design 5
3.5 Systems Analyst Recommendations 0

Deliverable 

E-mail me an single MS word document zipped with all the deliverables listed above. Also, e-mail me a copy of your database (backup file, export file, or other).

4. SYSTEM IMPLEMENTATION (SI) - 100 points

In this phase you will build, assemble, and integrate all software modules.

Deliverable

  1. Coding/Solution Development
    • Source Code listing
    • Project/solution files generated by your IDE
  2. System documentation
    • Description of development tools used (IDEs, editors, wizards, etc)
    • Module Description - For each source code module (file/program/class) include a narrative explanation of the purpose and functionality of this module. Add this narrative explanation at the top of each module. When self documenting a module is not appropriate, you may provide an external narrative explanation. If you are using 3rd party components, include a softcopy of the documentation of each 3rd party component.
    • Method Description - For each method in your source code, provide a narrative explanation of each method. When self documenting a method is not appropriate, you may provide an external narrative explanation.
    • Naming conventions and other applicable programming standards
    • Database design
  3. Change request (not graded). For each change made from your Design Review, complete a separate system change request

Grading 

4.1 Coding/Solution Development 80
4.2 System documentation 20

5. SYSTEM TESTING (ST) - 30 points

Software application testing is an umbrella term that covers several types of tests. Our book discusses seven types of test. We will only focus on some of those tests. In this phase you will develop test cases and test data for the tests described below. You may use the following Excel file as a template for creating your test plans: TestPlan.xls.

Deliverable

  1. Unit Testing  - Test each object or component alone to discover potential errors that exist in the code. 
  2. System Testing - Test the combination of objects and component integration that coexist and work with other objects and components in your entire system.
  3. Usability Testing - Test to determine whether the system meets user requirements. At minimum, you will test whether the system functions as expected and whether the user interface make the system easy to use. 

Grading 

5.1 Unit Testing 10
5.2 System Testing 10
5.3 Usability Testing 10

NOTE: For System and Usability Testing, you will test another team's project and not your own. I will assign you a project for testing.

6. SYSTEM DEPLOYMENT (SD) - 45 points

In this phase you will make the new system operational. 

Deliverable

  1. Software and hardware acquisition
  2. Package and installation of system components
    • Installation - Installation description including the installation date and deployment method used (i.e., direct, parallel, phased). 
    • Installation instructions - A document to show step by step how to install your system.
  3. User Documentation - Written and other visual information describing who the system works and how to use it in a form of a user's reference guide. The purpose of a reference guide is to provide information on how users can use the computer system to perform specific tasks. The information in a user's guide typically is ordered by how often tasks are performed or any other logical order. Note that most user documentation  is often delivered online in hypertext format.    
  4. Conversion and initialization of data
  5. Updated Code (not graded)
    • Source Code listing
    • Project/solution files generated by your IDE

Grading 

6.1 Software and hardware acquisition 0
6.2 Package and installation of system components 5
6.3 User Manuals 40
6.4 Conversion and initialization of data 0

7. PROJECT CLOSEDOWN (PC) - 30 points

In this phase you will perform all activities in closing down your project. 

Deliverable

  1. Evaluate the system for the attainment of its goals. You should attempt to answer the question "is our system on target?"
  2. Notify all people involved with the system
  3. Present your results to management - Prepare a 20 - 30 minute presentation addressed to your client followed by a 10 minute Q&A. During the presentation address the need for the system, the objectives of the system, the designed solution, and demonstrate your finished product. Dress code is "business attire".  
  4. Conduct post-project interviews
  5. Evaluate project and members (see last section below)

Grading 

7.1 Project Evaluation 5
7.2 Notify all people involved with the system 0
7.2 Present your results to management 20
7.3 Conduct post-project interviews 5
7.4 Evaluate project and members 0

PEER EVALUATION

In the MIS workplace, you will be asked to evaluate your subordinates, your peers, and even your managers. In this class you must complete the peer evaluation forms provided below.

I will average the Percent Contribution over all forms submitted for each team member. This average will be used to allocate project points for that team member. For example, if the team members feel an individual contributed 80% towards the team project (all deliverables), then that individual will receive 80% times the total team points awarded for the semester. If a team member fails to evaluate one or more of his/her peers, it will be assumed that the contribution was 100%.

ADVICE FOR A SUCCESSFUL PROJECT

  • Try to obtain a client that has a manual process that your team may automate. 
  • The proposed automated system should be designed for a PC rather than a mainframe. 
  • The sooner you can complete the information-gathering phase of the analysis, the more time you will have to devote to the design phases of the project. 
  • Try not to spend an excess amount of time on the diagrams. 
  • Realize that doing everything, as a whole team is often slow and inefficient. Use whole-team meetings primarily for brainstorming and coordinating sessions. Break the team up into smaller units, and delegate specific tasks to each of these units. These smaller units of one or two members are more efficient in completing the project "milestones" than trying to do it as the whole team. 
  • One member should be designated as "quality control" person. She/he should scrutinize the  specifications for completeness. She/he should also check narrative pages using spell check and a grammar package (e.g., Grammartique).