Modelo de processo de software

0 comentários

Modelo de processo de software é uma representação de um processo de software , apresentada sobre uma perspectiva específica. Ou seja é uma estratégia para o desenvolvimento do software.Define a ordem de execução das atividades durante as fases de engenharia de software.
Os principais modelos são:

  • Cascata ou sequencial
  • Modelo evolutivo
  • Transformação formal
  • Integração de Componentes reusáveis
  • Espiral

Gostou??? Então Copie esse post para seu Blog:

Ciclo de Vida Clássico

0 comentários

O ciclo de vida clássico de projeto de software a que se refere é também conhecido como Cascata ou Waterfall.
Nele as etapas são sequenciais e bem definidas. E tinha como objetivo encerrar completamente (ou quase) a fase anterior para passar à próxima.
Hoje em dia isso não é mais aceito, não porque não seja algo ruim terminar completamente uma fase para passar para próxima, mas porque com os anos de acompanhamento dos projetos de software se viu que na prática isso não ocorria. Era muito difícil levantar todos os dados sobre o projeto na fase de Análise (requisitos) e só depois partir para o projeto/codificação
Além disso, no modelo clássico, o cliente normalmente só acompanhava o produto quando já estivesse próximo do fim do desenvolvimento. Aí ficava muito difícil e caro consertar. Demorando mais tempo para entregar e deixando o cliente insatisfeito.

http://www.brasilacademico.com/maxpt/topic.asp?TOPIC_ID=223&FORUM_ID=9&CAT_ID=5&Topic_Title=Ciclo+de+Vida+CL%C1SSICO&Forum_Title=Engenharia+de+Software+e+Gest%E3o+de+Projetos

Gostou??? Então Copie esse post para seu Blog:

Ferramentas Case

0 comentários

Case significa Computer-Aided Software Engineering (Engenharia de software auxiliada por computador).As ferramentas CASE é um aplicativo que auxilia os profissionais a produzir sistemas.Essas ferramentas são divididas em três categorias:

  • Lower Case : Ferramenta de codificação
  • Upper Case : Ferramenta de Análise , projeto e implementação
  • Integraded Case : união de Upper e Lower Case
Operam em dois níveis:
  • Alto nível:Ferramentas que suportam as atividades iniciais de requisitos e projetos
  • Baixo nível:Ferramentas que suportam as atividades de programação, depuração e testes.
http://imasters.uol.com.br/artigo/3048/uml/ferramentas_case/

Gostou??? Então Copie esse post para seu Blog:

Qualidade de Software

0 comentários

Obter sucesso no processo de um software não é fácil. Existem vários fatores que dificultam atingir os objetivos de qualidade. Para conseguir cumprir esses objetivos é necessário satisfazer as necessidades do cliente. Em muitas vezes ocorre à frustração por parte do cliente, por falta de acompanhamento no desenvolvimento dos softwares.

Introdução

Ao falar de software estaremos falando do produto e do processo. De nada adianta centrarmos nossa atenção apenas no produto ou apenas no processo. É necessário que o produto e o processo caminhem juntos e tenham qualidade.
Durante muito tempo a engenharia de software teve mais atenção com o produto. Três aspectos dominaram a pesquisa e a prática da construção de software, que são eles:

•Uma ênfase na qualidade das representações, isto é nas linguagens artificiais.

• A crença de que a qualidade do produto é função principalmente de teste do produto
final.

• Que o processo de produção era centrado em fases caracterizadas por produtos bem
definidos

A qualidade das representações é um importante aspecto da engenharia de software , assim como programações robustas , de maior confiabilidade e de maior abstração, só que ainda são tema de discussões. Sob o ponto de vista de representações mais abstratas, e a princípio, não executáveis, o ponto central são linguagens de especificação. Por um lado temos a necessidade de linguagens formais e abstratas e por outro temos a necessidade de linguagens de fácil comunicação e também abstratas.

O papel do teste, o teste é fundamental na produção de um software. E hoje tem ferramentas embutidas nas linguagens de programação para ajudar nesses testes, que fazem que o produto final não tenha erros. No entanto, sabe-se que esse processo é extremamente dispendioso e muitas vezes envolve uma grande número de recursos humanos para garantir um nível mínimo de qualidade.

A visão inicial do processo de produção de um software era centrada em produtos bem definidos e em regras de verificação entre produtos. Esses produtos fundamentavam-se na visão de seqüencialidade. Mesmo em propostas não seqüenciais, como a prototipação, a atenção principal é dirigida às representações dos produtos. Hoje tem-se uma visão mais abrangente.

O papel da gerência passa a ser visto como um aspecto técnico e não como um aspecto exterior ao conhecimento da engenharia de software e a atenção está centralizada na aquisição de dados sobre o processo e a transformação desses dados em conhecimento sobre o processo de produção.

Qualidade

