Software Engineering I

CS 310

Catalog Description

Prerequisite: CS 231. Introduction to the systems development life cycle, software development models, analysis and design techniques and tools, and validation and verification testing. Emphasis and experience will be on software engineering within a team environment.

Course Objectives

This course is designed to provide the student with an overview of the process of software engineering (SE) / systems analysis and design (SAD) with a focus on the object-oriented approach. In this course you will learn the primary activities performed by a software engineer and/or systems analyst when developing and documenting computer-based information systems. The fundamental goal of this course is to introduce you to the concepts, techniques, and tools of software engineering. During the semester you will be exposed to the entire analysis and design process and will learn how to use a wide variety of methods and tools (e.g. MS Project and MS Visio) that support each phase of the process.

After successfully completing this course, you should find that you have:

Course Materials

[*] As a part of the MCIS department’s Microsoft Development Network Academic Alliance (MSDNAA) agreement, students in this class may be able to get MS Project 2003 and MS Visio 2003 for free. Other software packages, development tools, operating systems, and server software are also available. To request the availability of additional software, or to request an account, contact Petrica Trifas (ptrifas at jsu dot edu) and provide your name, JSU email address, and student number in your correspondence.

Detailed Course Outline

TopicLecture Hours
I Introduction 3
a Introduction to Systems Analysis and Design (SAD)1.5
b Introduction to object-oriented SAD 1.5
II Analysis 12
a Project initiation 1.5
b Project management 1.5
c Microsoft Project lab session 1.5
d Requirements determination 1.5
e Functional modeling 1.5
f Microsoft Visio lab session 1.5
g Structural modeling 1.5
h Behavioral modeling 1.5
IIIDesign 12
a Moving on to design 1.5
b Class and method design 3
c Data management layer design 3
d Human-computer interaction layer design 3
e Physical architecture layer design 1.5
IV Implementation and Deployment 4.5
a Construction 1.5
b Installation and operations 1.5
c ERP systems 1.5

Course Policy

The course will be conducted through a combination of lectures, in-class and online discussions and exercises, laboratory sessions, homework, exams, and a team project.

Lectures

The majority of the course content will be delivered via lectures. The majority of material discussed is represented in the assigned textbook; however, ancillary material will be provided to you during the semester expand your exposure to various aspects of software engineering. The material is not intended to undermine the text, but to supplement it. The student is responsible for taking notes on the material discussed in class. Due to the vast amount of content to be covered in this course, the instructor cannot emphasize enough how critical it is for students to read the assigned chapters prior to attending class.

Discussions, Exercises, and Assignments

Students are expected to complete all assigned activities prior to attending class, which are designed to reinforce the lecture material. Therefore, failure to do so will severely hamper your understanding of the lecture and, ultimately, your overall course grade. There will be opportunities during most class sessions to participate in discussions or exercises related to the lecture material as well as mandatory, regular participation in online discussions. The student's performance at these times will be a significant component of the class participation grade.

All assignments are due on the date announced and at the beginning of class.

Late assignments will not be accepted with the exception of a valid excuse.

Exams

There will be three examinations during the semester. The textbook as well as the ancillary material covered in class will be tested. No make-up exams will be given except under extreme circumstances, and only when permission is received from the instructor in advance when possible.

Team Project

One of the most important aspects of the course will be that students will work as a team (of 4 members) on a software system project that will cover most of the phases of the systems development life cycle. Specific details for the project are provided separately. The overall project will be evaluated for its quality and practicality; there will be a single grade for the group. However, based on your contribution to the successful completion of the project, assessed through confidential peer evaluation (elicited at least twice during the semester), individual student grades could be different. Students will be required to make presentations of their projects to the class.

Special Needs

If any student has special needs, let me know. In particular, "any student who qualifies for reasonable accommodations under the ADA or Sec 504 of the RA of 1973 should contact the instructor immediately."

Grading Policy

Team Project35%
Exams35%
Assignments and class participation30%

It is important to recognize that grading necessarily reflects the instructors' judgment regarding the quality of your work. In this sense, all grading is subjective, and different graders would undoubtedly grade work a bit differently. If you have a question about a grade, please see me within one week from when the work is returned to the class. If you request a re-grading of an exam or assignment, the entire exam or assignment will be re-graded. This could result in loss of points in other areas of the exam or assignment.

Grading scale (Percentage)
A100.00 – 90.00
B<90.00 – 80.00
c<80.00 – 70.00
D<70.00 – 60.00
F<60.00

Course Syllabus

The syllabus for this course can be downloaded here in PDF format.