Engenharia de Software Engenharia de Software • É a disciplina que se ocupa de todos os aspectos da produção de software, desde os os estágios iniciais de especificação do sistema até a manutenção desse sistema, depois que ele entrou em operação. • Sistematização da produção: produção industrial, maior qualidade e menor tempo. Os Sistemas e o Ambiente • Os sistemas se propõem a mudar um determinado ambiente, mas ao mesmo tempo sofre mudanças deste ambiente. – Mudanças no processo; – Mudanças nas tarefas; – Mudanças organizacionais. Propriedade dos Sistemas • Propriedades Funcionais: surgem quando as partes do sistema funcionam em conjunto para atender a um objetivo; • Propriedades Não-funcionais: relacionam o comportamento do sistema em seu ambiente operacional. Se atingidos certos níveis críticos, podem inutilizar um sistema. Exemplos: confiabilidade, desempenho, segurança (...) O Processo de Engenharia de Sistemas O Processo de Engenharia de Sistemas • Definição de requisitos do sistema Especifica quais funcionalidades o sistema terá e os objetivos que deve cumprir. Pode ser: – Requisitos funcionais – Requisitos não-funcionais (propriedades) – Restrições e características que o sistema não deve exibir. O Processo de Engenharia de Sistemas • Projeto de Sistemas Se preocupa com os componentes do sistema, suas funcionalidades e relação. • • • • • Agrupar os requisitos Identificar subsistemas Atribuir requisitos à subsistemas; Especificar funcionalidades de subsistemas; Definir interfaces do sistemas. O Processo de Engenharia de Sistemas • Desenvolvimento de subsistemas Implementação dos subsistemas identificados na parte de projeto. Podem começar do zero ou reutilizar uma ferramenta já existente. • Integração de Sistemas Agrupar os subsistemas desenvolvidos para formar um sistema. Recomenda-se fazer uma integração gradual para ter maior controle de erros e otimização do desenvolvimento. O Processo de Engenharia de Sistemas • Instalação de Sistemas Instalação do sistema em seu lugar de uso. Muitos problemas podem surgir nessa etapa ( resistência, diferença da produção para o local, físico, etc.) • Operação de sistemas Uso efetivo do sistema. Surgirão novos requisitos e problemas não analisados no projeto. O Processo de Engenharia de Sistemas • Evolução de sistemas Os sistemas mais complexos têm muito tempo de vida, que permite mudanças. Essas mudanças deve ser bem analisadas antes da efetivação. • Desativação de sistemas Determinar o tempo de vida útil de um sistema e retirá-lo de funcionamento. A engenharia deve prever a desativação e reduzir seu impacto.