ASWEC 2007  

18th Australian Conference on Software Engineering

MELBOURNE, AUSTRALIA, 10-13 APRIL, 2007

 
 
ASWEC 2007 Home
ASWEC 2007 > Tutorials  

The 18th Australian Software Engineering Conference (ASWEC 2007) will again host a number of tutorials covering emerging and key topics in Software Engineering. Tutorials either last half or one day and give attendees deeper, more extensive insight into a topic area than a conventional lecture would be able to do. It is expected that tutorials will also give participants the opportunity to network and build future collaborations. All tutorials are held on Tuesday, April 10, 2007.


Full-day Tutorials

T1: Test Automation Architectures

Presenters: Tafline Murnane (taflinem@kjross.com.au), KJ Ross & Associates (KJRA).
Description:
Test automation has the potential to greatly increase the efficiency and effectiveness of the testing effort. Successful test automation requires a significantly higher investment than the simple purchase of test automation tools. To get the maximum benefit from test automation requires training and the selection of an appropriate test automation framework.

This tutorial will present a number of different automation architectures and their respective advantages and disadvantages. The architectures presented will include: action-word driven and model-based test frameworks, and capture-playback, scripted and data-driven tools. You will learn about writing, maintaining and managing tests using each of these architectures and we will discuss a process for the adoption of test automation architectures.

Objectives:
  • To understand how to develop reusable and extensible automated test suites robust enough to survive changes to the application under test.
  • To discuss the applicability and maturity of the following test automation framework architectures:
    • Unit test frameworks
    • Scripted automation
    • Capture/playback and data-driven test automation
    • Action word (keyword) driven test automation
    • Model-based testing<
  • To develop knowledge and guidelines that will be helpful in the selection and use of test automation frameworks and tools.
Discussion of the architectures will be supported through practical examples. Examples will be continuous and extended with the presentation of each successive architecture, illustrating the advantages over the previously presented architectures.

Target Audience:
  • Test automation engineers wishing to mature their test automation processes,
  • Test managers and test leads responsible for selecting tools to improve the efficiency and effectiveness of testing,
  • Software engineers interested in the development of test automation tools.
Presenter's bio:
After 3 years of working as an Analyst/Programmer, Tafline began a PhD in software testing with the Department of Computer Science and Computer Engineering at La Trobe University, in which she developed a framework for describing and tailoring black-box testing methods. During that time, Tafline also lectured and tutored in a variety of software engineering subjects, including software testing and reliability, system design and programming in C++. In 2006 Tafline accepted her current position as Software Test Consultant for K. J. Ross & Associates in Melbourne. She is now in the final stages of completing her PhD while working in industry. Her interests include automation of black-box testing methods, methods for capturing domain knowledge that is pertinent to conducting more effective black-box testing, and test process improvement.

For more information about this tutorial, refer to
http://www.kjross.com.au.

T2: Introducing New Hires to Software Development in a Commercial Environment

Presenter: Bram van Oosterhout (Bram.Van_Oosterhout@kaz-group.com), KAZ Canberra.
Description:
In our experience at KAZ Canberra, our new hires find it hard to see how their role integrates with the larger organisation that delivers a product. Left unaddressed, gaining that understanding generally requires years of experience, gained across multiple roles and many projects.

Our challenge was to find a way to expose new hires to the various roles, responsibilities, activities, and quality management system (processes) we use in our applications development projects ... and to make that exposure a highly effective learning experience in a relatively short timeframe.

This tutorial describes one part of our new-hire program in Canberra. More specifically, the tutorial:
  • Describes our challenges in more detail,
  • Presents a solution that is working extremely well for KAZ Canberra,
  • Shares an exercise that illustrates how we expose new hires to roles, responsibilities, activities, and the organization's quality management system,
  • Provides an opportunity to discuss implications on university teaching and industry expectations.
Target Audience:
  • University attendees, who are keen to improve their understand of what industry needs, hopes for, and expects; to be exposed to one example of experiential learning that connects well with new hires.
  • Industry attendees, who are keen to learn what types of learning experiences universities, are providing, to discuss learning needs with university participants.
  • General attendees, who would like an example of an exercise they can use to illustrate major applications development, verification, and quality activities - an exercise they may "steal" and adapt to their own learning environments.
Presenter's bio:
KAZ is the largest Australian owned information and communications technology (ICT) company. It is the independently managed ICT and IP services arm of Telstra. KAZ Canberra provides applications development, systems integration and managed services.

