University of College of Informatics
Gondar Department of Computer science
COURSE OUTLINE
Program Extension
Course Information
Course Title Software Engineering
Course Code CoSc3061
Credit Hours Credit hour: 3 (Lecture: 3hrs Lab: 0hrs Tutorial: 2hrs )
Prerequisite Course None
code
Academic Year 2017 E.C
Semester I
Target Group 3rd year Computer Science Students
Instructor Information
Name Misganaw A., Samrawit B.
Office T-09 – Office No. 202
Office [consultation] Monday: 02PM-04PM
Hours Wednesday : 10AM-12PM
E-mail
[email protected] Course Description
This course provides an introduction to the problems of software development and maintenance and
the processes and methods used to address them. All phases in the software development life cycle will
be introduced. The course also deals with software project planning, cost estimation, tracking and
control, staffing, risk management, and software configuration plan.
Covers O-O concepts, tools, development life cycle, problem solving, modeling, analysis, and design,
while utilizing UML (Unified Modeling Language) for O-O modeling. UML has become the standard
notation for modeling O-O systems and is being embraced by major software developers like Microsoft
and Oracle.
Course Objectives & Competences to be Acquired
On successful completion of this module the learner will be able to:
Understand the basic principles of Software Engineering
Write requirements specification documents
Design a system, component, or process to meet desired needs.
Verify and validate a Software system practice with effective communication skill.
Describe in detail the theory, concepts and methods pertaining to the Unified Modeling
1
Language (UML).
Create requirements using use case modeling concepts.
Demonstrate conceptual and technical skills in the analysis, design and implementation of a
software system using Object Oriented Concepts.
Employ tools and techniques for Object Oriented Software Engineering,
Demonstrate an ability to adapt and solve problems in software development activities from
specification to testing individually and as part of a team.
Course Contents and Schedule
Week Topics or Subtopics or Chapters Reading Materials and
(hours) Expected Assessments
4 hrs Chapter 1: Introduction
1.1. Introduction. Lecture note
1.2. Two Orthogonal view of software. Reference
1.3. Software development process models o Chapter 1
1.3.1. Software Process o Chapter 15
1.3.2. Software life cycle and process models
1.3.3. Process assessment models
1.3.4. Software process metrics
1.4. Object oriented system development methodology.
1.4.1. why an object oriented
1.4.2. Overview of the unified approach.
1.4.3. An object oriented philosophy
1.4.4. Basic concept of object
1.4.5. Attributes object state and properties.
6 hrs Chapter 2: An overview of UML. Lecture note
2.1. Where Can the UML Be Used? Reference
2.2. Building Blocks of the UML. project
2.3. Relationships in the UML
2.4. Diagrams in the UML.
2.4.1. Use Case Diagrams
2.4.2. Class Diagrams
2.4.3. Sequence diagrams
2.4.4. State chart diagrams
2.4.5. Activity diagrams
2.4.6. Component diagram
2.4.7. Deployment diagram
2.4.8. Diagram extensions
2
8 hrs Chapter 3: Requirements Elicitation Lecture Note
3.1. An overview of requirements elicitation. Mid exam
3.2. Requirements elicitation concepts
3.2.1. Functional requirements
3.2.2. Nonfunctional and pseudo requirements
3.2.3. Levels of description
3.2.4. Correctness, completeness, consistency,
clarity, and realism
3.2.5. Verifiability and traceability
3.3. Requirements elicitation activities.
3.3.1. Identifying actors
3.3.2. Identifying scenarios
3.3.3. Identifying use cases
3.3.4. Refining use cases
3.3.5. Identifying relationships among actors and
use cases
3.3.6. Identifying initial analysis objects
3.3.7. Identifying nonfunctional requirements
3.4. Managing requirements elicitation
3.4.1. Eliciting information from users:
3.4.2. Validating requirements: Usability testing
3.4.3. Documenting requirements elicitation
Chapter 4: Software Project management (6 hours) Lecture note
4.1. Responsibility of Software Project Managers Reference
4.2. Project Planning
4.3. The organization of SPMP document
4.4. Project Size Estimation Metrics
4.5. Project Estimation Techniques
4.6. Scheduling, Organization and Team Structures
4.7. Staffing
4.8. Risk Management
4.9. Quality Assurance
Project Monitoring Plans
4 hrs Chapter 5: Analysis (8 hours) Lecture note
5.1. Analysis Concepts Reference
5.1.1. Entity, Boundary, and Control Objects
5.1.2. Association Multiplicity Revisited
5.1.3. Qualified Associations
5.1.4. Generalization
5.2. Analysis Activities: From Use Cases to Objects
5.2.1. Identifying Entity Objects
5.2.2. Identifying Boundary Objects
5.2.3. Identifying Control Objects
5.2.4. Modeling Interactions between Objects:
3
Sequence Diagrams
5.2.5. Identifying Associations.
5.2.6. Identifying Attributes
5.2.7. Reviewing the Analysis Model
6 hrs Chapter 6: Object Oriented System Design (8 hours) Lecture note
6.1. An overview of system design. Reference
6.2. System design concepts.
6.3. System design activities: From objects to subsystems
6.4. Documenting system design
6.5. An overview of object design
6.6. Object design concepts
6.7. Object design activities
6.8. Managing object design
6.9. Documenting object design
Chapter 7: Software Quality Assurance (6 hours) Lecture note
6.1. An overview of testing Reference
6.2. Testing concepts
6.3. Testing activities
6.4. Managing testing
6.5. Impact of object oriented testing
6.6. Types of Testing
Text Book
1. Brahmin, Ali (1999), Object oriented System development, McGraw Hill, USA.
References
1. Martina Seidl, Marion Scholz, Christian Huemer, Gerti Kappel. UML @ Classroom: An
Introduction to Object-Oriented Modeling. 2012. Springer International Publishing AG.
2. Scott, Kendall (2004) Fast Track UML 2.0 Apress USA
3. Booch, Grady Rumbaugh, James Jacobson, Ivar (2005) The Unified Modeling Language User
Guide second edition Addison Wesley Professional USA
Evaluation Schemes
(This may vary on the number of students per class, but general evaluation scheme is as below)
Quizzes, assignments and tests 10%
Mid Exam 20%
Projects 20%
Final Exam 50%