Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Faculty of Informatics Department of Computer Science Course Title: Software Engineering

Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

ADMAS UNIVERSITY

FACULTY OF INFORMATICS
DEPARTMENT OF COMPUTER SCIENCE

Course Title: Software Engineering

Course Code: CoSc3061


Credit Hours: 3 Lecture Hours: 3
Laboratory Hours: - Prerequisites: CoSc3051
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
On completion of the course successfully, students 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 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 Content
Chapter 1: Introduction (6 hrs)
1.1. Two Orthogonal view of software.
1.2. Software development process models
1.2.1. Software Process
1.2.2. Software life cycle and process models
1.2.3. Process assessment models
1.2.4.Software process metrics
1.3. Object oriented system
development methodology.
1.3.1. Why an object oriented
1.3.2. Overview of
the unified approach.
1.3.3. An object
oriented philosophy
1.3.4.Basic concepts
of an object
1.3.5. Attributes of an object, its state and properties.
Chapter 2: Unified Modeling Language (UML) (8 hours)
2.1. Where Can the UML Be Used
2.2. Building Blocks of the UML.
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
Chapter 3: Requirements Elicitation (6 hours)
3.1. An overview of requirements elicitation.

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)

4.1. Responsibility of Software Project Managers


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
4.10. Project Monitoring Plans
Chapter 5: Analysis (8 hours)
5.1. Analysis Concepts
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: Sequence Diagrams
5.2.5. Identifying Associations.
5.2.6. Identifying Attributes
5.2.7. Reviewing the Analysis Model
Chapter 6: Object Oriented System Design (8 hours)
6.1. An overview of system design.
6.1.1. System design concepts.
6.1.2. System design activities: From objects to subsystems
6.1.3. Documenting system design
6.1.4. An overview of object design
6.1.5. Object design concepts
6.1.6. Object design activities
6.1.7. Managing object design
6.1.8. Documenting object design
Chapter 7: Software Quality Assurance (6 hours)
7.1. An overview of testing
7.2. Testing concepts
7.3. Testing activities
7.4. Managing testing
7.5. Impact of object oriented testing
7.6. Types of Testing
Teaching Methods
- Lectures, Demonstration, Group Discussion
Method of Evaluation
- Test 1: 10%
- Test 2: 10%
- Project work: 10%
- Presentation: 10%
- Class Activity and Attendance: 10%
- Final exam: 50%
Textbook

- Brahmin, Ali (1999), Object oriented System development, McGraw Hill, USA.
References
- Martina Seidl, Marion Scholz, Christian Huemer, Gerti Kappel. UML @ Classroom: An
Introduction to Object-Oriented Modeling. 2012. Springer International Publishing AG.
- Scott, Kendall (2004) Fast Track UML 2.0 Apress USA
- Booch, Grady Rumbaugh, James Jacobson, Ivar (2005) The Unified Modeling Language
User Guide second edition Addison Wesley Professional USA

You might also like