You are on page 1of 4

Software Engineering [CS-324]

Credit Hours: 3+1

Pre-requisites:
Data Structures and Algorithms

Course Objective:
To understand, analyze and develop complex software by going through different phases of
software engineering methodology

Course Outline:
Introduction to software engineering, Models of the software development process, Software
requirements and specifications, Project planning, organization and management, Software
analysis and design techniques, Team project activities, Software quality assurance, Software
testing, Software Engineering tools (CASE Tools) and environments.

Recommended Reading:
1. Pressman, Roger S., "Software Engineering: A Practitioner's Approach", 6th Edition, Mc-
Graw Hill.
2. Sommerville , "Software Engineering", 8th Edition, Pearson Education
Software Engineering - Concentration Specific Outcomes (Blooms Taxonomy):
Candidates of the program are expected to demonstrate:

Specific
S.No Objective Blooms
Taxonomy
1 an ability to apply knowledge of mathematics, science, and engineering C3,

2 an ability to design and conduct experiments, as well as to analyze and interpret data C3, C5

an ability to design a system, component, or process to meet desired needs within

3 realistic constraints such as economic, environmental, social, political, ethical, health C3, C5

and safety, manufacturability, and sustainability

4 an ability to function on multi-disciplinary teams C4

5 an ability to identify, formulate, and solve engineering problems C1, C4, C5

6 an understanding of professional and ethical responsibility C2

7 an ability to communicate effectively C5

8 a recognition of the need for, and an ability to engage in, life-long learning C1

an ability to use the techniques, skills, and modern engineering tools necessary for

engineering practice.
9 C5, C4, C6
the ability to analyze, design, verify, validate, implement, apply, and maintain software

systems

the ability to appropriately apply discrete mathematics, probability and statistics, and

10 relevant topics in computer science and supporting disciplines to complex software C3

systems
Course Learning Outcomes [CLOs]:
The students will be able to:

1. Model the structure and behavior a software system the UML class diagrams and state diagrams
[CLO1]
2. Design a solution to a given problem using one or more design patterns and implement the design in
a programming language [CLO2]
3. Apply software testing and quality assurance techniques at the module level, and understand these
techniques at the system and organization level [CLO3]
4. Understand common lifecycle processes including waterfall (linear), incremental approaches (such
as Unified process), and agile approaches [CLO4]
5. Work collaboratively in a small team environment to develop a moderate-sized software system from
conceptualization to completion, including requirements elicitation, system modeling, system design,
implementation, unit and system testing, integration, source code management configuration
management, and release management [CLO5]
6. Prepare technical documentations and make presentations on various aspects of a software
development project, including the technical aspects (architecture, design, quality assurance) as well
as the managerial aspects (planning, scheduling, and delivery) [CLO6]
7. Use electronic communication tools to effectively collaborate with team members in different
countries with different cultural backgrounds [CLO7]
Mapping of CLOs to PLOs

Program Learning Outcomes [PLOs]


Outcomes
Learning
Course

[CLOs]

PLO1 PLO2 PLO3 PLO4 PLO5 PLO6 PLO7 PLO8 PLO9 PLO10 PLO11 PLO12

CLO 1 C2

CLO 2 C5

CLO 3 C3

CLO 4 C4 C5

CLO 5 C2

CLO 6 C1

CLO 7 C3

You might also like