Cs 2401 Software Engineering 1
CIU Request Information
Course Outline
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:
- Explain and apply software engineering concepts spanning the entire software production process.
- Implement different software engineering techniques and methodologies.
- Implement different views of software systems using UML diagrams.
- 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