Thursday, March 6: Tan Wang is giving Mehdi Amoui Kalareh's office hours. 16:00-17:00, EIT4122.
Why is it so hard to build large-scale software systems? How can we deal with the problems inherent in such an endeavour? While there are no sure-fire solutions, researchers and practitioners have developed a number of techniques and technologies that can improve your chances of successfully delivering so-called "enterprise-class" software systems.
A key technique is the idea of software reuse, which has long been a holy grail of software engineering. The general software reuse problem remains open. However, in this course, we will discuss solutions for a particular class of applications. These applications tend to share the following characteristics: they have many layers, including a front-end (typically web-based); some business logic in the middle; and a persistent storage backend (typically an interface to a database).
Components can help developers better work with layered software and enable them to attach together the different parts at various layers. To this end, we will investigate specification languages (e.g. UML), which describe what each part can do; and architectural styles and frameworks (e.g. J2EE), for tying the parts together. We will briefly visit the topics of component-based processes, integration, testing, evolution and maintenance.
The Office for Persons with Disabilities (OPD), located in Needles Hall, Room 1132, collaborates with all academic departments to arrange appropriate accommodations for students with disabilities without compromising the academic integrity of the curriculum. If you require academic accommodations to lessen the impact of your disability, please register with the OPD at the beginning of each academic term.