Faculdade Pitágoras Engenharia de Software Prof.: Julio Cesar da Silva juliocesar@tecnocracia.eti.br Http://e-academy.com.br
Conceitos Iniciais Informática: Ciência que visa o tratamento da Informação. Ciência: Conjunto organizado de conhecimentos relativos a um determinado objeto, obtido mediante observação, a experiência dos fatos e um método próprio. Processamento de dados: Tratamento dos dados por meio de máquinas com objetivo de obter resultados da informação representada pelos dados. Engenharia: aplicar conhecimentos científicos e empíricos para criação de estruturas, dispositivos e processos. Fonte Engenharia de Software Wilson Pádua
SI e suas partes Software Hardware Base de dados Redes Fonte Engenharia de Software Wilson Pádua
SI e suas partes
O Software Ideal "Quando um software de computador é bem sucedido - quando satisfaz às necessidades das pessoas que o usam, tem desempenho sem falhas por um longo período, é fácil de modificar e ainda mais fácil de usar - ele pode e efetivamente modifica as coisas para melhor." - Roger S. Pressman - 6ª Edição
Panorama Software de computador é o produto que os profissionais de software constroem e, depois, mantêm ao longo do tempo. Ex: Sistema de Folha de Pagamento, Sistema Operacional, etc. Para "construir" um software de computador bem-sucedido deve ser aplicar um processo, uma abordagem da engenharia de software. O software pronto é um produto (para quem desenvolve) e também a informação resultante do trabalho do usuário. Tem impacto em todas as organizações. "Ideias e descobertas tecnológicas são as forças propulsoras do crescimento econômico." - The Wall Street Journal
Papel Evolutivo o Software O software é o produto (ex. software de controle financeiro) e o veículo para entrega do produto (sistemas operacionais, redes, ferramentas, etc). O software disponibiliza o potencial de computação presente no hardware e entrega ao usuário o bem mais importe desta é poca: a informação. O papel e a importância do software tem crescido ao longo dos anos, tornando-se sofisticado e complexo. Sofisticação e complexidade podem produzir resultados magníficos quando um sistema é bem -sucedido, mas também podem causar enormes problemas para quem precisa construir sistemas complexos.
Questões de Construção de Software Por que leva tanto tempo para concluir o software? Por que os custos de desenvolvimento são tão altos? Por que não podemos achar todos os erros antes de entregar o software aos clientes? Por que gastamos tanto tempo e esforço mantendo programas existentes? Por que temos dificuldade em manter o software ao longo do tempo?
O Processo de Elaborar o Software O Software é elaborado e não manufaturado. Ou seja, empregamos o intelecto para produzir uma representação da realidade em um ambiente computacional. O Software não "se desgasta", mas se deteriora. Modificações ao longo da "existência" do software podem gerar novas falhas (erros, bugs) e ao contrario do hardware que pode ter peças trocadas em caso de desgaste, não há peças sobressalentes de software. A maioria dos softwares continua a ser construída sob encomenda. É necessário que os componentes da elaboração de um software sejam projetados e implementados de modo a serem reusados em programas diferentes.
A Natureza do Software Software de Aplicação - resolvem uma necessidade especifica do negócio. Software cientifico e de engenharia - vão da astronomia e vulcanologia Software embutido - reside dentro de um produto (ex: roteador) Aplicações web arquivos ligados por hipertexto via rede. Ler mais: Software de Inteligência Artificial, Computação Ubíqua, Software Livre
O Desafio I: Elaborar O desafio para os engenheiros de Software é construir aplicações que facilitem a comunicação de massa e a distribuição de produtos em massa usando conceitos que estão agora apenas se formando. Pode-se utilizar processos que sejam ágeis e adaptáveis as necessidades de modificação, do crescimento do negócio não se esquecendo da facilidade de uso.
O Desafio II: Software Legado Sistemas legados foram desenvolvidos décadas atrás e podem causar dor de cabeça para organizações que os consideram dispendiosos de manter e arriscados de evoluir. O software legado é caracterizado por longevidade e criticidade para o negócio. O software legado geralmente apresentam problemas com a qualidade. É importante lembrar que se o software legado que satisfaz às necessidades de seus usuários e funciona confiavelmente, não esta danificado e não precisa ser consertado. Independente do tamanho, complexidade ou domínio de aplicação, o software de computador vai evoluir com o tempo.
Bibliografia PRESSMAN, R. S. Engenharia de Software. Makron Books. SOMMERVILLE, I. Software Engineering. Addison-Wesley. COLEMAN, D; ARNOLD, P.; BODOFF, S.; DOLLIN, C.; GILCHRIST, H.; HAYES, F.; JEREMAES, P. Desenvolvimento Orientado a Objetos: O Método Fusion. Rio de Janeiro, Campus, 1994. FURLAN, J.D. Modelagem de Objetos através da UML. Makron Books, 1998.
Atividade I 1.0 Pesquisar sobre lei das consequências não-pretendidas 2.0 Dê dois exemplos de como a leia das consequências nãopretendias se aplica aos softwares de computador. 3.0 Pesquise sobre os Mitos do Software descritos por Pressman no livro Engenharia de Software. 4.0 Dentre os Mitos do Software descritos por Pressman, quais você considera importante? Por quais motivos? Entregar por e-mail ou pessoalmente até o dia 09/09/2011. Informar no trabalho nome completo, disciplina e curso.