AULA ONLINE 01 - Fábrica de Software

Conteúdo da Aula Online 01 da Disciplina de Topicos Especiais em Engenharia de Software I.

Começar. É Gratuito
ou inscrever-se com seu endereço de e-mail
AULA ONLINE 01 - Fábrica de Software por Mind Map: AULA ONLINE 01 - Fábrica de Software

1. Conceito (Fernandes, Teixeira, 2011):

1.1. Um processo estruturado, controlado e melhorado de forma contínua, visando a produção de software, conforme os requisitos dos clientes, e feito da forma mais produtiva e econômica possível.

1.1.1. Considera abordagens da Engenharia Industrial.

1.1.2. Orientado para o atendimento a múltiplas demandas de natureza e escopo distintas.

2. Requisitos para ser uma fábrica de Software:

2.1. Um processo definido e padrão para o desenvolvimento do produto de software.

2.2. Gerenciamento de interface forte com o usuário e/ou cliente (recebimento e entrega).

2.3. Padronização da entrada para a fábrica (serviços).

2.4. Determinação das estimativas de prazo e custo conforme a demanda e a capacidade real.

3. Porque se tornar uma fábrica de software?

3.1. Alta demanda do seu software no mercado.

3.2. Aumento da complexidade de produção do seu software.

3.3. Garantia de uma produção de qualidade, com maior produtividade e baixo custo.

4. Modelos de Fábrica de Software:

4.1. Japonês:

4.1.1. Alta produtividade e qualidade.

4.1.2. Rotina de trabalho simples e repetitiva.

4.1.3. Padronização de processos.

4.2. Europeu:

4.2.1. Alta integração de ambientes de desenvolvimento de software.

4.2.1.1. Criação de uma arquitetura e um framework para um ambiente integrado de desenvolvimento de software.

4.3. Americano:

4.3.1. Conhecido como Fábrica de Experiências.

4.3.1.1. Foco nas abordagens baseadas na experiência e na maturidade da empresa.

4.3.1.2. Erros são vistos como lições.

4.3.2. Ciclo do modelo:

4.3.2.1. Plan: projetos são planejados utilizando como base experiências anteriores.

4.3.2.2. Execute: projetos executados e controlados por meio de medições.

4.3.2.3. Analyze: experiências são avaliadas e comparadas.

4.3.2.4. Synthesyze: resultados armazenados para serem utilizados futuramente.

5. Software:

5.1. Tipos de software desenvolvidos:

5.1.1. De produtos:

5.1.1.1. Ferramentas.

5.1.1.1.1. Linguagens de programação, ferramentas de gerenciamento, ferramentas de BI.

5.1.1.2. Infraestrutura:

5.1.1.2.1. SO, servidores, gerenciadores de rede.

5.1.1.3. Aplicativos.

5.1.2. Serviços.

5.1.2.1. Terceirização de atividades de TI.

5.1.2.1.1. Business Process Outsourcing:

5.1.3. Embarcados.

5.2. Classificação em função do mercado:

5.2.1. Horizontal:

5.2.1.1. quando se aplica a qualquer tipo de usuário.

5.2.2. Vertical:

5.2.2.1. quando se aplica a um usuario ou atividade específica.

5.3. Modo de comercialização:

5.3.1. Pacotes:

5.3.1.1. produtos padronizados.

5.3.2. Customizados:

5.3.2.1. permitem adaptações para cada usuário.

5.3.3. Softwares sob encomenda.

6. Pilares:

6.1. Linhas de Produto de Software

6.1.1. Grupo de softwares que partilham de características comuns.

6.2. Estrutura da Arquitetura.

6.2.1. Orienta o fluxo de trabalho e as tarefas do projeto, até sua conclusão.

6.3. Orientação Contextual.

6.3.1. Descreve todos os afazeres e é utilizada durante o processo de desenvolvimento.

6.4. Desenvolvimento Orientado a Modelo (MDD).

6.4.1. Metadados capturados de modelos são usados para automatizar o desenvolvimento.

6.4.1.1. Exemplo: Esteira de DevOps.

7. Como aumentar a produtividade

7.1. Fatores tecnológicos: linguagens de programação, ferramentas de apoio, ambientes de desenvolvimento.

7.1.1. Ferramentas de apoio

7.1.1.1. Para Desenvolvimento e Modelagem; para Erros; para Gerenciamento de Projetos; para Comunicação; para Controle de Versão; SGBD.

7.2. Fatores humanos: perfil, formação, comprometimento e capacitação das pessoas.

7.3. Fatores organizacionais: processos de trabalho, metodologias, práticas gerenciais.

8. Fábrica de Software Livre

8.1. Conceito (Brito 2004):

8.1.1. Desenvolve projetos de software livre, em sua totalidade ou em parte, e possui um modelo de negócios diferente do modelo tradicional, onde o código fonte do produto não é disponibilizado.