Information on this page, including unit offerings, is from the 2019 academic year.
Software Architectures (ICT306)
|Organisational Unit||Information Technology, Mathematics and Statistics|
|Description||The objectives of this unit are to study different software architectures and their implications for software design. Major topics include: pipe-filter architecture and regular expressions, Client-Server architecture, batch versus run-time validation design, object-oriented design and UML, dynamic binding and inheritance, event-based architecture, finite state machines and GUI design, Petri Nets, multithreading and synchronisation, layered architectures, design patterns and other architectures. The Java programming language will be used to demonstrate implementations.|
|Unit Learning Outcomes||On successful completion of the unit you should be able to:
1. Understand the stages of the Software Development Life Cycle
2. Understand the various Architectures that can be used in software systems
3. Perform design for a system given a particular architecture
4. Develop a system using an object-oriented method and language
5. Understand a WWW-based client-server system
|Timetabled Learning Activities||Lectures: 1 x 2 hours per week; computer laboratories: 1 hour per week.|
|Unit Learning Experiences||Students learn through lecture materials, lab work, assignment work and self-study. Lectures cover the materials of the topics. Lab work and assignment work involve solving problems that students complete to achieve the learning objectives of the unit.|
|Assessment||Students demonstrate their learning through laboratory work, problem-based assignments (involving solution design, implementation, testing and documentation) and a final examination.
Students are assessed on the basis of two assignments (20% each) and a final examination (60%). The final grade for the unit will be reported as a letter grade and a mark. In order to pass the unit student must:
1) have an aggregate score for the combined assessment of 50% or better, and
2) achieve a satisfactory performance in the supervised component, which is the final examination. A satisfactory performance is normally considered to be 50% or higher.
|Prerequisites||ICT104 Principles of Computer Science OR ICT167 Principles of Computer Science; ICT231 Systems Analysis and Design OR ICT239 Software Development Frameworks.|
|Notes||Each student is expected to spend on average three hours per teaching week reading the lecture notes, books chapters and other recommended materials relevant to the topic covered in that week and spend a similar amount of time working on the lab exercises for that week. In addition, each student is required to complete two assignments and sit the final examination.|
|Appears in these Courses/Majors:
see individual structures for context
|Internet Access Requirements||Murdoch units normally include an online component comprising materials, discussions, lecture recordings and assessment activities. All students, regardless of their location or mode of study, need to have access to and be able to use computing devices with browsing capability and a connection to the Internet via Broadband (Cable, ADSL or Mobile) or Wireless. The Internet connection should be readily available and allow large amounts of data to be streamed or downloaded (approximately 100MB per lecture recording). Students also need to be able to enter into online discussions and submit assignments online.|
|No co-ordinators found for this unit.||Unit Contacts|
|No contacts found for this unit.|