Rebecca Wirfs-Brock e Joe Yoder: Técnicas para a criação de projetos flexíveis

palestras

O CCSL do IME/USP convida todos para duas palestras sobre abordagens modernas para a criação de projetos flexíveis (modelos de objetos adaptáveis e projeto orientado por responsabilidades), que serão oferecidas (em inglês) por especialistas internacionais de grande renome na área de desenvolvimento de software.

Data: 22 de setembro

Local: Auditório Jacy Monteiro, bloco B do IME/USP

14:00: Software Patterns and Quality: Can Patterns Help Quality?

Palestrante: Joe Yoder

Resumo: A software pattern is an abstract repeatable solution to a commonly occurring problem that arises under a certain context and forces that derive the solution. Patterns help people involved in the software community to share experience-based, proven solutions. They also help develop software; manage processes, projects, and organizations; and with people communicating more efficiently and effectively.

Quite often when we talk about patterns, you hear mention of its QWAN ("Quality Without A Name"). QWAN is "the quality" that imparts incommunicable beauty and immeasurable value to a structure. Christopher Alexander, who has highly influenced the patterns community, proposes the existence of an objective quality of aesthetic beauty that is universally recognizable. He claims there are certain timeless attributes and properties which are considered beautiful and aesthetically pleasing to all people in all cultures (not just "in the eye of the beholder"). It is these fundamental properties which combine to generate the QWAN, and which make a structure feel "whole" and "alive".

Software Patterns in general are all about quality. For example, the GoF patterns are about building quality reusable object-oriented systems. Sometimes quality can be seen as external attributes of the system how does it look, how does it feel, and how cool is it (i.e. the iPod). There are also many other internal qualities of an architecture that can be much harder to measure such as non functional requirements. For example, how secure is the system, how reusable is it, how hard is it to change, etc. This talk will look at Patterns and Quality and describe ways in which Patterns have helped weave quality into our Software Architectures.

15:45  intervalo

16:00 a 17:45: Responsibility-Driven Design

Palestrante: Rebecca Wirfs-Brock

Resumo: Responsibility-Driven Design is a way to design that emphasizes behavioral modeling using objects, responsibilities and
collaborations. In a responsibility-based model, objects play specific roles and occupy well-known positions in the application architecture. Each object is accountable for a specific portion of the work. They collaborate in clearly defined ways, contracting with each other to fulfill the larger goals of the application. By creating a "community of objects", assigning specific responsibilities to each, you build a collaborative model of our application.

This tutorial, which includes material from the book Object Design: Roles, Responsibilities and Collaborations, will be an example-based tour of Responsibility-Driven Design. It presents our latest innovations and practical techniques. Topics include: an updated view of CRC card models, finding and evaluating the qualities of candidate design objects, mapping roles to classes and interfaces, strategies for assigning object responsibilities, deciding on the control style of an application, collaboration trust regions, and collaboration contracts.

Uma foto dos palestrantes após a palestra:


Data
22 de setembro de 2010