Artigo .net Magazine 61 - Construa uma Aplicação 100% - Parte 1
Artigo da Revista .NET Magazine - Edição 61.
Clique aqui para ler esse artigo em PDF.
Construa uma Aplicação 100% OO – Parte 1
Uma visão prática e realista do desenvolvimento de sistemas orientados a objetos
Introdução
“Programar é divertido, mas desenvolver sistemas com qualidade é difícil”. Essa frase denuncia a enorme diferença entre programar e realizar um completo processo de análise de sistemas, especificando do modo indelével como determinado problema deve ser solucionado, sem deixar de utilizar uma linguagem simples de comunicar, revisar, implementar e evoluir.
A orientação a objetos busca realizar esse grande feito. No entanto, para construir aplicativos verdadeiramente orientados a objetos é necessário muito mais do que simplesmente fazer uso de herança, polimorfismo, encapsulamento e abstração, os alicerces desse novo paradigma.
Veremos que a palavra-chave de todo o paradigma da orientação a objetos é abstração. A própria criação de um objeto é um exercício de abstração. Cada classe de negócios cria uma redoma de abstração em torno de suas funcionalidades e características. A arquitetura de software busca a abstração entre as camadas de apresentação, de negócios e de dados. O processo de análise de sistemas, incremental e espiralado, faz com que cada fase do projeto se mantenha abstraída das fases seguinte.
Neste artigo analisaremos uma Metodologia de Desenvolvimento de Sistemas Orientados a Objeto (MDS-OO) baseada nas tecnologias atualmente utilizadas nos principais projetos de software: Unified Software Development Process (Processo Unificado de Desenvolvimento de Software), ou simplesmente UP, e Unified Modeling Language (UML). Abordaremos desde a fase de concepção do projeto até a implantação, passando pelas fases de especificação, arquitetura e construção. Partindo da premissa de que o leitor conhece os conceitos básicos da UML (mesmo que minimamente), iniciaremos pelo estudo de alguns artefatos de negócios, caminhando até a construção de uma pequena aplicação de controle de utilização de equipamentos e outros recursos materiais, em ASP.Net com VB.Net e banco de dados padrão SQL, que servirá como base de estudos práticos dos aspectos abordados.
O artigo, assim como o desenvolvimento de um sistema, está dividido em partes. Nessa primeira parte do artigo, começaremos pela homogeneização dos conhecimentos com uma breve introdução às tecnologias adotadas e passaremos pelas fases de planejamento e concepção do projeto. Nas partes seguintes continuaremos navegando pelo processo de desenvolvimento, caminhando pelas demais fases do projeto até chegarmos a construção e implantação de nossa aplicação.
Projeto de Sistemas
A demanda para o desenvolvimento de um novo sistema de computador normalmente está originada na percepção de necessidades da área demandante, cliente do produto a ser desenvolvido. Essa necessidade tipicamente está baseada em uma ou mais das seguintes situações:
ûUma nova oportunidade de negócio, visando o aumento de receita da empresa;
ûUma demanda do mercado, visando atingir as necessidades dos clientes que podem ou não resultar em aumento de receita;
ûUma exigência de um cliente específico;
ûUma evolução tecnológica que permita reduzir custos e riscos ou agregar valor ao produto da empresa;
ûUma exigência legal.
É importante que tenhamos o senso de que é a área demandante (cliente) que tem a propriedade do produto a ser implantado e não a área de tecnologia ou de desenvolvimento de sistemas. É comum encontrarmos instituições onde se entende erradamente que os sistemas de computador são de propriedade da área de tecnologia. No processo de desenvolvimento, a área de TI é fornecedora de recursos e expertise, e responsável pela construção do sistema conforme definição do cliente, devendo atender às necessidades e expectativas do mesmo.
Essa divisão de responsabilidades, apesar de bastante natural, é significativa para o sucesso do empreendimento. Não deveria existir desenvolvimento de sistemas sem a formalização de um projeto de desenvolvimento, assim como não deveria existir um projeto de desenvolvimento sem um cliente responsável pelo produto a ser desenvolvido.
A criação de um novo sistema de computador contextualizado em um projeto de desenvolvimento de software garantirá a aplicação dos conhecimentos, habilidades e técnicas na elaboração de atividades que visem atingir um conjunto de objetivos pré-estabelecidos.
O corpo de conhecimentos de gerencia de projetos (PMBOK), compilado e publicado pelo PMI (Project Management Institute), define projeto como sendo “um empreendimento temporário com o objetivo de criar um produto o serviço único”.
Nota do DevMan |
" |
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo