 |
|
|
18th Australian Conference
on Software Engineering

|
|
|
|
|
|
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
- Understand the various constructs and their relationships that
characterize architecture knowledge and domain modeling for architecture
knowledge.
- Comprehend the challenges involved in managing architecture
knowledge.
- Acquire a new perspective to view architecture design as a series of
objective decision making steps.
- Understand he process and approaches to capture and manage
architecture knowledge.
- Being able to utilize architecture knowledge to improve the
architecture design and evaluation process.
- 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).
|
|
|
| |
|
|
|
|