ADVANCED TOPICS IN SOFTWARE ENGINEERING
- Course
- ISYE555 - ADVANCED TOPICS IN SOFTWARE ENGINEERING
- Department
- Information Systems Engineering - English - Master
- Course Type
- Course
- Status
- Required
- Language
- English
- Credit
- 3
- ECTS
- 0
- T+P+L
- 3 + 0 + 0
- Course Coordinator(s)
- -
- Prerequisite
- -
- Keywords
- -
Course Description
The main topics discussed in this course are development methodologies and design patterns. Software life cycle phases like requirements, design, implementation, testing and deployment will be discussed with methodologies like Waterfall, prototyping and Extreme Programming. Also design patterns like creational, structural and behavioral patterns will be evaluated.
ADVANCED TOPICS IN SOFTWARE ENGINEERING
Evaluation Tools (Active Term)
No evaluation items have been defined.
Course outcomes
- 01 Identify principles, methods and techniques used in Software Engineering.
- 02 Describe and Discuss Software Development Life Cycle processes.
- 03 Explain the importance of Agile development and recognise the techniques used in this area.
- 04 Implement Process Requirements engineering.
- 05 Practice System Modelling techniques, tools and methods.
- 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 | Agile Development |
| Week 4 | Project Management |
| Week 5 | Requirements Engineering: Functional, Non-Functional and Domain Requirements |
| Week 6 | Requirements Engineering: Requirements eliction and specification |
| Week 7 | System Modelling, Design and Implementation: Behaviour of the System |
| Week 8 | Midterm Exam |
| Week 9 | System Modelling, Design and Implementation: Structure of the System |
| Week 10 | System Modelling, Design and Implementation: Object-Oriented Design & Development |
| Week 11 | Software Architecture : Model View Controller, Layered Architecture, Repository Architecture, Client - Server Architecture, Pipe - Filter Architecture |
| Week 12 | Software Testing : Developing Testing, Test Driven Development, User Testing |
| Week 13 | Software Evolution: Legacy System and Software Maintenance |
| Week 14 | Review and Exercises |
| Week 15 | Final Exam |
Reference Books & Course Materials
- 01 Ian Sommerville, Software Engineering, 10th Edition, Addison Wesley, 2016.
Learning Outcomes
- L01 Identify principles, methods and techniques used in Software Engineering.
- L02 Describe and Discuss Software Development Life Cycle processes.
- L03 Explain the importance of Agile development and recognise the techniques used in this area.
- L04 Implement Process Requirements engineering.
- L05 Practice System Modelling techniques, tools and methods.
- L06 Describe and outline System Testing stages and System Evolution.
Program Outcomes
- Demonstrate advanced knowledge of core concepts and theoretical frameworks in Management Information Systems, and apply them to develop innovative models that reflect current advancements in the field.
- Analyze complex organizational problems and design integrated information systems solutions by applying advanced MIS knowledge and synthesizing multiple theoretical perspectives.
- Develop and manage database systems and data-driven applications that ensure effective storage, retrieval, and use of organizational data in real-world contexts.
- Utilize data analytics, business intelligence tools, and data visualization techniques to extract actionable insights and support strategic, data-driven decision-making.
- Evaluate and apply emerging technologies such as AI, IoT, and Blockchain to drive digital transformation, enhance organizational performance, and formulate original research inquiries.
- Conduct independent and collaborative research using appropriate methodologies, and communicate findings effectively through scholarly writing and presentations suited to diverse audiences.
- dentify and address ethical, legal, and societal implications in the research, development, and use of information technologies, adhering to scientific and professional standards.
- Collaborate effectively in multidisciplinary teams and demonstrate leadership in addressing complex technology-driven challenges.
- Apply project management methodologies and tools to plan, execute, and monitor IT projects within organizational settings.
- Develop and integrate information systems that align with organizational goals and strategies, supporting innovation and sustainable growth.
- Perform comprehensive systems analysis and design, including requirements gathering, modeling, prototyping, and evaluating enterprise system architectures such as ERP, CRM, and SCM.
- Assess and mitigate organizational information security risks by applying appropriate principles, technologies, and best practices in cybersecurity.
Po-Lo Matrix
| LO | Average | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| L01 | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L02 | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L03 | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L04 | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L05 | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L06 | - | - | - | - | - | - | - | - | - | - | - | - | - |