0% found this document useful (0 votes)
43 views6 pages

COSC-1104 Software Engineering-1

The Software Engineering course (COSC-1104) covers fundamental principles, practices, and processes of software engineering, including project management, software development methodologies, and requirements engineering. Students will learn to apply modern tools to analyze and solve real-world problems through lectures, assignments, and projects. The course includes a comprehensive curriculum that addresses software processes, architectural design, testing, and quality assurance over a sixteen-week teaching plan.

Uploaded by

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

COSC-1104 Software Engineering-1

The Software Engineering course (COSC-1104) covers fundamental principles, practices, and processes of software engineering, including project management, software development methodologies, and requirements engineering. Students will learn to apply modern tools to analyze and solve real-world problems through lectures, assignments, and projects. The course includes a comprehensive curriculum that addresses software processes, architectural design, testing, and quality assurance over a sixteen-week teaching plan.

Uploaded by

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

Software Engineering

Credit Hours: 3 Course Code: COSC-1104 Prerequisites: None


Course Learning Outcomes(CLOs):
After the completion of this course the student should be able to: Domain BT Level*
1. Demonstrate Basic project management skills for solving real world
C 2
problems.
2. Understand and be able to apply the principles of software engineering
C 3
practice and process
3. Build Software using modern tools to solve real world problems. C 3

4. Analyze Real world problems by using software engineering constructs C 4

* BT= Bloom’s Taxonomy, C=Cognitive Domain, P=Psychomotor Domain, A=Affective Domain

Course Contents:
Nature of Software, Overview of Software Engineering, Professional software development, Software
engineering practice, Software process structure, Software process models, Agile software
Development, Agile process models, Agile development techniques, Requirements engineering process,
Functional and non-functional requirements, Context models, Interaction models, Structural models,
behavioural models, model driven engineering, Architectural design, Design and implementation, UML
diagrams, Design patterns, Software testing and quality assurance, Software evolution, Project
management and project planning, configuration management, Software Process improvement
Teaching Methodology:
Lectures, Written Assignments, Semester Project, Presentations.

Course Assessment:
Lectures, Written Assignments, Semester Project, Presentations.
Reference Material:
7. Software Engineering, Sommerville I., 10th Edition, Pearson Inc., 2014
8. Software Engineering, A Practitioner’s Approach, Pressman R. S.& Maxim B. R., 8 th Edition, McGraw-Hill, 2015.
Sixteen Week Teaching Plan
Course Title & Course Code Software Engineering / COSC-1104
Credit Hours 03
Pre-Requisite(s), if any No
Department / Institute Computer Science
Faculty Information Technology
Program/semester/section BS-Computer Science
BOS Meeting # and Date 9th BOS Meeting, 08-Aug-2023

Week 1
Course Learning 1. Understand and be able to apply the principles of Software engineering practice
Outcome (CLO) and process.

Contents / Sub Introduction to Software Engineering


Contents  What is Software
 What is Software Crisis
 Software Engineering Evolution
 What is Software Engineering
 Professional Software Development
 Software Engineering Ethics
 Case Studies
 Software Products, Generic vs Custom Products
Week 2
Course Learning 1. Understand and be able to apply the principles of Software engineering practice
Outcome (CLO) and process.
Contents / Sub Fundamentals of Software Engineering
Contents  Software Engineering
 Importance of Software Engineering
 Software Process Activities
 Issues that affect Software
 Software Engineering Diversity
 Types of Applications
Week 3
Course Learning 1. Understand and be able to apply the principles of Software engineering practice
Outcome (CLO) and process.
Contents / Sub Software Processes
Contents  SE fundamentals
 Web Software Engineering
 SE Ethics
 ACM / IEEE Code of Ethics
 Case Studies
 Embedded System Case Study
 Information System Case Study
 Sensor Based System Case Study
Week 4
Course Learning 1. Understand and be able to apply the principles of Software engineering practice
Outcome (CLO)
and process.

Contents / Sub Software Processes (contd…)


Contents  The Software Process
 Plan Driven & Agile Processes
 Process Models
 Water Fall Model
 Incremental Model
 Integration & Configuration Model
Week 5
Course Learning 1. Understand and be able to apply the principles of Software engineering practice
Outcome (CLO) and process.
Contents / Sub Software Process Activities
Contents  Process Activities
 Software specification
 Design & Implementation
 Software Testing
 Coping with Change
 Software Prototyping
 Incremental Delivery
 Boehm’s Spiral Model
