Professional Documents
Culture Documents
SEG Software Engineering 2011 Module Description: Hanoi University Faculty of Information Technology
SEG Software Engineering 2011 Module Description: Hanoi University Faculty of Information Technology
SEG Software Engineering 2011 Module Description: Hanoi University Faculty of Information Technology
1. Module Details Faculty Module code Module name Level Credits Prerequisites Suggested study Year
2. Nature of the module This module is a practical introduction to software engineering. It consists of two parts. Part I teaches the students the core object oriented programming concepts and techniques in Java. Part II introduces the students to the software engineering method and uses the materials introduced in Part I to teach the students the process of analysing, designing, implementing and testing a real-world software. The students will apply this software engineering method to a small software project. 3. Learning objectives Upon completion of this module, students are expected to: 3.1 develop clear, concise, and sufficiently formal requirements for extensions to an existing system, based on the requirement needs of end users 3.2 apply design principles and patterns while designing and implementing a system 3.3 apply an essential sub-set of the analysis and design artefacts of the Unified Modelling Language to model aspects of the domain, system behaviour, and software architecture 1
3.4 apply the full software development process to a small software project Learning Resources Prescribed text book: Liskov B. and Guttag J., Program Development in Java: Abstraction, Specification, and Object Oriented Design, Addison Wesley, 2001 Supplementary text books: TB2 Sommerville, I., Software engineering, 9th ed, Addison Wesley, 2011 TB3 Larman C., Applying UML And Patterns: An Introduction to ObjectOriented Analysis and Design and the Unified Process, 2001
Assessment The module consists of the following components: Assessments Software engineering project Final Test Weights 5% 5% 10% 20% 60% Brief Description Requirement definition Requirement analysis Software design Software implementation and testing Covers all the materials that have been studied during the semester Learning objectives 3.1-3 3.1-3
Grading scheme There are two components of the module grade. The first component is the final mark and the second component is the final grade. The final mark, which is in the scale of 10, is a weighted average of all the assessments. The final grade, on the other hand, is determined from the final mark according to the following scheme: Mark Grade less than 5 Fail 5 Pass 6-7 Good 8-10 Excellent Pass Criteria Students must pass the internal assessment in order to take the final test. To pass the module, you must (1) attend at least 80% of lectures and tutorials and (2) achieve a Pass grade (as explained above). If you failed the module then you are permitted to retake the final test once.
Weekly Schedule Weeks 1 Descriptions Introduction to Object Programming in Java object, decomposition, abstraction program structure, packages, API Input/Output streams
References: Chapters 1, 2
Data abstraction abstraction function and rep invariant specification & implementation reasoning about data abstraction design issues
References: Chapter 5
4 5
Type hierarchy and other abstractions Iteration abstraction Type hierarchy Polymorphic abstractions
References: Chapter 6,7,8
Testing and debugging testing methods and procedures testing abstractions and type hierarchy testing tool: JUnit debugging and defensive programming
References: Chapter 10
Ex 10.13,7 Homework: 4
Design patterns factory flyweights, singletons, state bridge procedural patterns composites publish-subscribe
References: Chapter 15
Ex 15.1* Review
(i) application
domain selection (ii) requirement specification for the selected domain entities (iii) extending the requirements Ex 11.1*, HW 11.1
KEngine requirements
10
Requirement Modelling use case diagram class diagram component diagram sequence diagram
References: Chapter 12, TB2: Chapter 5, TB3: Chapters 6, 1011
(i) KEngine
architectural modelling Ex 13.12*
KEngine design
13 Implementation from design to code
References: Chapter 14
(i) implementation
plan for an extension (ii) implementing a system extension Ex 14.5,6* 4
KEngine implementation
14
Testing system testing KEngine testing Review Lecture Project due Review weeks
15
16
Final Test
Academic Honesty and Misconduct Hanoi University expects all students and staff to act with honesty and integrity in all matters.