This course introduces an engineering approach to building software systems. Students will work in teams towards building a software product while going through certain phases including a feasibility study, requirements analysis, object-oriented design, implementation, testing, and delivery to the client. The course will also provide advanced topics such as project management and risk analysis.
The course is structured as a lecture and a lab. In the lecture, we will discuss concepts and principals. In the lab, we will go through the tools that can be used to apply the course concepts.
Course Content
This course contains; The Product and Process ,Project Management,Requirements Engineering,Software engineering processes and modelling ,Structural Modelling,Behavioral Modelling,Introduction to software design,Design Methods - I,Midterm,Design Methods - II,Testing strategies,Testing Methods,Umbrella Activities ,Advanced topics ,Final Project Presentation.
Dersin Öğrenme Kazanımları
Teaching Methods
Assessment Methods
1. Understand the software development process
16, 17, 9
A, E, F
2. Understand the advantages and disadvantages of current software life cycle models
16, 17, 9
A, E, F
3. Use the best methods to plan, analyze, design, test, measure, and manage software projects
16, 17, 9
A, E, F
4. Understand that good people are one of, if not the most important, requirements for successful projects
A: Traditional Written Exam, E: Homework, F: Project Task
Course Outline
Order
Subjects
Preliminary Work
1
The Product and Process
Textbook Chapter 1
2
Project Management
Textbook Chapter 2
3
Requirements Engineering
Textbook Chapter 3
4
Software engineering processes and modelling
Textbook Chapter 4
5
Structural Modelling
Textbook Chapter 5
6
Behavioral Modelling
Textbook Chapter 6
7
Introduction to software design
Textbook Chapter 7
8
Design Methods - I
Textbook Chapter 8
9
Midterm
Textbook Chapters between 1 and 8
10
Design Methods - II
Textbook Chapter 9
11
Testing strategies
Textbook Chapter 10
11
Testing Methods
Textbook Chapter 11
12
Umbrella Activities
Textbook Chapter 12
13
Advanced topics
Textbook Chapter 13
14
Final Project Presentation
Final presentation
Resources
Software Engineering: A practitioner’s Approach by Roger S. Pressman and Bruce Maxim, 8th edition, Mc Graw Hill, 2015
Course Contribution to Program Qualifications
Course Contribution to Program Qualifications
No
Program Qualification
Contribution Level
1
2
3
4
5
1
An ability to apply knowledge of mathematics, science, and engineering
2
An ability to identify, formulate, and solve engineering problems
3
An ability to design a system, component, or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability
4
An ability to use the techniques, skills, and modern engineering tools necessary for engineering practice
5
An ability to design and conduct experiments, as well as to analyze and interpret data
6
An ability to function on multidisciplinary teams
7
An ability to communicate effectively
8
A recognition of the need for, and an ability to engage in life-long learning
9
An understanding of professional and ethical responsibility
10
A knowledge of contemporary issues
11
The broad education necessary to understand the impact of engineering solutions in a global, economic, environmental, and societal context
Assessment Methods
Contribution Level
Absolute Evaluation
Rate of Midterm Exam to Success
30
Rate of Final Exam to Success
70
Total
100
ECTS / Workload Table
Activities
Number of
Duration(Hour)
Total Workload(Hour)
Course Hours
13
3
39
Guided Problem Solving
0
0
0
Resolution of Homework Problems and Submission as a Report
14
6
84
Term Project
0
0
0
Presentation of Project / Seminar
4
8
32
Quiz
0
0
0
Midterm Exam
1
24
24
General Exam
1
48
48
Performance Task, Maintenance Plan
0
0
0
Total Workload(Hour)
227
Dersin AKTS Kredisi = Toplam İş Yükü (Saat)/30*=(227/30)
8
ECTS of the course: 30 hours of work is counted as 1 ECTS credit.
Detail Informations of the Course
Course Description
Course
Code
Semester
T+P (Hour)
Credit
ECTS
SOFTWARE ENGINEERING
-
Fall Semester
3+2
4
8
Course Program
Prerequisites Courses
Recommended Elective Courses
Language of Course
English
Course Level
First Cycle (Bachelor's Degree)
Course Type
Elective
Course Coordinator
Prof.Dr. Mehmet Kemal ÖZDEMİR
Name of Lecturer(s)
Assist.Prof. Muhsin Zahid UĞUR
Assistant(s)
Aim
This course introduces an engineering approach to building software systems. Students will work in teams towards building a software product while going through certain phases including a feasibility study, requirements analysis, object-oriented design, implementation, testing, and delivery to the client. The course will also provide advanced topics such as project management and risk analysis.
The course is structured as a lecture and a lab. In the lecture, we will discuss concepts and principals. In the lab, we will go through the tools that can be used to apply the course concepts.
Course Content
This course contains; The Product and Process ,Project Management,Requirements Engineering,Software engineering processes and modelling ,Structural Modelling,Behavioral Modelling,Introduction to software design,Design Methods - I,Midterm,Design Methods - II,Testing strategies,Testing Methods,Umbrella Activities ,Advanced topics ,Final Project Presentation.
Dersin Öğrenme Kazanımları
Teaching Methods
Assessment Methods
1. Understand the software development process
16, 17, 9
A, E, F
2. Understand the advantages and disadvantages of current software life cycle models
16, 17, 9
A, E, F
3. Use the best methods to plan, analyze, design, test, measure, and manage software projects
16, 17, 9
A, E, F
4. Understand that good people are one of, if not the most important, requirements for successful projects
A: Traditional Written Exam, E: Homework, F: Project Task
Course Outline
Order
Subjects
Preliminary Work
1
The Product and Process
Textbook Chapter 1
2
Project Management
Textbook Chapter 2
3
Requirements Engineering
Textbook Chapter 3
4
Software engineering processes and modelling
Textbook Chapter 4
5
Structural Modelling
Textbook Chapter 5
6
Behavioral Modelling
Textbook Chapter 6
7
Introduction to software design
Textbook Chapter 7
8
Design Methods - I
Textbook Chapter 8
9
Midterm
Textbook Chapters between 1 and 8
10
Design Methods - II
Textbook Chapter 9
11
Testing strategies
Textbook Chapter 10
11
Testing Methods
Textbook Chapter 11
12
Umbrella Activities
Textbook Chapter 12
13
Advanced topics
Textbook Chapter 13
14
Final Project Presentation
Final presentation
Resources
Software Engineering: A practitioner’s Approach by Roger S. Pressman and Bruce Maxim, 8th edition, Mc Graw Hill, 2015
Course Contribution to Program Qualifications
Course Contribution to Program Qualifications
No
Program Qualification
Contribution Level
1
2
3
4
5
1
An ability to apply knowledge of mathematics, science, and engineering
2
An ability to identify, formulate, and solve engineering problems
3
An ability to design a system, component, or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability
4
An ability to use the techniques, skills, and modern engineering tools necessary for engineering practice
5
An ability to design and conduct experiments, as well as to analyze and interpret data
6
An ability to function on multidisciplinary teams
7
An ability to communicate effectively
8
A recognition of the need for, and an ability to engage in life-long learning
9
An understanding of professional and ethical responsibility
10
A knowledge of contemporary issues
11
The broad education necessary to understand the impact of engineering solutions in a global, economic, environmental, and societal context