Você está na página 1de 52

Universidade Presidente Antnio Carlos Unipac - Lafaiete

Sistemas, Engenharia de Sistemas e Software


Daniella Incio de Barros danibarros@unipaclafaiete.edu.br Fundamentos de Engenharia de Software e Requisitos 6 perodo EC

Sistemas - Introduo
importante a familiaridade com diversos tipos de sistemas por dois motivos:

Daniella Barros danibarros@unipaclafaiete.edu.br

Introduo
Mesmo que seu trabalho como analista se concentre em um tipo de sistema, ele normalmente far parte de um sistema maior.

Daniella Barros danibarros@unipaclafaiete.edu.br

Introduo
Embora muitos tipos de sistema paream ser totalmente diferentes, eles tem muitas semelhanas; existem princpios comuns, filosofias e teorias que se aplicam notavelmente bem a todos os tipos de sistemas.

Daniella Barros danibarros@unipaclafaiete.edu.br

Definio
Vrias definies em dicionrios:
Conjunto de elementos entre os quais haja alguma relao; Disposio das partes ou dos elementos de um todo, coordenados entre si e que formam uma estrutura organizada; Reunio de elementos naturais da mesma espcie; Procedimento organizado ou estabelecido.
Daniella Barros danibarros@unipaclafaiete.edu.br

Definio
Definies de autores:
Conjunto de partes coordenadas que concorrem para a realizao de um conjunto de objetivos (Dias & Gazzaneo) Um sistema um conjunto de objetos unidos por alguma forma de interao ou interdependncia (Chiavenato) Sistema pode ser definido como um conjunto de elementos interdependentes que interagem com objetivos comuns formando um todo (Ballestero Alvarez)
Daniella Barros danibarros@unipaclafaiete.edu.br

Definio
Todo e qualquer sistema est inserido em um meio ambiente que o contm, ou seja, tudo que externo a um sistema chamado de seu meio ambiente.

Daniella Barros danibarros@unipaclafaiete.edu.br

Sistema de Informao Definies


Vrios autores definem SI: Um sistema utilizado para coletar, armazenar, processar e apresentar informaes para apoiar as necessidades de informaes de uma empresa.

Daniella Barros danibarros@unipaclafaiete.edu.br

SI Definies
Um conjunto de procedimentos organizados que, quando executados, provm informaes para apoiar processos de tomada de decises e controlar a organizao.

Daniella Barros danibarros@unipaclafaiete.edu.br

SI Definies
Um sistema que prov procedimentos para registrar e tornar disponvel informao, sobre parte de uma organizao, para apoiar atividades relacionadas com a prpria organizao.

Daniella Barros danibarros@unipaclafaiete.edu.br

SI Definies
um conjunto de componentes interrelacionados utilizados para sentir, comunicar, analisar e apresentar informaes com o propsito de melhorar nossa capacidade de perceber, compreender, controlar e criar.

Daniella Barros danibarros@unipaclafaiete.edu.br

SI - Definio
Processo que nasce na busca e obteno da informao e termina por uma interpretao (prprogramada para execuo ou responsabilidade de um ser humano)

Daniella Barros danibarros@unipaclafaiete.edu.br

SI Moderno
Coleta dados no ambiente em que opera usando recursos de sensoriamento e telecomunicaes (entrada), analisa essas informaes usando software e hardware (processo) e, finalmente, apresenta o produto como informao til (sada).

Daniella Barros danibarros@unipaclafaiete.edu.br

Classificao dos SI
H vrias maneiras de classificar os SI. Classificao funcional:
Sistemas de Sistemas de Sistemas de Sistemas Transaes. Suporte Deciso; Informaes Gerenciais; Trabalho do Conhecimento; de Processamento de

Daniella Barros danibarros@unipaclafaiete.edu.br

Engenharia de Sistemas Introduo


Foco da Engenharia de Sistemas:
Foca diversos elementos ao invs de focar apenas o software

Dividida em Engenharia de Negcios e Engenharia de Produto

Daniella Barros danibarros@unipaclafaiete.edu.br

Engenharia de Negcios x Engenharia de Produto


Colocar ordem no desenvolvimento de sistemas Engenharia de Processo de Negcio
Focaliza uma empresa de negcios.

Engenharia de Produto
Focaliza o produto

Daniella Barros danibarros@unipaclafaiete.edu.br

Software Definio
Conjunto de instrues que, quando executadas, produzem a funo e o desempenho desejados, as estruturas de dados necessrias ao programa e os manuais que descrevem a sua operao.

Daniella Barros danibarros@unipaclafaiete.edu.br

Software Utilizao
Utilizao cresce constantemente
Processamento de Informaes Aeronutica Telecomunicaes Sade Entretenimento...

Daniella Barros danibarros@unipaclafaiete.edu.br

