Computer Engineering Department

Software Engineering and Object Oriented Design(INF481)

Course Code Course Name Semester Theory Practice Lab Credit ECTS
INF481 Software Engineering and Object Oriented Design 8 4 0 0 4 5
Prerequisites
Admission Requirements
Language of Instruction French
Course Type Compulsory
Course Level Bachelor Degree
Course Instructor(s) Gülfem ALPTEKİN gulfem@gmail.com (Email)
Assistant
Objective In this course, tools and techniques that can be used in object oriented design process are introduced and students are given the experience of applying them. These tools help design both visually and textually. Students gain the ability to use methods and tools that can increase productivity in any process that can be encountered in the life cycle of a software project. Students learn the place of software engineering in computer engineering. They understands the necessity of software design and then object oriented design. They can use UML, a visual design language accepted as world standard. They can design different software problems using UML language. Students will be able to describe the software development process and life cycle in detail and compare the software development processes used in the market. They can test the developed software and calculate its expected cost/effort.
Content 1. Introduction to software engineering and design, software demand analysis – 1
2. Software want analysis – 2, software design – 1
3. Software design – 2, software design – 3
4. Software design principles - 1, software design principles - 2
5. Software architectures
6. Design patterns
7. Design patterns, conceptual design presentations
8. UML class examples
9. Midterm exam
10. Software development models, agile software development methods
11. Software testing techniques
13. Estimating in software projects
14. Software quality
15. Term project presentations
Course Learning Outcomes Upon successful completion of this course, the student will be able to:

1. Knowing the responsibilities of a software engineer, student can textually and visually report a software problem, its requirements and developed software.
2. Student can create a functional analysis, requirements analysis and design document of a software.
3. Student can select and apply the most appropriate process for developing the given software.
4. Student can chose and apply the most appropriate test method.
Teaching and Learning Methods Lecture, Discussion, Demonstration, Case Study, Problem Solving, Cooperative Learning, Project, Brain Storming
References 1. Software Engineering, Ian Sommerville, Addison-Wesley, 10th Edition, 2015.
2. Introduction to Software Engineering Design, Processes, Principles, and Patterns with UML2, Christophe Fox, Addison-Wesley, 2006.
Print the course contents
Theory Topics
Week Weekly Contents
1 Introduction to software engineering and design
2 Software requirement analysis
3 Software design
4 Software design principles
5 Software architectures
6 Design patterns
7 Conceptual design presentations
8 UML class examples
9 Midterm
10 Software development models
11 agile software development methods
12 Software testing techniques
13 Software quality
14 Term project presentations
Practice Topics
Week Weekly Contents
Contribution to Overall Grade
  Number Contribution
Contribution of in-term studies to overall grade 3 60
Contribution of final exam to overall grade 1 40
Toplam 4 100
In-Term Studies
  Number Contribution
Assignments 1 10
Presentation 0 0
Midterm Examinations (including preparation) 1 25
Project 1 25
Laboratory 0 0
Other Applications 0 0
Quiz 0 0
Term Paper/ Project 0 0
Portfolio Study 0 0
Reports 0 0
Learning Diary 0 0
Thesis/ Project 0 0
Seminar 0 0
Other 0 0
Toplam 3 60
No Program Learning Outcomes Contribution
1 2 3 4 5
1 Matematik, fizik ve mühendislik bilimlerine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, mühendislik problemlerinin modellenmesi ve çözümünde kullanabilme becerisi. X
2 Karmaşık bilgisayar mühendisliği problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi. X
3 Yazılımsal veya donanımsal karmaşık bir sistemi, süreci veya donanımı gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi. X
4 Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi. X
5 Analitik düşünce ile bir sistemi, sistem bileşenini ya da süreci analiz etme, modelleme, deney tasarlama ve yapma, veri toplama, çözüm algoritmaları üretebilme, uygulamaya alma ve geliştirme becerileri. X
6 Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi. X
7 Türkçe sözlü ve yazılı etkin iletişim kurma becerisi; en az iki yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, yazılım ve donanım tasarımını, gerekirse teknik resim metotları kullanarak raporlayabilme, etkin sunum yapabilme becerisi. X
8 Bilgiye erişebilme ve bu amaçla kaynak araştırması yapabilme, veri tabanları ve diğer bilgi kaynaklarını kullanabilme becerisi X
9 Yaşam boyu öğrenmenin gerekliliği bilinci; kendini sürekli yenileme becerisi. X
10 Mesleki etik ilkelerine uygun davranma, mesleki sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi. X
11 Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi. X
Activities Number Period Total Workload
Class Hours 13 4 52
Working Hours out of Class 1 15 15
Midterm Examinations (including preparation) 1 25 25
Project 1 30 30
Total Workload 122
Total Workload / 25 4,88
Credits ECTS 5
Scroll to Top