Captulo 1
Informaes importantes Livro Engenharia de Software
Pesquisar sobre desenvolvimento de softwares de aplicao
Metodologia de processo genrica
Comunicao compreender os objetivos das partes interessadas para com o projeto e fazer o
levantamento das necessidades que ajudaro a definir as funes e caractersticas do software
Planejamento plano de projeto de software tarefas tcnicas a serem conduzidas, os riscos
provveis, os recursos que sero necessrios, os produtos resultantes a ser produzidos e um
cronograma de trabalho
Modelagem criar esboo de modo que se possa ter uma ideia do todo arquitetura
Construo gerao de cdigo (manual ou automatizada)
Emprego entrega ao cliente, que avalia e fornece feedback
Atividades de apoio:
Controle e acompanhamento do projeto avaliao em relao ao plano e tomada de medidas
para cumprir cronograma
Administrao de riscos avalia riscos que possam afetar o resultado ou a qualidade do
produto/projeto
Garantia da qualidade do software define e conduz atividades que garantem a qualidade do
software
Revises tcnicas identifica e elimina erros antes que se propaguem para a atividade seguinte
Medio define e coleta medidas do processo, do projeto e do produto. Auxilia na entrega do
software de acordo com os requisitos;
Gerenciamento da configurao de software gerencia os efeitos das mudanas ao longo do
processo
Gerenciamento de reusabilidade define critrios para o reuso de artefatos (inclusive
componentes do software) e estabelece mecanismos para a obteno de componentes
reutilizveis
Preparao e produo de artefatos de software engloba as atividades necessrias para criar
artefatos como, por exemplo, modelos, documentos, logs, formulrios e listas.
Olhar modelos geis de processo (SCRUM)
A prtica da engenharia de software
Compreender o problema (comunicao e anlise)
Quem tem interesse na soluo do problema? Ou seja, quem so os interessados? Quais so as
incgnitas? Que dados, funes e recursos so necessrios para resolver apropriadamente o problema?
O problema pode ser compartimentalizado? possvel represent-lo em problemas menores que talvez
sejam mais fceis de ser compreendidos? O problema pode ser representado graficamente? possvel
criar um modelo analtico?
Planejar uma soluo (modelagem e projeto de software )
Voc j viu problemas similares anteriormente? Existem padres que so reconhecveis em uma
potencial soluo? Existe algum software que implemente os dados, as funes e caractersticas
necessrias? Algum problema similar j foi resolvido? Em caso positivo, existem elementos da soluo
que podem ser reutilizados? possvel definir subproblemas? Em caso positivo, existem solues
aparentes e imediatas para eles? possvel representar uma soluo de maneira que conduza a uma
implementao efetiva? possvel criar um modelo de projeto?
Execute/leve adiante o plano (gerao de cdigo)
O planejamento nos permite que continuemos sem nos perder. A soluo se adequa ao plano?
O cdigo-fonte pode ser atribudo ao modelo de projeto? Cada uma das partes componentes da soluo
est provavelmente correta? O projeto e o cdigo foram revistos, ou, melhor ainda, provas da correo
foram aplicadas ao algoritmo?
Examine o resultado para ter preciso (testes e garantia de qualidade)
possvel testar cada parte componente da soluo? Foi implementada uma estratgia de testes
razovel? A soluo produz resultados que se adequam aos dados, s funes e caractersticas
necessrias? O software foi validade em relao a todas as solicitaes dos interessados?
OS SETE PRINCPIOS DE HOOKER NA PRTICA DA ENGENHARIA DE SOFTWARE
A razo de existir (gerar valor a seus usurios)
KISS (Kee it Simple, Stupid!)
Mantenha a viso
O que um produz outros consomem (especificar, projetar e implementar ciente de que algum
mais ter de entender o que voc est fazendo)
Esteja aberto para o futuro (fazer projetos que adaptem facilmente a mudanas)
Planeje com antecedncia, visando a reutilizao
Pense!
Captulo 2
Processo de software roteiro que ajuda a criar um software de qualidade