Caractersticas Especiais do Software


Produto relativamente novo; Produto lgico (abstrato); No se desgasta; No manufaturado, mas desenvolvido; Flexibilidade de aplicao;

sim

Daniella Barros danibarros@unipaclafaiete.edu.br

Caractersticas Especiais do Software


Mudana constante de Requisitos; A aplicao em diferentes reas pode gerar muitos riscos; Durante a sua vida, o software enfrentar mudanas (manuteno). Quando essas mudanas so feitas, provvel que novos defeitos sejam introduzidos;
Daniella Barros danibarros@unipaclafaiete.edu.br

Caractersticas Especiais do Software


Toda falha de software indica um erro no projeto ou no processo por meio do qual o projeto foi traduzido em cdigo executvel.

Daniella Barros danibarros@unipaclafaiete.edu.br

Sistemas Baseados em Computador


Conjunto ou arranjo de elementos organizados para atingir alguma meta pr-definida por meio do processamento da informao.

Daniella Barros danibarros@unipaclafaiete.edu.br

Meta
Pode ser apoiar alguma funo de negcio ou desenvolver um produto que possa ser vendido para gerar receita. Para alcanar a meta, um sistema baseado em computador faz uso de diversos elementos do sistema.

Daniella Barros danibarros@unipaclafaiete.edu.br

Elementos do sistema
Software
Programas de computador, estrutura de dados e produtos de trabalho correlacionados que servem para realizar o mtodo lgico, procedimento ou controle necessrio.

Daniella Barros danibarros@unipaclafaiete.edu.br

Elementos do sistema
Hardware
Dispositivos eletrnicos que fornecem capacidade computacional, dispositivos de interconectividade que possibilitam o fluxo de dados e dispositivos eletromecnicos que fornecem as funes do mundo externo.

Daniella Barros danibarros@unipaclafaiete.edu.br

Elementos do sistema
Pessoal
Usurios e operadores de hardware e software

Daniella Barros danibarros@unipaclafaiete.edu.br

Elementos do sistema
Banco de Dados
Uma coleo de informaes grande e organizada qual se tem acesso por intermdio de software e persiste ao longo do tempo

Daniella Barros danibarros@unipaclafaiete.edu.br

Elementos do sistema
Documentao
Informaes descritivas que mostram o uso e/ou operao do sistema.

Daniella Barros danibarros@unipaclafaiete.edu.br

Elementos do sistema
Procedimentos
Os passos que definem o uso especfico de cada elemento do sistema ou o contexto de procedimento no qual o sistema reside.

Daniella Barros danibarros@unipaclafaiete.edu.br

Hierarquia da Engenharia de Sistemas


A Engenharia de Sistemas abrange uma coleo de mtodos descendentes e ascendentes (topdown e bottom-up) para navegar na hierarquia ilustrada a seguir

Daniella Barros danibarros@unipaclafaiete.edu.br

Hierarquia da Engenharia de Sistemas