Bram van Oosterhout is the Quality Manager at KAZ Canberra. Bram is responsible for the implementation and maintenance of the company's ISO 9000 compliant processes and procedures. He leads KAZ's internal audit team and the process improvement initiatives based on company wide observations. Bram develops and presents internal seminars, short courses and training programs, covering project management and tracking, system design and general software engineering. He also coaches project managers, architects and testers.

For more information about this tutorial, refer to
http://www.kaz-group.com.


Half-day Tutorials

T3: Planned-Agile Development with TDD and Peer Review

Presenter: Daniel M. Berinson (daniel@systec.com.au), Systec Engineering Pty Ltd and Systec IT.
Description:
Planned-Agile Development with TDD and Peer Review addresses the tension between planned estimates, project budgets and the reality of day-to-day software development. This tutorial focusses in the core software developer tasks that revolve around Test-Driven Development (TDD) and Peer Review. We will include discussion of applicable principles of object-oriented design, enterprise patterns and programming idioms.

TDD implies writing the tests first then the code to satisfy each failing test. Design Reviews and code inspections are sessions that allow other developers to review the detailed design, coded implementation and unit tests for each component. The seminar includes a Case Study and Tutorial to examine a business problem, user requirements, initial architecture and TDD of one component.

Presenter's bio:
Dr. Daniel M. Berinson is the Managing Director of Systec Engineering Pty Ltd and is the Principal Software Architect of Systec IT. He specialises in Planned-Agile software development, object-oriented design and enterprise patterns, and is an experienced consultant, coach and trainer. Dr Berinson is a graduate of the AICD Company Directors Course and pursues his professional interests in IT strategy, leadership and change management, and has been invited onto the Engineering Industry Advisory Committee of the Murdoch University School of Engineering.

For more information about this tutorial, refer to
http://systecit.com/seminar_aswec2007.html.

T4: Architecture Decision Making and Knowledge Management: Concepts, Technologies, Challenges

Presenters: Ali Babar, National ICT Australia, and Antony Tang, Swinburne University of Technology
Description:
Modern software systems are typically built by acquiring and integrating various components developed by commercial or open source entities, whose teams are commonly geographically distributed. The architecture design decisions made by designers can rely on implicit assumptions and arbitrary judgments that are difficult to verify. Capturing and managing the technical knowledge, contextual information, and rationale surrounding the design decisions underpinning the system architectures and software components can greatly improve the architecture development process. If not managed, this critical design knowledge is not verifiable, and it is implicitly embedded in the architecture, becoming tacit knowledge which erodes as personnel on the project change. Moreover, the unavailability of architecture knowledge precludes organizations from growing their architectural capabilities.

In this tutorial, we highlight the benefits and challenges in capturing and managing software architecture knowledge for supporting an architecture-centric software development process. We discuss an architecture rationalization method that makes use of qualitative and quantitative reasoning for architecture decision making. We discuss various approaches to characterize software architecture knowledge based on the requirements of a particular domain. We describe various concepts and approaches to manage the software architecture knowledge from both management and technical perspectives. We also demonstrate the utility of captured architecture knowledge to support software architecture activities with a case study covering the use of architecture knowledge management techniques and tool in an industrial project. The specific architecture knowledge management technology used during the tutorial is BRedB, a software tool developed in National ICT Australia. Finally, the ways in which Wikis can be used to manage architecture knowledge are discussed.

Objectives:
After attending this tutorial, we expect the audience to
  1. Understand the various constructs and their relationships that characterize architecture knowledge and domain modeling for architecture knowledge.
  2. Comprehend the challenges involved in managing architecture knowledge.
  3. Acquire a new perspective to view architecture design as a series of objective decision making steps.
  4. Understand he process and approaches to capture and manage architecture knowledge.
  5. Being able to utilize architecture knowledge to improve the architecture design and evaluation process.
  6. How to select and tailor or build an appropriate repository of architecture knowledge to support the knowledge management process.
Target Audience:
The target audience is software architects, engineers, project managers and researchers who are responsible for developing or acquiring component-based software intensive systems. A basic understanding of software architecture design and evaluation processes and principles is assumed.

Presenters' bio:
Ali Babar is a researcher with the National ICT Australia. He has been active in software engineering research for more than seven years in Australia and Asia. He has also been designing and delivering software engineering courses as an adjunct academic since 2000. Previously, he worked as a software engineer and an IT consultant for several years in Australia. He received an MSc in computing sciences from the University of Technology, Sydney. Recently, he has submitted a dissertation for a Ph.D. in Computer Science to the University of New South Wales, Australia. His current research interests include software architecture design and evaluation, architecture knowledge management, tooling support, global software development, and process improvement.