Week 6
Course Learning 1. Understand and be able to apply the principles of Software engineering practice
Outcome (CLO) and process.
2. Demonstrate Basic project management skills for solving real world problems.
Contents / Sub Agile Software Development
Contents  Agile methods
 Agile development techniques
 Extreme Programming (XP)
 XP
 User Stories
 Refactoring
 Test First Development
 Pair Programming
Week 7
Course Learning 1. Understand and be able to apply the principles of Software engineering practice
Outcome (CLO) and process.
2. Demonstrate Basic project management skills for solving real world problems.
Contents / Sub Agile Software Development (contd…)
Contents  Agile Project Management
 Scrum
 Scrum Sprints
 Scaling Agile Methods
 Scaling Out and Scaling Up
 Agile Methods for Large Software Systems
 IBM Agility at Scale Model
Week 8
Course Learning 1. Demonstrate Basic project management skills for solving real world problems.
Outcome (CLO)
2. Build Software using modern tools to solve real world problems.
Contents / Sub CASE
Contents  Introduction
 Available CASE tools
 Demo
 Forward & Reverse Engineering
Week 9
Course Learning 1. Understand and be able to apply the principles of Software engineering practice
Outcome (CLO) and process.
2. Analyze Real world problems by using software engineering constructs.
Contents / Sub Requirements Engineering
Contents  Rational Unified Process Model
 Basics of Requirement
 Functional & Non-Functional Requirements
 Requirements Engineering Process
 Requirements Elicitation,
 RE Techniques,
 Interviewing,
 Ethnography,
 Stories & Scenarios
 Case Studies

Week 10
Course Learning 1. Understand and be able to apply the principles of Software engineering practice
Outcome (CLO) and process.
2. Analyze Real world problems by using software engineering constructs.

Contents / Sub Requirements Engineering continued


Contents  Requirement Specification
 Requirements Validation
 Requirements Validation techniques,
 Requirements Change Management
 Case Studies
Week 11
Course Learning 1. Understand and be able to apply the principles of Software engineering practice
Outcome (CLO) and process.
2. Build Software using modern tools to solve real world problems.
Contents / Sub System Modeling
Contents  Systems Modeling,
 Interaction Perspective
 External, Structural and Behavioral Perspective
 Introduction to UML,
 Context Model,
 Use Case Diagram,
 Activity Diagram
Week 12
Course Learning 1. Understand and be able to apply the principles of Software engineering practice
Outcome (CLO) and process.
2. Build Software using modern tools to solve real world problems.
Contents / Sub System Modeling (contd…)
Contents  Class Diagram, Association, Aggregation, Composition, Inheritance,
Multiplicity
 Sequence Diagram
Model Driven Engineering
CASE tools & System Modeling
Week 13
Course Learning 1. Understand and be able to apply the principles of Software engineering practice
Outcome (CLO) and process.
2. Build Software using modern tools to solve real world problems.
Contents / Sub Architectural Design
Contents  Architectural Design
 Architectural Views
 Architectural Patterns
Design Patterns
Week 14
Course Learning 1. Understand and be able to apply the principles of Software engineering practice
Outcome (CLO) and process.
2. Build Software using modern tools to solve real world problems.
3. Demonstrate Basic project management skills for solving real world problems.
Contents / Sub Software Testing and Quality Assurance
Contents  Testing
 Verification & Validation
 Development Testing
 Performance testing,
 Stress Testing,
 Unit Testing,
 Component, Integration, Regression testing,
 White box and black box testing
 SQA
Software Evolution
Week 15
Course Learning 1. Demonstrate Basic project management skills for solving real world problems.
Outcome (CLO)
2. Build Software using modern tools to solve real world problems.
3. Analyze Real world problems by using software engineering constructs.
Contents / Sub Software Project Management
Contents  Software Project Management
 Management activitie
 Types of project plan
 Project scheduling
 The risk management process
 Project configuration
 SPM and its Levels
 Time, Cost & Scope triangle
 CASE tools & SPM
Week 16
Course Learning 1. Demonstrate Basic project management skills for solving real world problems.
Outcome (CLO)
2. Build Software using modern tools to solve real world problems.
3. Analyze Real world problems by using software engineering constructs.
Contents / Sub Global Software Development
Contents  The four approaches to GSD
 Issues in GSD
 Work allocation
Software Process Improvement

Curriculum Contents: Nature of Software, Overview of Software Engineering, Professional


software development, Software engineering practice, Software process structure, Software process
models, Agile software Development, Agile process models, Agile development techniques,
Requirements engineering process, Functional and non-functional requirements, Context models,
Interaction models, Structural models, behavioural models, model driven engineering, Architectural
design, Design and implementation, UML diagrams, Design patterns, Software testing and quality
assurance, Software evolution, Project management and project planning, configuration
management, Software Process improvement

You might also like