Objectives• Help the student understand • theories, methods, and technologies • applied for professional software development. • A general introduction to the field of software engineering • an understanding of what it means to do software engineering Jul2013 SE. Course outline 2• an understanding of what it means to do software engineering • alternative methods and approaches. • Teamproject practice • project management and modeling • use tools and approaches to process analysis and improvement
SOFTWARE ENGINEERING Course outline Jul-2013 SE Course outline Objectives • Help the student understand • theories, methods, and technologies • applied for professional software development • A general introduction to the field of software engineering • an understanding of what it means to software engineering • alternative methods and approaches • Team-project practice • project management and modeling • use tools and approaches to process analysis and improvement Jul-2013 SE Course outline Textbook/reference book • [1] Ian Sommerville (2010), Software Engineering (9th ed.), ISBN 978-0-137-03515-1, Addison Wesley • http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/ • [2] G Booch, J Rumbaugh, I Jacobson (1998), The Unified Modeling Language User Guide, Addison-Wesley • [3] E.J Braude (2001), Software Engineering: An ObjectOriented Perspective, ISBN 978-0-471-32208-5, John Wiley • [4] Gamma, E., Helm, R., Johnson, R., Vlissides, J., Design Patterns: Elements of Reusable Object-Oriented Software, ISBN 978-0201633610, AddisonWesley Professional (November 10, 1994) Jul-2013 SE Course outline Student learning outcomes • Explain principles, concepts, methods and techniques of • • • • the software engineering approach (software development lifecycle, diagrams, …) Design a medium-size software system for particular requirements using sound engineering principles (project plans, documentations, quality assurance activities) Share workload as a member of a team engaged in technical work Recognize the need for, and follow an engaging in, continuing software engineering professional development Express requirements & design models using the UML Jul-2013 SE Course outline Evaluation • Lab (including assignments): 40% • Final exam: 50% • In-class Activity: 10% Jul-2013 SE Course outline LAB • Lab sessions start one week later • Lab hours: individual or group work on assignments instructed by TAs • UML tool: open-source UML tools, or PatternWeaver sponsored by Tech Arts • Assignments to be submitted – no delay Schedule Jul-2013 Wk Topics Course outline - Introduction SE Course outline Readings Ch1[1], Ch0[3], IEEE Lab Software Process Ch2[1], Ch1[3] Lab Intro to Assg #1 Requirements Engineering Ch4[1], Ch3-4[3], [2] Fix your groups Requirements Requirements Eng (cont.) UML use-case diagrams System Modeling Ch5[1] Seq diagrams Intro to Assig #2 System Modeling (cont.) Ch5[1] Assg #1 due Assig #2 to-dos 7-8 Review & More exercises Software Architecture Assg #2 to-dos Intro to Assq #3 Ch6[1], Ch5[3] Assg #2 to-dos 10 Detailed Design Ch7[1], Ch6[3], [2] Assg #2 due 11 Detailed Design (cont.) Ch7[1], Ch6[3], [2] Assg #3 to-dos 12 Detailed Design (cont.) + Guest Lecture Ch7[1], Ch6[3], [2] Assg #3 to-dos 13 Software Implementation Ch7-9[3] Assg #3 to-dos 14 Software Testing & Evolution Ch8[1], Ch8-9[3], Assg #3 to-dos Ch9[1], Ch 10 [1] 15 Review Assg #3 due Jul-2013 SE Course outline Contact • Lecturer: • Lam-Son Lê (lamson@cse.hcmut.edu.vn) • Education: Ph.D (EPFL, Switzerland), Eng Dip (HCMC Tech, Vietnam) • Experience: Principal Developer, Software Architect, Business Analyst • Research: Requirements Engineering, Software Design, Enterprise Architecture, Business Processes, Services Science • Email subject: [SE course] … • Course website: • https://elearning.cse.hcmut.edu.vn/