Domnio do Negcio ou do Produto { Viso de mundo

Domnio de Interesse

{ Viso de domnio

Elemento do Sistema

{ Viso do elemento

{ Viso detalhada do elemento

Daniella Barros danibarros@unipaclafaiete.edu.br

Hierarquia da Engenharia de Sistemas


Sempre projete uma coisa considerando-a no seu contexto imediatamente superior uma cadeira em uma sala, uma sala em uma casa, uma casa em um bairro, um bairro na planta de uma cidade Eliel Saarinen

Daniella Barros danibarros@unipaclafaiete.edu.br

Hierarquia da Engenharia de Sistemas


importante que o Engenheiro de Sistemas estreita o foco do trabalho medida que se move de forma descendente na hierarquia apresentada anteriormente. No entanto, a viso do mundo retrata uma definio clara da funcionalidade global que permitir ao engenheiro entender o domnio e, em ltima anlise, o sistema ou produto, no contexto adequado.

Daniella Barros danibarros@unipaclafaiete.edu.br

Problemas no Desenvolvimento de Software


Obteno dos requisitos do usurio; Diversas interaes com o usurio para obter o produto final; Dificuldade de manuteno; Crescimento na complexidade dos sistemas;

Daniella Barros danibarros@unipaclafaiete.edu.br

Problemas no Desenvolvimento de Software


Dificuldade de integrao; Pouca reutilizao, dificuldade de transferncia de tecnologia; Falta de metodologias amplamente aceitas e empregadas.

Daniella Barros danibarros@unipaclafaiete.edu.br

Problemas no Desenvolvimento de Software


Devido a esses problemas, algumas consequncias foram identificadas:
Apenas 10% dos projetos terminam no prazo e no custo estimados; 60% dos projetos ultrapassam o oramento significativamente; De 25 a 30% dos projetos maiores so cancelados antes da implantao;

Daniella Barros danibarros@unipaclafaiete.edu.br

Problemas no Desenvolvimento de Software


O projeto mdio tem um atraso de 1 ano e custo de 100% acima do oramento; O projeto tpico gasta 50% de seu tempo em testes; Taxa tpica de erros: 1 a 10 erros para cada 1000 linhas de cdigo aps a implantao; Os custos de manuteno representam 81% dos recursos disponveis.
Daniella Barros danibarros@unipaclafaiete.edu.br

Problemas no Desenvolvimento de Software


Crise do Software (dcada de 70) Engenharia de Software Modelos de processo desenvolvimento de software

de

Daniella Barros danibarros@unipaclafaiete.edu.br

Problemas no Desenvolvimento de Software


Pouca interao do analista com o usurio
Dificuldades de entender o que o usurio quer Usurios so executores e no explicadores Os analistas no so telepatas

Daniella Barros danibarros@unipaclafaiete.edu.br

Problemas no Desenvolvimento de Software


Usurios x Informtica
No entendem Entendem um pouco de Windows, Word e acham que sabem tudo; s apertar alguns botes Conhecem um pouco de informtica entendem diagramas. Facilitam o dilogo

Daniella Barros danibarros@unipaclafaiete.edu.br

Problemas no Desenvolvimento de Software


Analista no conhece da rea da aplicao:
Dificuldade de entender o usurio (maioria das vezes) No final do levantamento tem que conhecer da aplicao tanto quanto o usurio

Daniella Barros danibarros@unipaclafaiete.edu.br

Problemas no Desenvolvimento de Software


Especificaes no entendidas pelo usurio:
Dificuldades do usurio de entender os diagramas Falta de organizao do analista muito ou pouco papel

Daniella Barros danibarros@unipaclafaiete.edu.br

Problemas no Desenvolvimento de Software


Documentao do sistema:
Ausente, deixar para o final, narrativas vagas, imprecisas, com erros, sem atualizao.

Daniella Barros danibarros@unipaclafaiete.edu.br

Engenharia de Software
Caractersticas:
Estabelecimento e uso de slidos princpios de engenharia para que se possa obter economicamente um software que seja confivel e funcione eficientemente em mquinas reais;

Daniella Barros danibarros@unipaclafaiete.edu.br

Engenharia de Software
Introduzir metodologias para o desenvolvimento do software, da mesma forma que nas outras engenharias, com o emprego de modelos; Incluso de Procedimentos, Mtodos e Ferramentas, dentro de uma Metodologia bem definida; Ainda no existe uma Metodologia amplamente aceita.

Daniella Barros danibarros@unipaclafaiete.edu.br

Principais Objetivos
Reduzir o custo e o tempo de desenvolvimento; Possibilitar uma melhor gerncia do processo de desenvolvimento; Facilitar o trabalho em grupo; Aumentar a qualidade do produto.

Daniella Barros danibarros@unipaclafaiete.edu.br

Fatores que influenciam na qualidade do Software


Segundo McCall
Confiabilidade Eficincia Manutenibilidade Portabilidade

Daniella Barros danibarros@unipaclafaiete.edu.br

Fatores que influenciam na qualidade do Software


Segundo a Norma ISO 9126:
Confiabilidade Eficincia Manutenibilidade Portabilidade

Daniella Barros danibarros@unipaclafaiete.edu.br

Confiabilidade
McCall:
Quanto se pode esperar que um programa realize a funo pretendida com a preciso exigida.

ISO 9126:
Perodo de tempo que o software est disponvel para uso, conforme indicado pelos seguintes subatributos: maturidade, tolerncia a falhas, recuperabilidade.
Daniella Barros danibarros@unipaclafaiete.edu.br

Eficincia
McCall:
Quantidade de recursos de computao e cdigo necessrios para um programa realizar a sua funo.

ISO 9126:
Grau em que o software faz uso otimizado dos recursos do sistema, conforme indicado pelos seguintes subatributos: comportamento em relao ao tempo, comportamento em relao aos recursos.

Daniella Barros danibarros@unipaclafaiete.edu.br

Manutenibilidade
McCall:
O esforo necessrio para localizar e consertar um erro em um programa.

ISO 9126:
Facilidade com a qual podem ser feitos reparos no software, conforme indicados pelos seguintes subatributos: analisabilidade, mutabilidade, estabilidade, testabilidade.
Daniella Barros danibarros@unipaclafaiete.edu.br

Portabilidade
McCall:
Esforo necessrio para transferir o programa de um ambiente de hardware ou software para outro.

ISO 9126:
Facilidade com a qual o software pode ser transposto de um ambiente para outro, conforme indicado pelos seguintes subatributos: adaptabilidade, instalabilidade, conformidade e permutabilidade.

Daniella Barros danibarros@unipaclafaiete.edu.br

Você também pode gostar