Antony Tang is a researcher with the Swinburne University of Technology. He has been working in the I.T. industry in Australia, Europe and Asia for over 20 years, designing systems for the telecommunication, stockbroking and banking industries. He has held senior consultant and senior project manager positions in various multi-national organizations. He received his BSc and BCom degrees from the University of Melbourne, and has recently submitted a thesis for a Ph.D. degree in Information Technology to the Swinburne University of Technology. His main area of research interest is on design reasoning and architecture knowledge.

T5: Managing Change; Understanding Resistance

Presenter: Judy Bamberger (bamberg@eaglet.rain.com), Process Solutions.
Description:
Establishing, rolling-out, or modifying a metrics programme has an impact on the people involved. Imagine what you would think and feel if your company, team, or school said that they were going to measure some of the activities you are doing and the results you are producing! And yet - the success of any metrics programme is dependent on those very same people.

Obviously, it is important to understand some of the fundamentals behind making changes in the way people work, and to understand how people react - something we often call "resistance."

This half-day tutorial will explore some models to help us understand and manage change and resistance. We will use a case study of rolling out a metrics programme - or you can use a real opportunity of your own - to apply these models and to practice some of the tools and techniques that will be introduced in this tutorial.

Presenter's bio:
Judy Bamberger has 20 years' experience developing software, leading teams, teaching, and developing organisation-wide leaders. An independent consultant, she specializes in project management, process definition and improvement, quality techniques (e.g., formal inspections, metrics), team building, facilitation, and managing change. Ms Bamberger has:
  • Performed numerous assessments (SPA, CBA-IPI, ISO9001, custom-tailored methods) and worked with organisations around the world and at all maturity levels.
  • Created a CMM/CMMI gap analysis method that is highly reliable, cost-effective, and compliant with ARC Class B and C requirements. Developed a support tool to ensure effective, efficient, and correct implementation of ARC requirements. This enables her clients to review their strengths and weaknesses against the practices of the CMM/CMMI, provides a likely maturity level rating, and summarises opportunities for improvement - at a fraction of the time and cost of an assessment or appraisal.
  • Expanded the CMMI gap analysis method and tool to be ARC Class A-compliant.
  • Assisted her clients with improvement plans based on assessment results, which enabled them to meet their strategic business goals and increase their maturity levels.
  • Trained and coached internal change agents in: basic quality tools, communication skills, managing change and resistance, effective improvement planning, and transition. This enabled her clients to create lasting, positive changes.
Ms Bamberger is a key author of the CMM and is an Authorized Lead Assessor. She teaches project management and an award-winning course that has the students apply basic quality tools in the contexts of a real team, project, and organization. She provides workshops in the CMM, the CMMI, Personal Software Process, and numerous software engineering, management, and leadership subjects.

T6: Object-Oriented Reengineering Patterns

Presenter: Oscar Nierstrasz (oscar@iam.unibe.ch), University of Berne, Switzerland
Description:
Surprising as it may seem, many of the early adopters of the object-oriented paradigm already face a number of problems typically encountered in large-scale legacy systems. Software engineers are now confronted with millions of lines of industrial source code, developed using object-oriented design methods and languages of the late 80s and early 90s. These systems exhibit a range of problems, effectively preventing them from satisfying the evolving requirements imposed by their customers. This tutorial will present a survey of various techniques that have been successfully used to re-engineer industrial OO systems. In particular, we will discuss issues like reverse engineering, design extraction, metrics, refactoring and program visualisation.

Presenter's bio:
Oscar Nierstrasz is a Professor of Computer Science at the Institute of Computer Science (IAM) of the University of Bern, where he founded the Software Composition Group in 1994. Prof. Nierstrasz is the author of over a hundred publications and co-author of the book Object-Oriented Reengineering Patterns (Morgan Kaufmann, 2003).

The Software Composition Group carries out research in diverse aspects of how to make systems more flexible with respect to changing requirements. Current research is focussed on (i) programming languages and mechanisms to support software evolution, and (ii) tools and environments to support the reverse- and re-engineering of complex software systems.

Oscar Nierstrasz has been active in the international object-oriented research community, serving on the programme committees of the ECOOP, OOPSLA, ESEC and many other conferences, and as the Programme Chair of ECOOP '93, ESEC/FSE '99 and MoDELS '06. He is president of CHOOSE, the subgroup on object-oriented systems and environments of the Swiss Informatics Society.

More information about the tutorial can be found at
http://www.iam.unibe.ch/%7Escg/OORP/index.html.



For more information about any of the tutorials, contact one of the tutorial co-chairs, Shanika Karunasekera (shanika@cs.mu.oz.au) or Jean-Guy Schneider (jschneider@swin.edu.au).