Vous êtes sur la page 1sur 5

Pgina Inicial Diversos

Resumo Do Livro Engenharia De Software De Ian Sommerville 8 Ed.

Introduo a Eng. De Software um ramo da engenharia com foco no desenvolvimento de softwares dentro de custos, prazos adequados e alta qualidade. Software abstrato, no h limitaes fsicas. Essa falta de limitaes pode torna-lo extremamente complexo e de difcil compreenso. O conceito de ES foi proposto em 1968 em uma conferncia para discutir o que foi chamado de crise do software, que resultava do surgimento de novos hardwares de computadores baseados em CIs e tornava sistemas impensveis at ento em projetos realizveis e mais complexos que os anteriores. O desenvolvimento informal no era suficiente, atraso, no confivel, difcil de manter, baixo desempenho. Novas tcnicas surgiram pois o custo do hardware caa enquanto do software aumentava. At hoje em dia essas tcnicas no so aplicadas efetivamente por muitas empresas. O QUE SOFTWARE? Alm do programa executvel, so todos os dados de documentao(sistema e usurio), arquivos de conf. necessrios a operao do software. Existem 2 tipos de produtos de software: 1. Produtos genricos: Sistemas do tipo Stand-alone e vendido no mercado para qualquer cliente; 2. Produtos sob encomenda (ou personalizados): Encomendado por um determinado cliente/ ou modificado para ele; DIFERENAS: Nos produtos genricos quem controla a especificao a empresa que desenvolve. J nos produtos sob encomenda, essa especificao controlada

pela empresa que compra o produto. Existe tambm o caso em que um produto genrico modificado para atender um cliente especf ico (ERPs como SAP). O QUE ENG. DE SOFT.? uma disciplina de engenharia relacionada com todos os aspectos da produo de software, desde a especificao at a manuteno. Por que Disciplina? Os engenheiros aplicam teorias mtodos e ferramentas onde for apropriado e de forma seletiva mesmo quando no existem teorias e mtodos aplicveis, e fazem as coisas funcionarem. Trabalham tambm sob restries organizacionais e financeiras. Todos os aspectos? Porque tambm se relaciona com atividades do gerenciamento do projeto, desenvolvimento de ferramentas, mtodos e teorias que apoiem a produo. Em geral utiliza-se uma abordagem sistemtica e organizada, mas pode ser extremamente eficaz selecionar uma abordagem alternativa e menos formal para uma determinada circunstncia. DIFERENA ENTRE E.S. E C.C. A C.C. diz respeito as teorias e os mtodos que formam a base para computadores e softwares. A E.S. se dedica aos problemas prticos da produo de software. Teorias mais elaboradas da C.C. nem sempre podem ser aplicadas a E.S. nos seus problemas reais e complexos. DIFERENA ENTRE ENG. DE SOFTWARE E DE SISTEMAS A Eng. Sistemas trata de todos os aspectos do desenvolvimento e da evoluo de sistemas complexos. Relacionada ao desenvolvimento de hardware, polticas e processos de implantao e a prpria Eng. De Soft. Mais envolvida com definio de arquitetura, integrao de partes e menos envolvidos com eng. Dos componentes, hardware, software etc. Enquanto a Eng. De Soft. se dedica aos problemas prticos da produo do software e faz parte da engenharia de sistemas. O QUE PROCESSO DE SOFTWARE? um conjunto de atividades e resultados associados que produz um produto

de software(software, documentao, etc). Atividades de processos comuns a todos os processos: 1 Especificao: Definio do que ser produzido; 2 Desenvolvimento: Projetado e programado; 3 Validao: Verificao se o que foi feito o que o cliente deseja. 4 Evoluo: Adaptao as mudanas futuras e/ou melhorias; Diferentes tipos de sistemas necessitam de diferentes tipos de desenvolvimento. Ex.: Alguns podem requerer que sejam especificados totalmente antes do desenvolvimento, para outros, essas atividades podem ocorrem em paralelo. O uso de um processo inadequado pode reduzir a qualidade ou a utilidade do produto de software a ser desenvolvido e/ou aumentando os custos de desenvolvimento. O QUE UM MODELO DE PROCESSO DE SOFTWARE? uma descrio simplificada do processo sob uma determinada viso. Os modelos incluem atividades do processo, produtos de software e os papis das pessoas envolvidas. A maioria dos modelos baseada em um dos 3 modelos gerais ou paradigmas de desenvolvimento: * CASCATA Fases separadas de processos. Uma fase no inicia sem que outra termine e seja aprovada. * DESENVOLVIMENTO ITERATIVO Intercala as atividades. Desenvolvido rapidamente com base em especificaes abstratas e depois refinado com informaes dos clientes para que possa satisfazer a necessidade desse. * E.S. BASEADA EM COMPONENTES Supes que partes do sistema da j existem. Concentra-se mais na integrao dessas partes do que no seu desenvolvimento a partir do incio. QUAIS SO OS CUSTOS DA ENG. DE SOFT.? No existe uma resposta simples. No modelo cascata, os custos de especificao, projeto, implementao e integrao so medidos separadamente. Nesse caso, integrao e testes so as atividades mais caras, entre 40 e 50% do custo total de desenvolvimento.

