Arquitetura de Software - Template

Segue exemplo de template que pode ser utilizado para documentar a Arquitetura de Software:

Outro template:

Arquitetura de Software

Segue alguns links para auxiliar no entendimento da Arquitetura de Software:
Segue ainda uma thread super interessante falando sobre os 10 Mandamentos do Arquiteto de Software:
Para finalizar, encaminho também um material muito interessante sobre como Documentar a Arquitetura de Software:

Trabalho de Análise de Sistemas - Arquivos

Lista de arquivos a serem utilizados para o trabalho de Análise de Sistemas:


Análise de Requisitos


Análise de Sistemas

Mais um pouco sobre Processos...

Alguns materiais interessantes que encontrei recentemente:

Análise de Sistemas - Casos de Uso

Caso de Uso é o formato definido pela UML e utilizado pelo RUP para documentar a Análise de Sistemas. Abaixo segue alguns links interessantes sobre este tópico:

Abaixo segue alguns formatos de template para Caso de Uso:

E também o template que vamos utilizar em aula para exercícios:

Segue também um exemplo de um Caso de Uso preenchido de um sistema feito para o Centro de Processamento de dados do Estado de Mato Grosso:


Aproveito o post para compartilhar uma documentação que mostra as 4 fases do RUP em um projeto:

Documento de Requisitos - Exemplo

Segue abaixo um exemplo de Documento de Requisitos para utilizarmos como base para a Análise de Sistemas:

Documento de Requisitos - Templates

Segue link para download de template de um Documento de Requisitos:

Lembrando que a IEEE sugere um Documento de Requisitos com os seguintes itens:



Também, o RUP traz um template de Documento de Requisitos um pouco mais completo:

Gerenciamento de Requisitos

Pessoal, a partir de agora serão publicados alguns posts com detalhes sobre o Gerenciamento de Requisitos.

Este post dá uma boa noção e exemplos do que são requisitos:

Como os Requisitos não funcionais são tão importantes quanto os funcionais, pois indicam que o software deve satisfazer determinada necessidade, segue abaixo uma lista dos principais:

* Confiabilidade (Reliability)
* Performance (Performance)
* Manutenibilidade (Maintainability
* Interface com outros sistemas (Interface)
* Operabilidade (Operability)
* Ambiente de funcionamento (Environment)
* Restrições legais de operação (Regulatory)
* Portabilidade (Portability)
* Segurança (Security)
* Instalação (Deployment)
* Privacidade (Privacy)
* Treinamento (Training)
* Restrições de projeto (Design constraints)
* Habilidades Pessoais (Personnel)

Manifesto Ágil - Introdução

Pessoal,

Compartilho texto enviado pelo Darcy que trata sobre o Manifesto Ágil.

MANIFESTO ÁGIL

Há alguns anos, um grupo de profissionais veteranos na área de software decidiu se reunir em uma estação de ski, nos EUA, para discutir formas de melhorar o desempenho de seus projetos.

Embora cada envolvido tivesse suas próprias práticas e teorias sobre como fazer um projeto de software ter sucesso, cada qual com as suas particularidades, todos concordavam que, em suas experiências prévias, um pequeno conjunto de princípios sempre parecia ter sido respeitado quando o projeto dava certo.

Com base nisso eles criaram o Manifesto para o Desenvolvimento Ágil de Software, freqüentemente chamado apenas de Manifesto Ágil, e o termo Desenvolvimento Ágil passou a descrever abordagens de desenvolvimento que seguissem estes princípios, que são apresentados a seguir:


"Estamos descobrindo maneiras melhores de desenvolver software fazendo-o nós mesmos e ajudando outros a fazê-lo. Através desse trabalho, passamos a valorizar:
  • Indivíduos e interação mais que processos;
  • Software em funcionamento mais que documentação abrangente;
  • Colaboração com o cliente mais que negociação de contratos;
  • Responder a mudanças mais que seguir um plano.
Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais os itens à esquerda."

O Manifesto Ágil, criado em 2001, descreve a essência de um conjunto de abordagens para desenvolvimento de software criadas ao longo da última década. A mais conhecida delas é o Extreme Programming, também conhecida pela abreviação XP, uma metodologia criada por Kent Beck no final dos anos 90. O XP é composto por um pequeno conjunto de práticas, que giram em torno de alguns valores básicos.


Parabéns Darcy, pela iniciativa!

Ciclo de Vida de um Software

Imagem clássica que representa (e muito bem) alguns pontos do ciclo de vida de um software:

http://zschech.net/funny/SoftwareEngineeringProcess/
(inglês)

http://wagnergomes.files.wordpress.com/2008/05/levantamentorequisitos.jpg (português)

Vale a pena!

SWEBOK - Software Engineering Body of Knowledge

Pessoal,

Um outro material importante que trabalha com Engenharia de Software é o SWEBOK. Ele está para a ES assim como PMBOK está para a Gerência de Projetos.

SWEBOK

Seria importante considerar este material durante o estudo da disciplina.

Exemplo do início de Desenvolvimento de Software


EPF - Eclipse Process Framework

O EPF é um plugin do Eclipse que facilita a criação e documentação de processos de desenvolvimento de software.

Links para donwloads:
Libraries:

Revista Engenharia de Software

Pessoal,

Segue abaixo um link que permite fazer download gratuito da primeira edição da nova revista Engenharia de Software.

http://www.devmedia.com.br/articles/viewcomp.asp?comp=8028

Esta revista vem para cobrir uma área que estava faltando no Brasil que é exatamente um periódico mensal falando de Engenharia de Software. Atualmente temos periódicos sobre Java, Banco de Dados, .Net, Delphi e faltava algo nesta área.

Engenharia de Software - Introdução

Como primeira postagem para o nosso Blog gostaria de indicar um bom lugar para iniciar a entrar em contato com a Engenharia de Software. É o nosso bom e conhecido Wikipedia.

Para Engenharia de Software propriamente dita, sugiro acessar o link http://pt.wikipedia.org/wiki/Engenharia_de_software, pois resume de forma interessante o que é e do que trata a Engenharia de Software.

Um outro link interessante que traz informações sobre o CMMi é o http://pt.wikipedia.org/wiki/CMMI.

Ainda, nesta linha de melhoria de processos e qualidade de software, sugiro uma leitura em http://pt.wikipedia.org/wiki/MPS.BR. O MPS.BR é um modelo de qualidade semelhante ao CMMi, porém mais direcionado ao mercado de software brasileito.

Sobre PMI, sugiro o seguinte: http://pt.wikipedia.org/wiki/PMI

Para finalizar, como o ITIL foi bastante comentado em aula, sugiro dar uma olhada sobre http://pt.wikipedia.org/wiki/ITIL.