Software Engineering

Also available in: Türkçe

  • Program Coordinator:Assist. Prof. Dr. Kaan Uyar
  • Prof. Dr. Adil Amircanov
  • Assist. Prof. Dr. Boran Şekeroğlu
  • Assist. Prof. Dr. Ümit İlhan
  • Assist. Prof. Dr. Kaan Uyar
Code Course Name Credits ECTS
SE511 Principles of Software Engineering 3 10
SE513 Software Requirements Engineering 3 10
Elective 3 10
Toplam Credits 9 30

2nd Term

Code Course Name Credits ECTS
SE512 Managing Software Development 3 10
SE514 Software Design Process 3 10
Elective 3 10
Toplam Credits 9 30

3rd Term

Code Course Name Credits ECTS
SE500 Thesis 0 30
SE501 Seminar 0 20
SE515 Software Quality Assurance and Reliability 3 10
Toplam Credits 3 60

4th Term

Code Course Name Credits ECTS
SE500 Thesis 0 30
Toplam Credits 0 30

500 Thesis
Program of research leading to MSc degree, arranged between a student and the faculty member. Students register to this course in all semesters starting from the beginning of their third semester while the research program or write-up of the thesis is in progress.

The students taking the course are required to make presentations on their project studies and prepare reports.

511 Principles of Software Engineering
Introductory concepts in software engineering covering an overview of topics in software life cycle, project planning, software management, requirements capture and analysis, human factors, functional specification, software architecture, design methods, programming for reliability and maintainability, team programming, testing methods, configuration management, system delivery and maintenance, process and product evaluation and improvement and project documentation.

512 Managing Software Development 
Overview of general project management issues. Specialized management techniques unique to nature of software development. Fundamental issues of software project management. Project personnel and organization. Software size, development duration, cost, budgeting and schedule estimation. Detailed project planning and scheduling in software development. Software process management. Software configuration management. Public domain and commercial tools for software project management.

SE513 Software Requirements Engineering
System and software requirements engineering. Identification, elicitation, modeling, analysis, specification, management, and evolution of functional and non-functional requirements. Interactions and trade-offs among hardware, software, and organization. Transition from requirements to design. Critical issues in requirements engineering.

514 Software Design Process
Representations of design and architecture. Software architectures and design plans. Design methods. Design state assessment. Design quality assurance. Design verification. Group design and implementation of an application.

SE515 Software Quality Assurance and Reliability
Processes and methods for developing, assessing and maintaining quality software. Quality factors, reliability, robustness etc. Software quality assurance via verification, testing and fault-tolerance. Software quality standards and enforcement processes. Software verification.


COM 506 Database System Design 
Introduction to Database Systems, Overview of Database Design Process. Semantic Database Models. Logical Database Design: Entity-Relationship Model to Relational Model. Query Processing and Optimization, Relational algebra, and Relational Calculus. Schema Refinement and Normal Forms, Normalization. Transaction Management, Crash Recovery, and Concurrency Control. Object-Database Systems. OODBMS, ORDBMS.

COM 516 Distributed Systems 
Function and structure of modern distributed operating and database management systems. Theoretical foundations are given for concurrency, interference, and mutual exclusion. Considered synchronous and asynchronous communication are main reasoning about message passing. Remote procedure call and rendezvous mechanisms are conceptual for the client-server systems. Distributed resource management schemes are essential points of implementation and case studies. Advanced concepts of distributed data bases (transactions management in distributed and object-oriented databases) with future trends are introduced.

An overview of distributed databases, a review of databases, concurrency control in centralized DBMSs, concurrency control in distributed databases, serializability theory 3, two-phase locking, timestamps ordering serialization, graph checking, time interval technique, optimistic methods, handling replicated data multi-version data, distributed database design, recovery query processing in distributed DBMSs.

Elements of Softcomputing. Hybrid intellectual systems. Fuzzy logic, fuzzy and linguistic modeling. Neural systems, neural modeling. Genetic algorithms, gentic operators. Chaos theory. Fuzzy neural networks and their learning. Neuro-genetic systems. Fuzzy-genetic systems. Neuro-fuzzy-genetic systems. Modelling and application of Softcomputing elements for solving different engineering problems.

Introduction to E-commerce, E-Commerce Business Models and Concepts, The Internet and Word Wide Web, E-Commerce Infrastructure, Building an E-Commerce Web Site, Online Security and Payment Systems, E-Commerce Marketing Concepts, E-Commerce Marketing Communications, Ethical Social and Political Issues in E-Commerce, Online Retailing and Services, Online Content and Media, Social Networks, Auctions and Portals, Supply Chain Management and Collaborative Commerce

Stochastic Properties of Random Signals. Stationary and Nonstationary Process. Ergodic Process. Corellation Function and Spectrum of Random Signals. Guassian Process. Noise Calculations. Markov Process. Linear and Kalman Filtering. Problems Using Matlab.