Skip to main content
TR

SOFTWARE ENGINEERING

Course
CMPE314 - SOFTWARE ENGINEERING
Department
Computer Engineering - English - Undergraduate
Course Type
Course
Status
Required
Language
English
Credit
4
ECTS
7
T+P+L
3 + 0 + 2
Course Coordinator(s)
Asst. Prof. Dr. Görkem AKDUR
Prerequisite
Keywords

Course Description

The course will introduce basics and fundamentals of Software Engineering, as well as will introduce principles, methods, techniques, and tools for multi-person construction of multi-version software systems. Starting from the main objective which is the understanding the importance of Software Engineering, following will be covered in detail; introducing techniques for the development of software within an engineering project perspective, creating awareness for the quality and the severity of software aspects, effective Communication, Requirements Engineering, Project Management Fundamentals, Software Testing Principles, Software Architecture Concepts, CASE (Computer-aided software engineering) Tools for Configuration Managements and Unit Testing, introduction to Methodologies and Quality Systems. Students complete a course project where they work on a selected software design including all the analysis and design steps.

SOFTWARE ENGINEERING

Evaluation Tools (Active Term)

No evaluation items have been defined.

Course outcomes

  1. 01 Identify principles, methods and techniques used in Software Engineering
  2. 02 Describe and Discuss Software Development Life Cycle processes
  3. 03 Explain the importance of Agile development and recognise the techniques used in this area
  4. 04 Implement Process Requirements engineering
  5. 05 Practice System Modelling techniques, tools and methods
  6. 06 Describe and outline System Testing stages and System Evolution

Course Syllabus

Week Topic
Week 1 IceBreaking, Introduction to Software Engineering
Week 2 Software Process models
Week 3 Software Process activities and Agile Development
Week 4 Requirements Engineering: Functional, Non-Functional and Domain Requirements
Week 5 Requirements Engineering: Requirements eliction, analysis and specification and System Modelling, Design and Implementation: Behaviour of the System
Week 6 System Modelling, Design and Implementation: Behaviour of the System
Week 7 Midterm Exam
Week 8 Midterm Exam
Week 9 System Modelling, Design and Implementation: Structure of the System and Object-Oriented Design & Development
Week 10 Software Architecture : Model View Controller, Layered Architecture, Repository Architecture, Client - Server Architecture, Pipe - Filter Architecture
Week 11 Software Implementation
Week 12 Software Coding and Testing : Developing Testing, Test Driven Development, User Testing
Week 13 Software Evolution: Legacy System and Software Maintenance
Week 14 Revision and Case Studies
Week 15 Final Exam

Reference Books & Course Materials

  1. 01 Ian Sommerville, Software Engineering, 10th Edition, Addison Wesley, 2016.
  2. 02 D. Budgen (2003), "Software Design", Addison-Wesley
  3. 03 R.S. Pressman(2010), "Software Engineering: A Practitioner's Approach", 7th ed., McGraw Hill

Learning Outcomes

  1. L01 Identify principles, methods and techniques used in Software Engineering
  2. L02 Describe and Discuss Software Development Life Cycle processes
  3. L03 Explain the importance of Agile development and recognise the techniques used in this area
  4. L04 Implement Process Requirements engineering
  5. L05 Practice System Modelling techniques, tools and methods
  6. L06 Describe and outline System Testing stages and System Evolution

Program Outcomes

  1. P01 Adequate knowledge in mathematics, science and engineering subjects pertaining to the relevant discipline; ability to use theoretical and applied knowledge in these areas in complex engineering problems.
  2. P02 Ability to identify, formulate, and solve complex engineering problems; ability to select and apply proper analysis and modelling methods for this purpose.
  3. P03 Ability to design a complex system, process, device or product under realistic constraints and conditions, in such a way as to meet the desired result; ability to apply modern design methods for this purpose.
  4. P04 Ability to devise, select, and use modern techniques and tools needed for analysing and solving complex problems encountered in engineering practice; ability to employ information technologies effectively
  5. P05 Ability to design and conduct experiments, gather data, analyse and interpret results for investigating complex engineering problems or discipline specific research questions
  6. P06 Ability to work efficiently in intra-disciplinary and multi-disciplinary teams; ability to work individually.
  7. P07 Ability to communicate effectively in Turkish, both orally and in writing; knowledge of a minimum of one foreign language; ability to write effective reports and comprehend written reports, prepare design and production reports, make effective presentations, and give and receive clear and intelligible instructions.
  8. P08 Recognition of the need for lifelong learning ; ability to access information, to follow developments in science and technology, and to continue to educate him/herself
  9. P09 Consciousness to behave according to ethical principles and professional and ethical responsibility; knowledge on standards used in engineering practice.
  10. P10 Knowledge about business life practices such as project management, risk management, and change management; awareness in entrepreneurship, innovation; knowledge about sustainable development.
  11. P11 Knowledge about the global and social effects of engineering practices on health, environment, and safety, and contemporary issues of the century reflected into the field of engineering; awareness of the legal consequences of engineering solutions.

Po-Lo Matrix

LO P01 P02 P03 P04 P05 P06 P07 P08 P09 P10 P11 Average
L01 - - - - - - - - - - - -
L02 - - - - - - - - - - - -
L03 - - - - - - - - - - - -
L04 - - - - - - - - - - - -
L05 - - - - - - - - - - - -
L06 - - - - - - - - - - - -