1. Title of subject Seminar in Software Engineering and Architecture Practices 2. Subject code TSS7021 3. Status of subject Elective 4. Credit hour 2 LAN Credit Hours Equivalence: 2.00 5. Semester Year 2, Module 5 6. Pre-Requisite Architecture of Large Software Systems (TAL7011) or Software Requirements Engineering (TSR7011) 7. Methods of teaching 28 Hours of Lecture and Seminar 8. Assessment 50% Assignments and Case Studies 50% Presentation Total 100% 9. Teaching staff (Proposed) Mr. Helmi Mohamed Hussain Lecturers from the Faculty, in addition to, speakers from the industries to share their experience in the workshop and seminar sessions. 10. Objective of subject To expose students to the theoretical and practical applications in software engineering and architecture, through workshop discussions that require heavy emphasis on class participation and presentation. 11. Synopsis of subject This course aims to fulfill the capstone requirement in software engineering and architecture. In the theoretical part, students will learn about the principles and methods of software engineering and architecture, including current and emerging practices and support tools. In the practical part, students will become familiar with the development of software products from an industry perspective, including generation of appropriate documents, under tight schedules and limited resources. Kursus ini akan melengkapkan keperluan dalam bidang kejuteraan perisian dan senibina. Dalam bahagian teori, pelajar-pelajar akan didedahkan dengan dasar-dasar dan kaedah-kaedah dalam bidang kejuteraan perisian dan senibina, termasuk amalan-amalan dan alatan-alatan terkini dan akan datang. Dalam bahagian praktikal, pelajar-pelajar akan didedahkan dengan pembangunan produk perisian dari sudut perspektif pihak industri, di samping penjanaan dokumen yang berkenaan, di dalam kekangan masa yang tertentu dan sumber yang terhad. By the end of the subject, students should be able to understand: The practise (theory and practical aspects) of creating and maintaining software applications by applying technologies and practices from computer science, engineering, project management, application domains and other related fields. The representation of an engineered software system and the process and discipline for effectively implementing the design(s) for such system. 12. Learning Outcomes Programme Outcomes Acquisition and broadening of knowledge in advanced concepts and best practices in software engineering and architecture. Strengthening of practical, analytical and management skills in software engineering and architecture. Enhancing professional skills in career-related areas. Adaptability and passion for learning. Cultivation of innovative minds and development of entrepreneurial skills. Understanding moral, professional ethics and responsibility. 13. Details of subject 1. % of contribution 10 % 30 % 30 % 10 % 10 % 10 % Total 100 % Topics Covered Hours Software Engineering and Architecture Revolution Principles of software engineering and architecture, Programming-in-the-small versus programming-in-the-large, Software crisis, Tools. 4 2. Workshop Discussion 1: Software Process and Project Management Software lifecycle, Team dynamics, Human factors, Usability, Project planning, Project control, Project organization, Risk management, Cost models, Configuration management, Version controls, Quality assurance, Metrics. 4 3. Workshop Discussion 2: Software Requirements and Designs Requirements analysis, Requirements solicitation, Requirements definition, Requirements specification, Requirements review, Static and dynamic specification, Analysis tools, Design for reuse, Design for change, design notations, Design evaluations and validations 4 4. Workshop Discussion 3: Designing the Software Modules and Communications Client server, Distributed computing, Peer-topeer, Blackboard, Implicit Invocation, Pipes and filters, Plugin, Monolithic system, Three-Tier model, Structured, Software componentry, Service-oriented architecture. 4 5. Workshop Discussion 4: Software Implementation and Maintenance Programming standards and procedures, Modularity, Data Abstraction, Static analysis, Testings and tools, Fault tolerance, Maintenance problem, Nature of maintenance, Planning for maintenance. 4 6. Workshop Discussion 5: Current Issues and Future Trends Software design pattern, Software antipatterns, Standard data models, Development of new tools to support: quality system design, multiple system views, methodology independent, user interface, communication with other tools, documentation production, resource requirements, and computer environments. 4 7. 14. Text Seminar (Guest Speakers) Half-day to a full-day seminar from the industries or practitioners of software engineering and architecture. 4 Total Contact Hours 28 References Pressman, R., Software Engineering: A Practitioner’s Approach. 6th Edition, McGraw-Hill, 2004. Bass, L., Clements, P., and Kazman, R., Software Architecture in Practice. 2nd Edition, Addison-Wesley Professional, 2003. Other reference materials will include journal publications, conference proceedings, published standards and white papers that will be announced by the lecturer.