Na abordagem iterativa, no existe uma linha precisa entre especificao, projeto e desenvolvimento. Custos de especificao reduzidos, pois apenas uma especificao de alto nvel produzida antes do desenvolvimento, e tambm precisa de uma atividade de teste independente uma vez que a implementao inicial esteja completa. A CBSE tem sido aplicada apenas nos ltimos tempos, e sabemos que os custos de desenvolvimento so menores que os custos de integrao e testes, porque necessrio assegurar que os componentes utilizados, realmente satisfazem as especificaes e funcionam conforme o esperado, mas alm disso no h dados precisos para os custos. Custos tambm incorrem em alteraes aps a sua liberao para o uso. Os custos de evoluo variam muito de acordo com o tipo de sistema. Essa abordagem de custos vlida para softwares sob encomenda. Nos produtos genricos, h uma abordagem evolucionria, e os custos de especificao so relativamente baixos. J os custos de testes so mais altos justamente por serem previstos para rodar em diferentes ambientes de configurao. Os custos de evoluo de produtos genricos so relativamente difceis de serem estimados, pois no so avaliados separadamente como nos softwares sob encomenda, mas so simplesmente custos de desenvolvimento. O QUE SO MTODOS DE ENG. DE SOFTWARE? Um mtodo uma abordagem estruturada para o desenvolvimento de software, cujo objetivo facilitar a produo de software de alta qualidade dentro de custos adequados. No h um mtodo ideal, e diferentes mtodos possuem diferentes reas onde so mais aplicveis. Todos os mtodos so baseados na ideia de modelos de desenvolvimento. O QUE CASE? So ferramentas utilizadas para dar apoio as atividades do processo de software, tais como anlise, modelagem, depurao e testes. Todos os mtodos vm atualmente com uma tecnologia case associada. OQUE SO ATRIBUTOS DE UM BOM SOFTWARE?

Os atributos de um software refletem o comportamento do software, enquanto esse est em execuo, sua estrutura e organizao dos fontes bem como a documentao associada. Alguns atributos: Facilidade de entendimento dos fontes, tempo de resposta a uma consulta. O conjunto de atributos varia de acordo com a sua aplicao. Pode-se resumir em: Facilidade de manuteno, confiana, eficincia e aceitao. QUAIS SO OS DESAFIOS CHAVES DA E.S.? Hoje a E.S. se depara com 3 desafios: Desafio da heterogeneidade: necessrio que os sistemas de software operem com sistemas distribudos e tambm com sistemas mais antigos (legados). Necessrio tcnicas para desenvolver sistemas flexveis e confiveis para adaptar-se a essa heterogeneidade. Desafio de entrega: Muitas tcnicas tradicionais demandam tempo para obter a qualidade. O desafio da entrega consiste em reduzir os tempos de entrega dos sistemas grandes e complexos sem comprometer a qualidade. Desafio da confiana: Os softwares esto presentes em todos os aspectos da nossa vida e precisamos confiar nele. O desafio da confiana consiste em desenvolver tcnicas que demonstrem aos usurios que possvel confiar nele. RESPONSABILIDADE PROFISSIONAL E TICA Confidencialidade: respeitar a confidencialidade de seus funcionrios ou clientes independente ou no de acordo formal. Competncia: No deve conscientemente aceitar um trabalho que esteja fora da sua competncia. Direitos sobre propriedade intelectual: Estar ciente das leis locais, patentes e assegurar que a propriedade intelectual de funcionrios e clientes esteja protegida. Mau uso de computadores: Evitar mau uso desde o trivial (como jogos por exemplo) at o mais srio (disseminao de vrus).

Vous aimerez peut-être aussi