Computer Information Systems

Department

Home
Contact Us
Robinson
Georgia State

 
 

About CIS

Academic Programs

       BBA CIS
       MBA IS
       MISAC
       MS IS
       MS IS MIT (1 year)
       PHD CIS
       EXECUTIVE Education

Certificates

Business Corner

Faculty & Research

Faculty

Research

News

Student Info

CIS Alumni

CIS Internship

 

Driving Directions

 
 
 

CIS 3310: SYSTEMS DESIGN (with the CIS Common Case Crabgrass Books)

Course Prerequisites

CSP 1, CIS 3300 and a Programming Track (CIS 3260, CIS 3280 or CIS 3260, CIS 3270 or CIS 3210, CIS 3215). The programming track requirement went into effect at the start of the Fall 2001 Semester. 

Prerequisites are strictly enforced!

Students who have not fulfilled these requirements are subject to removal from the class.

Additionally, it is assumed that the students have some familiarity working with computers. Specifically, it is assumed that students be able to, or will learn outside of class, the following:

  • Principles of Programming,
  • An object oriented programming language or Integrated Development Environment,
  • creation of web documents,
  • the syntax of Java and J2EE OR any Microsoft .NET’s Object Oriented web application development languages (C++, C#, VB.NET)
  • Use of MS Office or similar tool to write business reports, academic papers and specification documents.
  • Additionally, it is expected that students will quickly learn how to
    • use email and a browser,
    • to set up a website and load/download files there from,
    • newsgroups and,
    • how to work effectively in groups

Primary Text and Software 

  • Bernd Oestereich, Developing Software with UML. Object-Oriented Analysis and Design in Practice, Addison Wesley, 2002 (ISBN 0-201-75603-X). 
  • Boggs, W. and Boggs, M., Mastering UML with Rational Rose, Sybex, 1999 (ISBN0-7821-2453-4)
  • Rational Rose Enterprise Suite: Available from course’s rational rose web site

Additional Helpful Resources/Material

FOR THE .NET ENTHUSIASTS

  • Visual Studio .NET, Professional Edition for Academic Market, Microsoft Corporation. Available for FREE download through the CIS Department's MSDNAA program (Strongly recommended for groups that will be using .NET to complete course project). You MUST be a CIS major to qualify for this edition.  Sign up for the MSDNAA program at: http://www2.cis.gsu.edu/cis/student/sn.asp

 

FOR THE JAVA ENTHUSIASTS

  • A java software development kit
  • An integrated development environment for Java e.g. Netbeans 3.0, JWSDK (Java Web Services Development Kit). Available for free from http://java.sun.com ; IBM Websphere studio, etc.  OR A simple editor for Java programs e.g. TextPad, Jcreator, etc.

Catalog Description

The general description of this course can be obtained in the University’s Undergraduate Catalog:

http://www.gsu.edu/~wwwreg/0304undergrad/images/undergradcatalog0304.pdf

Prerequisite:

CIS 3300 and completion of a CIS programming track (CIS 3260 and CIS 3280, or CIS 3260 and CIS 8270, or CIS 3210 and CIS 3215). CSP 1. This course builds upon the skills and knowledge developed in CIS 3300. Emphasis is placed upon the design and development of information systems, including the software and databases that are needed to support the business needs of the organization. Both data-oriented and process-oriented design methods are covered. These methods are discussed in the context of managing a systems development project, including issues such as project estimation and project management techniques, software quality assurance, and configuration management.

 

Detailed Course Description:

This course provides an introduction to the logical and physical design of computer based information systems. Emphasis is placed on object-oriented development paradigms for the design of business information systems.  The course extensively utilizes the CIS Common Case suite (CISCC) and, in particular, the Crabgrass Books case as a known context from which students extend their knowledge of all topics covered in the course. 

The focus of this course involves the use of a persistence framework to transition from UML classes to distributed web applications using Sun’s J2EE/J2SE framework or Microsoft’s .NET frameworks. The principles learned can also be applied to other leading frameworks for building distributed enterprise software. 

Information systems development is a process in which technical, organizational, and human aspects of a system are analyzed and changed with the goal of creating an improved system. In spite of the advanced technologies that surround computer-based information systems, the process of systems analysis and design is still largely an art. There is a high dependency on the skills of the individual analysts and designers even though there are established principles, methods, and tools. This course will give students an understanding of the most common tools, techniques, and theories currently used in systems design.

Detailed Course Objectives


At the end of the semester, the student will be able to:

  • Read an Analysis Document for design
  • Use a Persistence Framework in the Design of an Information System
  • Create and document a Logical Design
  • Create and document a Physical Design
  • Create and document an Application Database
  • Use a CASE tool to assist in systems design
  • Create a commonly expected “deliverables” of systems design
  • Determine the architecture and technology requirements for implementation of a system’s design
  • Implement a system’s blue-print as a working information system

Conduct of Course: Lecture/Discussions, Demos, and Labs:

Class sessions will be divided between: (1) lecture/discussion of certain software concepts and features, (2) instructor demonstrations of these same software concepts and features, and (3) student laboratory sessions working with these same software concepts and features.

The purpose of this pedagogical approach is to introduce and reinforce ideas and skill sets so that students can master these on their own after class hours. To bring this knowledge to a highly proficient, professional level, students will have to spend time and effort outside of class working in the GSU computer labs or on their own micros.

To ensure that you have the basic knowledge that will allow you to function on your own after class, be sure to ask the instructor questions during class, either during the lecture/discussion, demo, or lab.

Course Project:

For the course project, students, working in groups of three, will prepare fully functioning distributed applications that address a typical business need. The application will be of significant complexity and will be developed in any of the .NET programming languages or in Java’s J2EE framework.  The complete specifications for the projects will be covered in a separate handout.

Each member of a project team shall work on a separate, well defined portion of the design problem. The entire team’s solution is expected to be synchronized and integrated (For, example, team must use common vocabulary for classes, attributes, methods etc. and the design diagrams they create must be interrelated). There will be points for the individual parts designed by each team member, and separate points for the quality of the entire team’s integrated solution. Therefore it is possible for members within the same group to earn different grades on the project.

All parts of the project shall be submitted electronically by posting your group’s solution to your web site by the due date. Each group MUST use a web site that can adequately deploy the web-application in the framework/programming-platform that each initially selects for the project. Therefore, (1) groups using .NET must find web space on a server that has been configured for deployment of .NET applications and components; while (2) groups using J2EE/J2SE must locate space on a server that is configured to host servlets, java beans, jsps, conventional java programs and applets.

CIS TUTORS are available in RCB suite 822 for assistance with issues relating to software installation; program debugging; and, the use of Rational Rose to draw design models for the project’s solution. You can get details about the CIS TUTOR program at http://www2.cis.gsu.edu/cis/tutors/index.asp.  NOTE: Tutors will not do your assignments/project for you!

All work must be your own.  Duplicate project submissions will be given a grade of "zero".  ALL members of both the teams copying the assignment and the teams supplying the copy will be penalized equally!

Quizzes/Homeworks

A maximum of 5 take-home quizzes shall be administered in the duration of the course. Each student’s best 4 quiz scores shall count towards course credit for the calculation of the final grade.  Quizzes will be posted on the course web site three days prior to the due date. Therefore quizzes due on Wednesdays shall be posted the prior Sunday in the evening.

Quizzes MUST be submitted IN CLASS on the due date. They will be collected at the start of class. Only Paper copies (hard-copies) of the quizzes will be accepted. Therefore print your quiz (making sure that your script contains your name, and that all questions answered are adequately numbered) BEFORE coming to class.

Policies

Grading Policy:

Design Project

 POINTS

 Project part 1: conceptual design diagrams & web publishing

  100

Project part 2: Draft Technical design and prototype 

(design diagrams =50, implementation & code=50)

  100

Project part 3: Final Technical design and Prototype system

(design diagrams =75, system implementation & code=75)

  150

Project Presentations

 

Presentation 1: Conceptual Models of proposed system

    50

Presentation 2: Technical Design diagrams of proposed system

    50

Presentation 3: Demonstration of final Prototype & system documentation

    50

Quizzes & Participation

 

Best 4of 5 quizzes (each worth 100 points)

  400

Participation (in-class assignments, discussion, etc)

  100

Total

1000

Policies on Student Conduct and Academic Honesty

  • Prerequisites are strictly enforced. Students failing to complete a prerequisites with a grade of “C” or higher will be administratively withdrawn from the course in which they are in violation with a loss of tuition fees. There are no exceptions.
  • Students are expected to attend all classes and group meetings, except when precluded by emergencies, religious holidays or bona fide extenuating circumstances.  If one or more class is missed, it is the student's responsibility to determine the specific material covered during their absence and make the necessary arrangements for making up what is missed.  Class discussion is strongly encouraged.  More than two missed classes in a row without the instructor's permission will be considered a withdrawal on the part of the student. 
  • Make-up assignments will not be given for any reason whatsoever. 
  • Students who, for non-academic reasons beyond their control, are unable to meet the full requirements of the course should notify the instructor. Incompletes may be given if a student has ONE AND ONLY ONE outstanding assignment.
  • A “W” grade will be assigned if a student withdraws before mid-semester while maintaining a passing grade. Withdrawals after the mid-semester date will result in a grade of “WF”. Refer to GSU catalog or Registrar’s office for details.
  • Spirited class participation is encouraged and informed discussion in class is expected. This requires completing readings and assignments before class.
  • Unless specifically stated by the instructor, all assignments and teaching examples are to be completed by the student alone.
  • Within group collaboration is allowed on project work. Collaboration between project groups will be considered cheating unless specifically allowed by an instructor.
  • Copy work from the Internet without a proper reference and citation will be considered plagiarism and subject to disciplinary action as delineated in the Student Handbook.
  • Any non-authorized collaboration will be considered cheating and the student(s) involved will have an Academic Dishonesty charge completed by the instructor and placed on file in the Dean’s office and the CIS Department. All instructors regardless of the type of assignment will apply this Academic Dishonesty policy equally to all students. See excerpt from the Student Handbook below:

 

Academic Honesty

(Abstracted from GSU’s Student Handbook Student Code of Conduct “Policy on Academic Honesty and Procedures for Resolving Matters of Academic Honesty” - http://www.gsu.edu/~wwwcam/academichonesty.html)

     

“As members of the academic community, students are expected to recognize and uphold standards of intellectual and academic integrity. The University assumes as a basic and minimum standard of conduct in academic matters that students be honest and that they submit for credit only the products of their own efforts. Both the ideals of scholarship and the need for fairness require that all dishonest work be rejected as a basis for academic credit. They also require that students refrain from any and all forms of dishonorable or unethical conduct related to their academic work.

 

Students are expected to discuss with faculty the expectations regarding course assignments and standards of conduct. Here are some examples and definitions that clarify the standards by which academic honesty and academically honorable conduct are judged at GSU.

 

Plagiarism. Plagiarism is presenting another person’s work as one’s own. Plagiarism includes any paraphrasing or summarizing of the works of another person without acknowledgment, including the submitting of another student’s work as one’s own. Plagiarism frequently involves a failure to acknowledge in the text, notes, or footnotes the quotation of the paragraphs, sentences, or even a few phrases written or spoken by someone else. The submission of research or completed papers or projects by someone else is plagiarism, as is the unacknowledged use of research sources gathered by someone else when that use is specifically forbidden by the faculty member. Failure to indicate the extent and nature of one’s reliance on other sources is also a form of plagiarism. Failure to indicate the extent and nature of one’s reliance on other sources is also a form of plagiarism. Any work, in whole or part, taken from the internet or other computer based resource without properly referencing the source (for example, the URL) is considered plagiarism. A complete reference is required in order that all parties may locate and view the original source. Finally, there may be forms of plagiarism that are unique to an individual discipline or course, examples of which should be provided in advance by the faculty member. The student is responsible for understanding the legitimate use of sources, the appropriate ways of acknowledging academic, scholarly or creative indebtedness, and the consequences of violating this responsibility.

 

Cheating on Examinations. Cheating on examinations involves giving or receiving unauthorized help before, during, or after an examination. Examples of unauthorized help include the use of notes, texts, or “crib sheets” during an examination (unless specifically approved by the faculty member), or sharing information with another student during an examination (unless specifically approved by the faculty member). Other examples include intentionally allowing another student to view one’s own examination and collaboration before or after an examination if such collaboration is specifically forbidden by the faculty member.

 

Unauthorized Collaboration. Submission for academic credit of a work product, or a part thereof, represented as its being one’s own effort, which has been developed in substantial collaboration with assistance from another person or source, or computer honesty. It is also a violation of academic honesty knowingly to provide such assistance. Collaborative work specifically authorized by a faculty member is allowed.”

 

Typical Schedule

 

WEEK

DATE

TOPIC

READINGS

WORK DUE

 

1

 

Syllabus 

Group Formation and Student Web Accounts

 

Installing Course Software:

Rational Rose (all groups)

Rational XDE (.NET and J2EE editions)

 

COURSE INTRODUCTION

Lecture 1: Introduction to Systems Design, UML and Rational Rose; Set context within the CIS Common Case(s) (CISCC) Crabgrass Books.

Oestereich: pages 1-56; 114-120

 

Boggs Chapter 1 and 2

 

Intro to UML

 

A rational Development Process

 

 

 

Class Discussion: What does a software systems designer do?

 

SYSTEMS ARCHITECTURE CONCEPTS

Lecture 2: Architecture: The Basis of Object Oriented Design

Oestereich pages 161-171; 64-98; 256-264;  39-42

 

4+1 views of software

 

2

 

THE USE-CASE VIEW

Lecture 3: Modeling Use-Cases

 

THE LOGICAL VIEW

Lecture 4: Modeling Object Interaction 

 

Class Discussion: What is the connection between use-cases and interaction diagrams? What is the strategic value of use-cases? What is the value of interaction diagrams in systems design?  Illustrate concepts within the CIS Common Case(s) (CISCC) Crabgrass Books.

Oestereich pages 224-249

 

Boggs Chapter 3 and 4

 

Managing Use Cases Using Rational Solution for .NET

 

 

 

THE LOGICAL VIEW

Lecture 5: Modeling Classes and Packages

 

Class Discussion: When do you use classes and when do you use packages? How do you distinguish between the two? Illustrate concepts within the CIS Common Case(s) (CISCC) Crabgrass Books.

 

Oestereich pages 172-223; 120-155

 

Boggs Chapter 5 and 6

 

3

 

THE LOGICAL VIEW

Lecture 6: Modeling Relationships among Classes

 

Class Discussion: Does it matter which type of relationship we use? How do we distinguish between the various types of relationships? How do we tell which type of relationship to use in specific contexts? Illustrate concepts within the CIS Common Case(s) (CISCC) Crabgrass Books.

Oestereich pages 249-254; 265-271; 99-104

 

Boggs Chapter 7

 

Value of Modeling

 

 

 

 

THE LOGICAL VIEW

Lecture 7: Modeling Object Behavior with State-Chart Models (State-Chart Diagrams)

 

Class Discussion: How do state charts differ from class diagrams? What is the association between state charts and class diagrams?

 

 

4

 

THE LOGICAL VIEW

Lecture 8:  Modeling System or Use-Case Behavior with Activity Diagrams

 

Class Discussion: How do activity diagrams differ from state charts and class diagrams? What is the association between activity diagrams and class diagrams?  What is the association between activity diagrams and state charts?  Illustrate concepts within the CIS Common Case(s) (CISCC) Crabgrass Books.

Boggs Chapter 8

 

 

 

Review of Phase 1 of Project

 

Class Discussion: “Do NOT Call registry”

Development of the “DO NOT CALL” registry

 

Quiz 1 (week 1 – end of week 3)

5

 

THE LOGICAL VIEW

 

UML Extensions for WEB Applications

Boggs Chapter 11, 12 & 14

 

Modeling web apps with UML

 

 

 

 

Project 1 due, Presentation 1

 

Presentation 1: Conceptual Design Model

 

 

Project part 1: Conceptual Design Model

Exercise 7

6

 

Debriefing on Project Phase 1: Points of improvement

 

 

 

 

 

THE COMPONENT VIEW

Lecture 9: The Component view (software architecture)

Illustrate concepts within the CIS Common Case(s) (CISCC) Crabgrass Books.

Oestereich pages

272;117-120

 

Business of software

 

 

7

 

THE DEPLOYMENT VIEW

Lecture 10: The Deployment view (hardware architecture)

 

KEY FRAMEWORKS FOR OBJECT ORIENTED DESIGN

Class Discussion: A Comparison of J2EE and .NET

 

Oestereich pages 273

 

Boggs Chapter 10

 

 

 

PRESENTATION LAYER DESIGN:

 

REPRESENTING WEB-BASED COMPONENTS IN UML : Lecture 11: Modeling HTML Pages, JSPs, ASPs, Applets and .NET Web Forms

 

Oestereich pages 108-111

 

 

Quiz  2 (week 4 – end of week 6)

8

 

PRESENTATION LAYER DESIGN:

 

REPRESENTING WINDOWS-BASED GRAPHIC USER INTERFACE COMPONENTS IN UML : Lecture 12: Modeling VB, C++, and Java GUIs

 

 

 

 

 

PRESENTATION LAYER DESIGN:

Lecture 13: Principles of Graphic User Interface Design

 

Class Discussion: Do principles of GUI design apply to web interfaces in the same ways that they apply to windows interfaces? Explain your answer? Identify an organizational web site and critique it for the criterion contained in the lecture on principles of GUI design.

 

 

 

9

 

BUSINESS LOGIC LAYER DESIGN

 

REPRESENTING SERVER-SIDE BUSINESS LOGIC LAYER WEB COMPONENTS IN UML:

Lecture 14: Modeling JSP, ASP, PHP, COLDFUSION business-logic layer components in UML

 

Class discussion:

How do web-services fit into this design domain?

 What is the difference in modeling of scripted code in comparison to compiled code?

 

 

 

 

BUSINESS LOGIC LAYER DESIGN

 

REPRESENTING JAVA COMPONENTS IN UML :

Lecture 15: Modeling J2EE Servlets and EJBs

 

Lecture 16: Java and J2EE Code Generation

 

Class discussion:

How do conventional java programs (console applications) fit into this design domain?

How do CGI programs fit into this domain

Boggs Chapter 13

Developing Components and Web Services

 

10

 

BUSINESS LOGIC LAYER DESIGN

 

REPRESENTING C++ COMPONENTS IN UML :

Lecture 17: C++ and Visual C++ Design and Code Generation

 

REPRESENTING VISUAL BASIC COMPONENTS IN UML :

 

Lecture 18: Visual Basic Design and Code Generation

 

Class discussion:

How do conventional C++ programs (console applications) fit into this design domain?

How do CGI programs (console applications) fit into this design domain?

 

Boggs Chapter 11, 12 & 14

 

 

 

DATA LAYER DESIGN: Mapping  Persistent  Objects to Relational Data Schemas

 

Lecture 19: Data Orientation, Database Design Principles and Entity Relationship Diagrams

 

UML data modeling profile

- create data model

Boggs Chapter 17

Quiz 3 (week 7 – end of week 9)

11

 

DATA LAYER DESIGN:

Lecture 20: Forward Engineering an Object Model to a Data Model  - Transforming Class diagrams into Entity Relationship diagrams 

 

 

 

Boggs chapter 18

UML and Data Modeling

JDBC Connection to ALTAMAHA

JDBC driver for sql server

JDBC Tutorial 1

JDBC Tutorial 2

Download VPN client

 

 

 

DATA LAYER DESIGN: Mapping  Persistent  Objects to Relational Data Schemas

Lecture 21: Database Normalization and Code Generation

Class discussion: Why is normalization important? Does RR perform normalization?

 

 

12

 

Review of Phase 2 of Project