Cs 2401 Software Engineering 1

CIU Request Information

CS2401: Software Engineering 1

Prerequisites

CS 1103 Programming 2

Credits:

3

Course Description:

Software Engineering is a broad topic that begins with the general introduction to software development and then onto the identification and understanding of the important phases of any software project . This course focuses on the pragmatic aspects concerned with the production of software from early inception to post-release activities, such as development processes, requirements analysis, design methodologies, development methodologies, verification and testing, and quality control. We will be focusing on Agile Development and Object Oriented Development Techniques, use of UML and other related methodologies. By the end of the course you will know what it takes to be a software engineer/software engineering researcher, understand how projects are planned and the techniques that are used to validate, test, and improve their performance.

Required Textbook and Materials:

The main required textbooks for this course are listed below, and can be readily accessed using the provided links. There may be additional required/recommended readings, supplemental materials, or other resources and websites necessary for lessons; these will be provided for you in the course’s General Information and Forums area, and throughout the term via the weekly course Unit areas and the Learning Guides.

Software Requirements/Installation:

No special requirements.

Learning Objectives and Outcomes:

By the end of this course students will be able to:

  1. Explain and apply software engineering concepts spanning the entire software production process.
  2. Implement different software engineering techniques and methodologies.
  3. Implement different views of software systems using UML diagrams.
  4. Describe various project management activities including, software re-engineering, re-use, and software quality assurance methodologies.

Course Schedule and Topics:

This course will cover the following topics in eight learning sessions, with one Unit per week.

Week 1: Unit 1 – Introduction to Software Engineering, SDLC

Week 2: Unit 2 – Software Requirements and Architecture

Week 3: Unit 3 – USE Case Modeling and UML and Design

Week 4: Unit 4 – Analysis and Design

Week 5: Unit 5 – Implementation, Testing. Introduction to Modeling and System Specifications

Week 6: Unit 6 – Software Measurement and Estimation

Week 7: Unit 7 – Design Patterns, Information Security

Week 8: Unit 8 – Software Reengineering, Documentation

Week 9: Unit 9 – Course Review and Final Exam