desenvolvimento de um sistema completo

Download Desenvolvimento de Um Sistema Completo

Post on 09-Aug-2015

35 views

Category:

Documents

5 download

Embed Size (px)

TRANSCRIPT

VB.NET - Desenvolvimento de um sistema completo

http://www.macoratti.net/vbn_essc1.htm

VB.NET - Estimativa de preo com Anlise de Pontos de Funo - APFEste uma srie de artigos onde voc vai acompanhar todo o ciclo de desenvolvimento de um sistema completo em VB.NET. Iremos acompanhar o ciclo de vida do projeto para Manuteno de clientes que ser desenvolvido em VB.NET com acesso a uma base de dados Access.

Como voc j deve saber, o desenvolvimento de um projeto de software no uma tarefa trivial, e, esta bemdistante de sentar na frente de um terminal de vdeo e sair codificando a esmo. Se voc no acredita no que eu estou falando talvez acredite em dados estatsticos; O CHAOS Report de 2003 apresentou as seguintes estatsticas: Somente 34% dos projetos de software so bem sucedidos; 15% dos projetos foram cancelados; 43% o erro mdio em relao ao oramento do projeto daqueles que foram completados; 52% das caractersticas (requisitos no funcionais) e funcionalidades so entregues no produto.

Na verdade se voc quiser desenvolver software com qualidade dever adotar um processo de desenvolvimento de software. Um processo de software pode ser entendido como um conjunto estruturado de atividades exigidas para desenvolver um sistema de software. Assim Sommerville[1] trs a seguinte definio: "[O processo ] um conjunto de atividades e resultados associados que produzem um produto de software". Jalote[7] conclui que um processo de software : " um conjunto de atividades, ligadas por padres de relacionamento entre ela, pelas quais se as atividades operarem corretamente e de acordo com os padres requeridos, o resultado desejado produzido. O resultado desejado um software de alta qualidade e baixo custo. Obviamente , um processo que no aumenta a produo (no suporta projetos de software grandes) ou no pode produzir software com boa qualidade no um processo adequado." A partir destas definies podemos considerar que de forma geral um processo de software padro pode ser visto como um conjunto de atividades, mtodos, ferramentas e prticas que so utilizadas para construir um produto de software. Na definio de um processo de software devem ser consideradas as seguintes informaes: atividades a serem realizadas, recursos necessrios, artefatos requeridos e produzidos, procedimentos adotados e o modelo de ciclo de vida utilizado [3]. Sucintamente podemos definir o processo de software (defini-lo(o processo) como um conjunto de atividades uniformizadas a serem aplicadas sistematicamente que se encontram agrupadas em fases, cada uma das quais com os seus intervenientes com responsabilidades, que possui diversas entradas e produz diversas sadas. Isto , define quem faz o qu, quando e como para atingir um certo objetivo. Humphrey[4] define as seguintes razes para a definio de um processo padro: Reduo dos problemas relacionados a treinamento, revises e suporte ferramentas; As experincias adquiridas nos projetos so incorporadas ao processo padro e contribuem para melhorias em todos os processos definidos; Economia de tempo e esforo na definio de novos processos adequados a projetos.

Fases de um processo de SoftwarePara Schwartz[5] as principais fases de um processo de software so : 1. Especificao de Requisitos: traduo da necessidade ou requisito operacional para uma descrio da funcionalidade a ser executada. 2. Projeto de Sistema: traduo destes requisitos em uma descrio de todos os componentes necessrios para codificar o sistema. 3. Programao (Codificao): produo do cdigo que controla o sistema e realiza a computao e lgica envolvida. 4. Verificao e Integrao (Verificao): verificao da satisfao dos requisitos iniciais pelo produto produzido. Ao contrrio do que possa parecer no existe uma sequncia obrigatria de fases, sendo que diversos autores apontam a natureza no-simultnea das fases como uma realidade na aplicao de processos de software, e tambm defendem que o processo de software muito mais iterativo e cclico do que a idia de fases simples pode sugerir.[6]

Atividades do Processo de SoftwareEm cada fase de um processo de software definido so executadas as atividades bsicas para que sejam atingidos os objetivos propostos. Segundo Pressman[2] estas atividades constituem um conjunto mnimo para se obter um produto de software. Realizando uma combinao de classificaes dadas por Schwartz[5] , Pressman[2] e Sommerville[1] podemos identificar as seguintes atividades[6]:

1 de 8

27/01/2013 01:54

VB.NET - Desenvolvimento de um sistema completo http://www.macoratti.net/vbn_essc1.htm 2. Anlise de Requisitos: levantamento das necessidades do software a ser implementado. A Anlise temcomo objetivo produzir uma especificao de requisitos, que convencionalmente um documento. 3. Especificao de Sistema: descrio funcional do sistema. Pode incluir um plano de testes para verificar adequao. 2. Projeto 1. Projeto Arquitetural: onde desenvolvido um modelo conceitual para o sistema, composto de mdulos mais ou menos independentes. 2. Projeto de Interface: onde cada mdulo tem sua interface de comunicao estudada e definida. 3. Projeto Detalhado: onde os mdulos em si so definidos, e possivelmente traduzidos para pseudo-cdigo. 3. Implementao 1. Codificao: a implementao em si do sistema em uma linguagem de computador. 4. Validao 1. Teste de Unidade e Mdulo: a realizao de testes para verificar a presena de erros e comportamento adequado a nvel das funes e mdulos bsicos do sistema. 2. Integrao: a reunio dos diferentes mdulos em um produto de software homogneo, e a verificao da interao entre estes quando operando em conjunto. 5. Manuteno e Evoluo 1. Nesta fase, o software em geral entra em um ciclo iterativo que abrange todas as fases anteriores. Desta forma as atividades relacionadas a um processo de software esto diretamente vinculadas com a produo do software como produto final . Afim de especificar quais atividades devem ser executadas e em qual ordem temos diversos modelos de desenvolvimento de software.

extra-software.

Sistema de Manuteno de ClientesDescrio do sistema: - Em um sistema de manuteno de clientes um usurio (funcionrio de empresa) registra as entradas, alteraes, excluses e sadas(relatrio) dos dados relativos a um cliente da empresa no sistema. Qualquer usurio da empresa poder acessar o sistema e efetuar o cadastramento.(No haver controle de acesso no sistema). Ser emitido um relatrio de todos os clientes cadastrados e dos dados de um determinado cliente. Caractersticas do sistema: - O sistema ir permitir o acesso sem restries para qualquer usurio da empresa , no havendo portanto controle de acesso. - No existe qualquer interface com outros sistemas existentes - Devero ser cadastrados os seguintes dados de um cliente: Nome , endereo, Cidade , Cep , Telefone , Email e Observaes. - O nome do cliente , endereo , cidade , cep e email so obrigatrios e devero ser sempre informados Lista de ator(es): Usurio (funcionrio da empresa) Casos de uso identificados

1. Exibir Clientes Cadastrados 2. Efetuar Manuteno de clientesDiagrama de caso de uso simplificado:

Para sobreviver no mercado voc deve produzir um produto de qualidade com um preo competitivo. No adiante trabalhar de graa e nem superestimar o preo do seu produto. Voc tem que ser gil para poder saber quanto cobrar a partir do tamanho do sistema que voc vai desenvolver. Para saber o tamanho do sistema voc deve realizar medies de tamanho do software a ser desenvolvido. Uma das formas de alcanar este objetivo realizar estimativas de tamanho, custo, esforo e qualidade de software. Geralmente esta estimativa feita com base em um histrico de informaes de experincias passadas que so usadas para embassar as tomadas de decises feitas durante o ciclo de desenvolvimento do projeto. Para tornar tal procedimento confivel necessrio estabelecer um processo sistemtico que pode ser repetido e ser usado para realizar comparaes. O roteiro obtido com a sistematizao destes passos se configura em uma mtrica.

2 de 8

27/01/2013 01:54

VB.NET - Desenvolvimento de um sistema completo

padro est descrito pelo IFPUG em seu Manual de Prticas de Contagem.

http://www.macoratti.net/vbn_essc1.htm

Empiricamente as principais tcnicas de estimativa de projetos de desenvolvimento de software assumem que o tamanho de um software um vetor importante para a determinao do esforo para sua construo. Logo, saber o seu tamanho um dos primeiros passos do processo de estimativa de esforo, prazo e custo. Da importante destacar que pontos de funo no medem diretamente esforo, produtividade ou custo. exclusivamente uma medida de tamanho funcional do software. Este tamanho em conjunto com outras variveis que poder ser usado para derivar produtividade, estimar esforo e custo." www.fattocs.com.br/faq.htm

Vamos ento utilizar a tcnica de anlise de pontos de funo para estimar o preo que voc dever cobrar do seu cliente para desenvolver o sistema para manuteno de clientes. Encare a situao da seguinte forma : voc foi solicitado a dar um oramento para desenvolver o sistema e no pode demorar ou vai perder o servio. Voc resolveu usar APF- Anlise de Pontos de Funo, como uma ferramenta de apoio para determinar o tamanho funcional da aplicao adotando os seguintes procedimentos: 1. definio do escopo do sistema manuteno de clientes 2. estimativa do tamanho funcional da aplicao 3. estimativa do custo e esforo para desenvolvimento

Determinar o tamanho funcional do sistema a ser desenvolvido usando APFEntidades e funes do processo de manuteno de clientes 1- Usurio (funcionrio) - Gesto do cadastro de clientes 2- Cadastros - Clientes A tecnologia usada no sistema para manuteno de cliente ser a plataforma desktop usando a linguagem Visual Basic .NET envolvendo 3 camadas : camada de dados , camada de aplicao e camada de apresentao. O propsito da contagem verificar se vivel o desenvolvimento do sistema. Com a estimativa

Recommended

View more >