Вы находитесь на странице: 1из 4

Software Engineering [CS-324]

Credit Hours: 3+1

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:

S.No Objective Blooms
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


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

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

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
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]




CLO 1 C2

CLO 2 C5

CLO 3 C3

CLO 4 C4 C5

CLO 5 C2

CLO 6 C1

CLO 7 C3