O produto software passa cada vez mais a ser um produto comum, como carro, elevadores, e como esses produtos precisam ter qualidade e um bom preço. Essa é a função da engenharia de software, ter um sistemas de boa qualidade e um bom preço , o fundamental também é que o software seja confiável , ou seja siga os padrões exigidos pelo contexto onde irá atuar. Freeman faz uma distinção entre qualidade básica e qualidade extra. Em qualidade básica ele lista: funcionalidade, confiabilidade, facilidade de uso, economia e segurança de uso. Em qualidade extra ele lista: flexibilidade, facilidade de reparo, adaptabilidade, facilidade de entendimento, boa documentação e facilidade de adicionar melhorias.
A qualidade deve estar presente não só nos produtos produzidos, como também nos processos utilizados para gerar esses produtos. Neste caso os processos de qualidade, ou de auditoria, são processos que se aplicam tanto aos produtos, como aos próprios processos (uma meta aplicação dos processos de qualidade). Assegurar a qualidade dos produtos e dos processos é responsabilidade do subsistema GERÊNCIA, que necessita dispor de MÉTODOS e FERRAMENTAS compatíveis com a qualidade desejada.


Evolução

Os processos de construção de softwares hoje em dia serão cada vez mais baseado no conceito de evolução, ou seja, sempre estamos modificando um software já existente.
No contexto evolutivo é importante saber da impossibilidade da completeza de um conjunto de requisitos.
Para lidar com evolução de um software, é fundamental utilizar o conceito de baseline oriundo da área de configuração de sistemas.
Baseline é uma espécie de referencial que utilizamos num processo de mudança (evolução). Para que se possa gerar as maneira organizada o processo de construção/evolução deve estar ancorado num baseline.
No entanto, os requisitos evoluem também, portanto passamos a ter uma baseline que também evolui. A definição da baseline de requisitos explica que essa evolução se dá em dois eixos:

1- Pontos de referência do modelo de processo de software e outro eixo no que
2- Progressão do processo de software no que se refere à mudança de nível de abstração.

Ou seja, o baseline de requisitos muda tanto no mesmo nível de abstração como entre níveis de abstração.
A característica fundamental da baseline de requisitos diz respeito a sua formação e a sua representação. A baseline se forma procurando moldar-se ao Universo de Informações e sua representação utiliza linguagem natural através de um léxico e de um conjunto de cenários.
É claro que a complexidade de controlar essa baseline é não trivial, no entanto é uma maneira integrada de tentarmos garantir que a alocação dos requisitos, tanto funcionais como não funcionais seja registrada e rastreável. Assim, é possível efetivamente gerenciar os requisitos principalmente num contexto volátil.

Resumo do Artigo “Qualidade de Software: Teoria e Prática, Orgs. Rocha, Maldonado, Weber, Prentice-Hall, São Paulo, 2001 Capítulo 17.”

Gostou??? Então Copie esse post para seu Blog:

Deixe um comentário

0 comentários

Deixe um comentário nessa postagem , para tirar dúvidas ou fazer sugestões.

Gostou??? Então Copie esse post para seu Blog:

Tipos de Software e Sistemas de Software

0 comentários

Os softwares podem ser classificados como:

  • Sistemas Genéricos: Que são sistemas feitos para se colocar a venda no mercado.

  • Sistemas Específicos: Que são sistemas feitos por encomenda para um usuário especificadamente.


Dentre os dois tipos sistemas de softwares citados, existem os tipos de sistemas de um software , que pode ser classificado como:
  • Sistemas Legados: São aqueles sistemas antigos, mas que ainda são utilizados até hoje.
Ex: Pascal, Cobol e etc...
  • Sistemas de Tempo Real: São aqueles sistemas que são atualizados a todo momento.
Ex: Sistema de venda do Mercado Livre,Submarino
  • Sistemas Embarcados ou embutidos: São sistemas que agem automoticamente.
Ex: Envio de SMS de um celular
  • Sistemas Científicos: São sistemas feitos para ajudar em experiências científicas.
Ex: Sistema para a previsão do Tempo
  • Sistemas para Web: São sistemas que podem ser acessado por qualquer pessoa que estiver conectada à internet
Ex: Serviço de Email.




Gostou??? Então Copie esse post para seu Blog:

Princípios da Engenharia de Software

0 comentários

Os princípios da Engenharia de software são formalidade,Abstração,Decomposição ,Generalização e Flexibilização.

Formalidade:Ter programas mais confiáveis com baixo custo e bom desempenho e o software deve ser desenvolvido de acordo com passos definitivos com precisão e seguidos de maneira efetiva.

Abstração:É o processo de identificação de um determinado fenômeno da realidade considerando apenas os aspectos mais relevantes.Ou seja ignorar os detalhes.

Decomposição:É o processo de dividir o problema para que cada subproblema seja resolvido de uma maneira específica.É usado para controlar a complexidade do software.

Generalização:Reutilizar as soluções dos problemas

Flexibilização: Alterar o software sem que ele tenha um problema de execução.


http://www.unimep.br/~aeasilva/topico1_ap.pdf

Gostou??? Então Copie esse post para seu Blog: