Skip to main content

ITEC 370

I. Course Title: Software Engineering I

II. Course Number: ITEC 370 

III. Credit Hours: 3 credits

IV. Prerequisites: ITEC 220 with a grade of “C” or better.

V. Course Description: 

Introduction to the principles of software engineering and the design and implementation strategies appropriate for large software projects. Includes project planning, specification of project requirements, architectural design, verification and validation techniques, and software maintenance.

Note(s): Applied Learning designated course.

VI. Detailed Description of Content of the Course:

Topics include:

1. Software life cycle models

2. Software Planning

  • a. Project Scope and Objectives
  • b. Project Budget

3. Requirements definition and specification

  • a. Software requirements document
  • b. Requirements validation
  • c. Requirements analysis

4. System Models and Prototyping

5. Software Design

  • a. High Level Data Flow Diagrams
  • b. Architectural Context Models

6. Human-Computer Interaction

  • a. Usability
  • b. Standards, styles, and guidelines
  • c. Interaction development process
  • d. Evaluation

7. Verification, Validation and Integration

  • a. Black box testing
  • b. Structural testing
  • c. Top-down integration
  • d. Bottom-up integration

8.  Ethics

9. Version Control in a team based environment

VI. Detailed Description of Conduct of Course:

The focus of this class is theoretical software engineering and its application to large project development. Projects for this course are intended to introduce students to the complete software process from system conception through implementation.

VII. Goals and Objectives of the Course:

Students who complete the course will be able to:  

  1. Demonstrate an understanding of various approaches and methodologies used in different phases of software development lifecycle, including planning, requirements analysis and specification, software development, and testing.
  2. Participate in a software development team to plan activities, choose leadership, delegate responsibility, and follow a large software development project from inception to completion.
  3. Effectively communicate technical matters (written and verbally) with programmers, managers, clients, and users.
  4. Produce written software requirements and software design documents detailing the objective, scope, and operational scenarios of the intended software product.
  5. Perform each phase of the software development lifecycle effectively, using up-to-date methodologies or tools.
  6. Develop skills that will enable them to construct software of high quality software that is reliable, and that is reasonably easy to understand, modify and maintain.
  7. Identify and evaluate non-functional software qualities such as reliability, efficiency, portability, and maintainability.
  8. Describe the profile of the user community for which the team builds an effective graphical user interface.
  9. Discuss the ethics and ethical responsibilities of the software engineering practice.
  10. Compare and contrast various software development lifecycles and chose an appropriate lifecycle based on the business units characteristics and goals.
  11. Demonstrate the use of version control software in a team-based environment
  12. Students will be able to reflect on how the skills they learn in this class will apply to professional roles.

VIII. Assessment Measures:

Participation in the design of a large software project is crucial to the successful completion of this course. At least two exams will also be used in evaluating the student's level of material assimilation.  All will be used to measure each student’s performance.

 

Other Course Information: None

 

Review and Approval 

DATE ACTION APPROVAL
April 1985 Updated for changes in course content F. B. Green, Chair Curriculum Committee
Sept. 1991 Reviewed for changes in course content and methodolgy

Allen L. Bures, Chairman Department of Management

Nov. 15, 1999 Prerequisite Change Felix Amenkhienan, Chair  Department of Accounting, Finance and Information Systems
Sept. 25, 2011 Updated John P. Helm, Chair  Department of Information Technology
Feb, 2003 Updated John P. Helm, Chair
Nov, 2003 Updated Joseph Chase, Chair

Revised: June 1, 2012

March 01, 2021