0% found this document useful (0 votes)
39 views

SW Eng Course Outline

This document outlines a software engineering course that introduces students to all phases of the software development life cycle. The course covers object-oriented concepts, modeling using UML, requirements elicitation, analysis, design, project management, quality assurance, and testing. It is a 3-credit compulsory course taught over one semester with 3 hours of lecture per week. Students will be assessed through assignments, tests, a project, and a final exam.

Uploaded by

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

SW Eng Course Outline

This document outlines a software engineering course that introduces students to all phases of the software development life cycle. The course covers object-oriented concepts, modeling using UML, requirements elicitation, analysis, design, project management, quality assurance, and testing. It is a 3-credit compulsory course taught over one semester with 3 hours of lecture per week. Students will be assessed through assignments, tests, a project, and a final exam.

Uploaded by

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

Software

Engineering
COURSE OUTLINE

SOFTWARE ENGINEERING BY: KIBRU G. 02/27/2024 1


Software Engineering Course
Syllabus
General Information: Instructor Information:
University: Haramaya University Name: Kibru G.
College: College of Computing and Informatics Office: Old Engineering, B1
Department: Computer Science Email: [email protected]
Course Title: Software Engineering Phone: 09 11 36 83 69
Course Code: CoSc3061
Credit Hrs.: 3 ECTS: 5
Lecture Hrs.: 3Hr. Lab Hrs.: 0Hr.
Prerequisite: None
Course Category: Compulsory
Class Year: III
Semester: I

SOFTWARE ENGINEERING BY: KIBRU G. 02/27/2024 2


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.

The course covers object-oriented concepts, tools, development life cycle, problem solving,
modeling, analysis, and design, while utilizing UML (Unified Modeling Language) for object-
oriented modeling. UML has become the standard notation for modeling Object-Oriented systems
and is being embraced by major software developers like Microsoft and Oracle.

SOFTWARE ENGINEERING BY: KIBRU G. 02/27/2024 3


Course objectives
Upon successful completion of the course, the student should 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 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.
SOFTWARE ENGINEERING BY: KIBRU G. 02/27/2024 4
Course outline: …
Chapter 1: Introduction
1. Two Orthogonal view of software.
2. Software development process models
1. Software Process
2. Software life cycle and process models
3. Process assessment models
4. Software process metrics
3. Object oriented system development methodology
1. Why an object oriented
2. Overview of the unified approach.
3. An object-oriented philosophy
4. Basic concepts of an object
5. Attributes of an object, its state and properties.

SOFTWARE ENGINEERING BY: KIBRU G. 02/27/2024 5


Course outline: …
Chapter 2: Unified Modeling Language (UML)
1. Where Can the UML Be Used
2. Building Blocks of the UML.
3. Relationships in the UML
4. Diagrams in the UML.
1. Use Case Diagrams
2. Class Diagrams
3. Sequence diagrams
4. State chart diagrams
5. Activity diagrams
6. Component diagram
7. Deployment diagram
8. Diagram extensions

SOFTWARE ENGINEERING BY: KIBRU G. 02/27/2024 6


Course outline: …
Chapter 3: Requirements Elicitation
1. An overview of requirements elicitation.
2. Requirements elicitation concepts
1. Functional requirements
2. Nonfunctional and pseudo requirements
3. Levels of description
4. Correctness, completeness, consistency, clarity, and realism
5. Verifiability and traceability
3. Requirements elicitation activities
1. Identifying actors
2. Identifying scenarios
3. Identifying use cases
4. Refining use cases
5. Identifying relationships among actors and use cases
6. Identifying initial analysis objects
7. Identifying nonfunctional requirements
4. Managing requirements elicitation
1. Eliciting information from users:
2. Validating requirements: Usability testing
3. Documenting requirements elicitation
SOFTWARE ENGINEERING BY: KIBRU G. 02/27/2024 7
Course outline: …
Chapter 4: Software Project management (Reading Assignment)
1. Responsibility of Software Project Managers
2. Project Planning
3. The organization of SPMP document
4. Project Size Estimation Metrics
5. Project Estimation Techniques
6. Scheduling, Organization and Team Structures
7. Staffing
8. Risk Management
9. Quality Assurance
10.Project Monitoring Plans

SOFTWARE ENGINEERING BY: KIBRU G. 02/27/2024 8


Course outline: …
Chapter 5: Analysis
1. Analysis Concepts
1. Entity, Boundary, and Control Objects
2. Association Multiplicity Revisited
3. Qualified Associations
4. Generalization
2. Analysis Activities: From Use Cases to Objects
1. Identifying Entity Objects
2. Identifying Boundary Objects
3. Identifying Control Objects
4. Modeling Interactions between Objects: Sequence Diagrams
5. Identifying Associations.
6. Identifying Attributes
7. Reviewing the Analysis Model

SOFTWARE ENGINEERING BY: KIBRU G. 02/27/2024 9


Course outline: …
Chapter 6: Object Oriented System Design
1. An overview of system design.
1. System design concepts.
2. System design activities: From objects to subsystems
3. Documenting system design
4. An overview of object design
5. Object design concepts
6. Object design activities
7. Managing object design
8. Documenting object design

SOFTWARE ENGINEERING BY: KIBRU G. 02/27/2024 10


Course outline:
Chapter 7: Software Quality Assurance
1. An overview of testing
2. Testing concepts
3. Testing activities
4. Managing testing
5. Impact of object-oriented testing
6. Types of Testing

SOFTWARE ENGINEERING BY: KIBRU G. 02/27/2024 11


Text/Reference books:
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

SOFTWARE ENGINEERING BY: KIBRU G. 02/27/2024 12


Assessment methods
(Conditional)

Assignment/s and/or quizzes:____________________15%

Tests and/or Mid:_______________________________20%

Project:_______________________________________25%

Final Examination:______________________________40%

SOFTWARE ENGINEERING BY: KIBRU G. 02/27/2024 13

You might also like