[go: up one dir, main page]

0% found this document useful (0 votes)
51 views4 pages

Cit 3109 Software Engineering Course Outline Updated

The CIT 3109 Software Engineering course focuses on developing software systems from scratch, covering software process models, project management, and requirements engineering using UML. Students will learn to analyze, design, and implement software systems while applying quality assurance techniques. The course includes lectures, discussions, and assessments, with a total duration of 39 hours.

Uploaded by

mugocaleb718
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
51 views4 pages

Cit 3109 Software Engineering Course Outline Updated

The CIT 3109 Software Engineering course focuses on developing software systems from scratch, covering software process models, project management, and requirements engineering using UML. Students will learn to analyze, design, and implement software systems while applying quality assurance techniques. The course includes lectures, discussions, and assessments, with a total duration of 39 hours.

Uploaded by

mugocaleb718
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 4

Course title: CIT 3109: SOFTWARE ENGINEERING COURSE OUTLINE 39 HOURS

Prerequisite: SYSTEM ANALYSIS AND DESIGN


Course purpose:
This course is aimed at helping students build up an understanding of how to develop a software
system from scratch by guiding them through the development process and giving them the
fundamental principles of system development with object oriented technology using UML. The
course will initiate students to the different software process models, project management,
software requirements engineering process, systems analysis and design as a problem-solving
activity, key elements of analysis and design, and the place of the analysis and design phases
within the system development life cycle.
Learning outcomes
At the end of the course, the student should be able to demonstrate the following:
 Develop an understanding of, software process models, project management and the ability
to select the suitable model to use in software development.
 Develop an understanding of requirements engineering process and distinguish between
different types of requirements.
 Ability to analyze, design and develop the system models using object oriented methodology
(UML) for software development.
 Ability to prepare the software requirements specification document for a software project
 Demonstrate the ability to research a particular topic and develop it for a specific audience
and purpose.
 Implement various quality assurance techniques, including unit testing, functional testing,
and automated analysis tools

Course description

Introduction to Software Engineering. Software Processes/Introduction to software development


life cycle/models, Software development methods. Software requirements engineering, Software
Design. System Modeling: Introduction to OO Analysis and Design (UML), Use Cases,
Sequence Diagrams, Conceptual Modelling, Class Diagrams. Modularity verification and
validation. Debugging environments. Documentation. Software project management. Cost
estimation models. Issues in software quality assurance and software maintenance.
Configuration management. Software standards and metrics. Software tools support for systems
engineering. Certification. CASE tools.

COURSE PLAN

WEEK 1&2: CHAPTER ONE: INTRODUCTION TO SOFTWARE ENGINEERING


1.1. Introduction

Page 1 of 4
1.2. Basic concepts: Frequently Asked Questions (FAQ’s)
1.2.1. What is software?
1.2.2. Categories of software.
1.2.3. Who does it?
1.3. The role of software
1.4. Software evolution
1.5. Software process

WEEK 3: CHAPTER TWO: SOFTWARE PROCESSES


2.1 Software process models
2.2 Process iteration
2.3 Process activities
2.4 Design and Implementation
Lesson Software validation, evolution and Automated
process support
2.5 Computer-aided software engineering

WEEK4: CHAPTER THREE: SOFTWARE REQUIREMENTS ENGINEERING

2.1. Software requirements.


2.2. Data requirements.
2.3. Functional and non-functional requirements
2.4. User requirements
2.5. System requirements
2.6. Interface specification
2.7. The software requirements documents
2.8. Software engineering processes

WEEK 5: CHAPTER 4: DESIGN ENGINEERING &ASSIGNMENT 1


3.1. Design concepts
3.1.1. Abstraction
3.1.2. Architecture
3.1.3. Distributed system architecture
3.1.4. Object oriented design
3.2. Patterns
3.3. Design classes
3.4. Modularity-component level design
3.5. Information hiding
3.6. Functional independence

WEEK 6: CAT 1

WEEK 7: CHAPTER 4: SOFTWARE TESTING

4.1. Verification and validation


4.2. Organizing for software testing
Page 2 of 4
4.3. Testing strategies
4.3.1. Unit testing
4.3.2. Integration testing
4.4. Testing strategies for object-Oriented architecture.
4.4.1. Unit testing
4.4.2. Integration testing
4.5. Criteria for completion of testing

WEEK 8: CHAPTER 5: SOFTWARE PROJECT MANAGEMENT

5.1. Management activities


5.2. Project planning
5.3. Project scheduling
5.4. Risk management

WEEK 9: CHAPTER 6: SOFTWARE METRICS, SIZING, COST ESTIMATION


/SOFTWARE
COST ESTIMATION

6.1. Software measurements and metrics


6.2. Software productivity
6.3. Software estimation techniques
6.4. Algorithmic cost modeling
6.5. Project duration and staffing
6.6. Exercises on cost estimation

WEEK10: CAT2

WEEK 11: CHAPTER 7: QUALITY MANAGEMENT


7.1. Process and product quality
7.2. Software Quality Assurance and Standards
7.3. Quality planning
7.4. Quality control
7.5. Software measurement and metric
7.6. SQA activities

WEEK12: CHAPTER 8: CONFIGURATION MANAGEMENT

8.1. Configuration management planning


8.1.1. Planning
8.1.2. Change management
8.1.3. Version and release management
8.1.4. CASE tools for configuration management.

WEEK13: CHAPTER 9: SOFTWARE MAINTENANCE


9.1. perfective,
Page 3 of 4
9.2. adaptive
9.3. corrective maintenance
9.4. preventive

Teaching Methodology

Lecture, class discussion, assignment/project, group work/discussion

Instruction materials /equipment

White board, Projector, Lecture Slides, computer components.

Course assessment Course Evaluation

Continuous Assessment Tests 20%


Assignments 10%
End of semester examination 70%
Total 100%

Course reference text books

Main Textbooks

The following are suitable texts books for this course:


1) Sommerville, I. (2020). Engineering software products. 11th Edition London: Pearson
2) Summerville, I. (2015). Software Engineering, 10th Edition. Addison-Wesley, ISBN: 0-
13-394303-8
3) Lecture notes: include presentations that will be made available by the instructors
and notes that you will take during lectures

Textbooks/Journals for further reading


1. Bernd Bruegge and Allen H. Dutoit, (2010) Object Oriented Software Engineering –
using UML, Patterns, and Java, Third Edition, Prentice Hall,
2. Goger S. Pressman , Software Engineering : A Practitioners Approach
3. Ian Sommerville’s web-site for the textbook: http://iansommerville.com/software-
engineering-book/ [Note: 10 th edition]
4. The Software Engineering Institute, at Carnegie Mellon University, www.sei.cmu.edu
5. The Object Management Group: www.omg.org

Page 4 of 4

You might also like