Skip to Content - Skip to Navigation

COSC 319 Software Engineering Concepts

Loading...

Prerequisites: COSC 310 or permission of the instructor

Software engineering concepts include the collection of tools, procedures, methodologies, and accumulated knowledge about the development and maintenance of software-based systems. This course is strongly suggested for any student planning to take an internship in Computer Science. After an overview of the phases of the software lifecycle, current methodologies, tools, and techniques being applied to each phase will be discussed in depth with localized exercises given to reinforce learning of concepts.

Course Objectives

This course will serve to broaden the student's understanding of the issues and latest developments in the area of software development and maintenance. To reach this goal, the following objectives need to be met:

  1. Define the current state of software development and maintenance characterized as "the software crisis."
  2. Understand the multidimensional aspect of software engineering, which is the current best attempt at solving the software crisis.
  3. Become familiar with popular models of the software development and maintenance process.
  4. Using the waterfall model, study the inputs, outputs, and processes present in each phase.
  5. Study the core concepts present in several popular methodologies and be able to identify strengths and weaknesses of each.
  6. Study existing CASE tools to be able to identify opportunities to automate tasks through the use of such tools.
  7. Consider the issues and techniques present in confidence gaining measures residing in each phase of the software lifecycle.
  8. Briefly investigate problems present in project management.

Course Outline

The following subjects will be addressed:

A. Course Introduction and Administration — 0.5 hours

B. The Software Crisis and Software Engineering — 3.0 hours

C. The Software Life Cycle - A Model of Software Development — 1.5 hours

D. Requirements Analysis — 1.5 hours

E. Design Issues — 3.0 hours

F. Design Methodologies — 6.0 hours

G. Implementation Techniques — 3.0 hours

H. Development Tools — 3.0 hours

I. Software Quality — 6.0 hours

J. Generic Code and Automatic Code Generation — 6.0 hours

K. Programming Environments — 3.0 hours

L. Management of Software Development — 3.0 hours

M. Maintenance — 3.0 hours

Evaluation Methods

Grades will be determined by taking the weighted (to approximate the distribution of points below) point total and identifying where 90 percent, 80 percent, 70 percent, and 60 percent of the total points lies.

Points and percentages are allocated as follows:

Two exams (including final) — 30% 300 points (150 points each)
Papers — 30% 300 points
Projects — 30% 300 points
Homework — 10% 100 points
TOTAL — 100% 400 points

Suggested Textbook

Schach, Stephen, Classical Object-Oriented Software Engineering with UML and C++, Fourth Edition, McGraw Hill, 1999.

Loading...
  • Computer Science Department
  • Stright Hall, Room 319
    210 South Tenth Street
    Indiana, PA 15705
  • Phone: 724-357-2524
  • Fax: 724-357-2724
Loading...
  • Office Hours
  • Monday through Friday
  • 7:30 a.m. – 12:00 p.m.
  • 1:00 p.m. – 4:00 p.m.