Descrição do Projeto

Este projeto visa atender as necessidades de divulgação e organização de entidades sem fins lucrativos focando principalmente em trabalhos de caridade e solidariedade.

Usaremos:
- DDD e TDD.
- C#, .Net 3.5 SP1, ASP.Net, Entity Framework e SQL Server.

Ante-Projeto

Tema: UTILIZANDO O PARADIGMA DE ARQUITETURA DOMAIN DRIVEN DESIGN (DDD)

Justificativa: É o estudo das técnicas que visam contribuir de forma substancial para o aumento da qualidade no desenvolvimento de software e na elevação do índice de projetos concluídos com sucesso.
Projetos atrasados, custos excedidos, qualidade insatisfatória, essa é a realidade de muitos projetos, segundo a pesquisa “AVALIAÇÃO DO SUCESSO DE PROJETOS DE T.I.” (Chaos Report) (http://www.maturityresearch.com) de 2006, apenas 35% dos projetos analisados tiveram sucesso e 20% dos motivos de fracasso estão na habilidade técnica da equipe.
Para mudarmos esse cenário precisamos adotar técnicas e procedimentos mais eficientes, que tenham como premissa agregar valor para o cliente focando no domínio do seu negocio. Para isso utilizaremos uma compilação de melhores praticas baseadas em 20 anos de experiência e elaborada por Eric Evans em seu livro (Evans, 2003).

Hipótese: Partindo do principio que se deve desenvolver um sistema utilizando DDD e aplicar as suas técnicas para minimizar os problemas citados.

Problema: Comunicação péssima entre programadores, analistas, Gerentes de Projeto e o Cliente, pois cada um tem o seu próprio vocabulário profissional e muitas vezes um não sabe o que o outro está falando exatamente.
Arquitetura focada em demasia na infra-estrutura, deixando de lado o mais importante que é a resolução do problema, assim teremos um aplicativo bom tecnicamente se for o caso, mas que não mas que não atende as expectativas do cliente.
Utilização errada do paradigma de programação orientada a objeto (POO).
Elevação desnecessária do grau de complexidade do software.
Manutenção muito custosa.
Alto nível de retrabalho.
Softwares de baixa qualidade.
Sistemas com a vida útil reduzida.

Objetivo Geral: Aprofundar os estudos em técnicas para elevar a qualidade dos softwares desenvolvidos.

Objetivo Específico: Analisar na pratica a eficiência do DDD em relação aos problemas descritos.

Caracterização do Estudo: A aplicação a ser desenvolvida será utilizada inicialmente por uma sociedade sem fins lucrativos, o projeto será Open Source e terá todos os seus Artefatos disponibilidade na internet.
Inicialmente será feito uma Modelagem Ágil junto ao cliente, onde iremos obter informações e definições sobre o sistema, neste momento será desenvolvido um Modelo de Domínio, que será incrementado conforme o conhecimento do negocio amadurecer.
O desenvolvimento será incremental e iterativo, dessa forma a cada iteração todos os membros do grupo poderão analisar as implementações e verificar complexidade, retrabalho, qualidade e esforço para manutenção e refatoração.
O sistema será desenvolvido com Microsoft Visual Studio 2008 SP1, Microsoft.Net Framework 3.5 SP1, ADO.NET Entity Framework, ASP.NET 3.5, C# 3.0 e SQL Server 2005.

BIBLIOGRAFIA

(Evans, 2003) Eric. Domain Driven Design - Tackling Complexity In The Heart Of Software Addison-Wesley Professional, 2003.

(Fowler, 2006) Martin. Padrões de Arquitetura de Aplicações Corporativas Bookman, 2006.

(Gamma, 1994) Erich. Helm, Richard. Johnson, Ralph. Vlissides, John M. Design Patterns: Elements of Reusable Object-Oriented Software Addison-Wesley Professional, 1994.

(Nilsson, 2006) Jimmy. Applying Domain-Driven Design and Patterns: With Examples in C# and .NET Addison-Wesley Professional, 2006.

ARTIGOS E SITES

(DDD, 2009) - Domain-Driven Design: What Is It? Disponível: http://domaindrivendesign.org/. Acesso: 05/04/2009

(DOMAIN_MODEL, 2009) - P of EAA: Domain Model. Disponível: http://martinfowler.com/eaaCatalog/domainModel.html. Acesso: 05/04/2009

(GIGGIO, 2009) Domain Driven Design (DDD) - Giggio.Net Forum
Disponível:http://forum.giggio.net/default.aspx?g=topics&f=2. Acesso: 05/04/2009

(GUJ, 2009) Arquitetura de Sistemas
Disponível: http://www.guj.com.br/forums/show/12.java. Acesso: 05/04/2009

(MSDN, 2009) Microsoft Developer Network. Disponível: http://msdn.microsoft.com/.
Acesso: 05/04/2009

Last edited Jun 30, 2010 at 3:22 PM by RogerioCoimbra, version 7