Engenharia de Software e Sistemas
de Informação e Gestão
Luís Correia
DSAS
ENGENHARIA DE SOFTWARE
• Engenharia de software é uma área do
conhecimento da computação voltada
para a especificação, desenvolvimento
e manutenção de sistemas de
software, objectivando organização,
produtividade e qualidade.
ENGENHARIA DE SOFTWARE(Cont.)
• A Engenharia de Software surge devido a um conjunto
de problemas que tornam a criação de um software
numa actividade árdua e subjectiva. Alguns problemas
na criação de software são, por exemplo:
• As estimativas de custo e prazo, sendo frequentemente
imprecisas;
• A produtividade das pessoas da área de software ser
desigual;
• A qualidade do software desenvolvido pode não ser o
mais adequado;
ENGENHARIA DE SOFTWARE(Cont.)
• A inexistência de tempo suficiente para
recolher dados sobre o processo em
desenvolvimento;
• A comunicação entre o Analista e o Cliente
não ser a desejada;
• A falta ou deficiência em técnicas de teste;
• A Manutenção abranger a maioria do
orçamento destinado ao Software;
ENGENHARIA DE SOFTWARE(Cont.)
• A Engenharia de software proporciona:
– Métodos abrangentes para todas as fases do
desenvolvimento;
– Ferramentas para automatizar os métodos;
– Implementação mais consistente e robusta;
– Técnicas para garantir qualidade;
– Boa coordenação e Controle Administrativo.
ENGENHARIA NECESSÁRIA?!
A importância da Engenharia de Software.
ETAPAS DA ENGENHARIA DE SOFTWARE
•
A Engenharia de software tem um conjunto de etapas que
envolve ferramentas, métodos, processos e tem como
alicerce a tudo isto o controle da qualidade:
– Métodos: Proporcionam os detalhes de “como fazer” para
construir o software.
– Ferramentas: Fornecem suporte automatizado ou semiautomatizado aos métodos.
– Processos: É a fundação da engenharia de software, provendo a
sustentação e relacionamentos entre as camadas.
– Foco na qualidade: Garante toda a qualidade do software
gerado.
O UML
• A UML ou Unified Modeling Language (que nada tem a ver
com XML, HTML, XLS, DML, DHTML) é uma linguagem de
modelagem não proprietária de terceira geração. Ela foi
criada para facilitar e uniformizar a forma de especificação de
projectos de desenvolvimento de software.
• A UML não é um método, é uma notação. Um método
normalmente é composto por uma linguagem de modelagem
(notação gráfica) e por um processo (passos para elaboração
do projecto). Dessa forma a UML, pode ser usada com
qualquer processo já que é independente dele.
• A UML permite modelar: Elementos; Relacionamentos;
Mecanismos de Extensibilidade; Diagramas.
O UML(Cont.)
• Elementos:
– Estruturais – Classes, interfaces, colaborações,
componentes, casos de uso, classes activas, nós;
– Comportamentais – Interacções, máquinas de
estado;
– Grupos de elementos – Pacotes, subsistemas,
modelos;
– Outros – Notas.
O UML(Cont.)
• Relacionamentos:
–
–
–
–
Dependências;
Associações;
Generalizações;
Implementações (realização);
• Mecanismos de Extensibilidade:
– Estereótipos;
– Tagged value;
– Regras.
UML - Diagramas Estáticos
•
•
•
•
•
•
Diagrama de pacotes
Diagrama de classes
Diagrama de objectos
Diagrama de estrutura composta
Diagrama de componentes
Diagrama de instalação
UML - Diagramas Dinâmicos
•
•
•
•
•
•
•
Diagrama casos de uso
Diagrama de actividades
Diagrama de máquina de estados
Diagrama de comunicação
Diagrama de sequência
Diagrama de Tempo
Diagrama de Interactividade
ENGENHARIA DE SOFTWARE E
SISTEMAS DE INFORMAÇÃO E GESTÃO
• Engenharia de Software está intimamente ligada com Sistemas
de Informação e Gestão, devido ao facto de todos os sistemas
serem desenhados com base em estudos feitos previamente à
estrutura destinada.
• Um sistema de informação é composto por todos os
componentes que recolhem, manipulam e disseminam dados
ou informação. Incluem-se tipicamente hardware, software,
pessoas, sistemas de comunicação como linhas telefónicas, e
os dados propriamente ditos.
• As actividades envolvidas incluem a introdução de dados,
processamento dos dados em informação, armazenamento de
ambos, e a produção de resultados, como relatórios de gestão.
ENGENHARIA DE SOFTWARE E
SISTEMAS DE INFORMAÇÃO E GESTÃO
• Desta forma a Engenharia de software tem um
papel deveras activo na abordagem deste
tema, isto é, os Sistemas de Informação e
Gestão são sem dúvida indispensáveis para a
existência de uma boa comunicação entre
empresas e instituições.
• Porém é necessário existir software coerente e
de fácil manipulação das tecnologias de
informação, de forma a melhorar a segurança,
a rapidez, e a qualidade de todos os Sistemas.
ENGENHARIA DE SOFTWARE E
SISTEMAS DE INFORMAÇÃO E GESTÃO
• Para tal, tem que existir uma coordenação
mútua entre toda a informação, pessoas e
meios disponíveis para a criação de um
software eficaz, seguro, e de
características bem definidas, com base a
servir “com perfeição” todo o sistema em
si.
Download

Engenharia de Software e Sistemas de Informação e Gestão