PROCESSO DE SOFTWARE.docx

Embed Size (px)

Citation preview

  • 8/15/2019 PROCESSO DE SOFTWARE.docx

    1/12

    1PROCESSO DE SOFTWARE

    Conceito:

    1. É um conjunto de atividades ou sequências ou tae!as estutuadas e"acionadas que#odu$em um sevi%o ou #oduto es#eci&co #aa seus c"ientes'

    (. É um conjunto de atividades ou sequência coeente de #)ticas que "eva aodesenvo"vimento ou evo"u%*o do #oduto so!t+ae. ,Aqui- vei&ca os #assos- em quaiscaminos devemos #ecoe #aa no &na" te um #oduto so!t+ae com qua"idade/'

    0. Seundo Fa"2o ,(334/: um #ocesso de so!t+ae #ode se visto como o conjunto deatividades- m5todos- #)ticas e tans!oma%6es que uiam #essoas na #odu%*o deso!t+ae. 7m #ocesso e&ca$ deve- c"aamente- considea as e"a%6es ente asatividades- os ate!atos #odu$idos no desenvo"vimento- as !eamentas e os#ocedimentos necess)ios e a a2i"idade- o teinamento e a motiva%*o do #essoa"envo"vido.

    8. Seundo Pessman ,(339/: um #ocesso de desenvo"vimento de so!t+ae 5 umaca2ou%o ,ta%ado inicia" de a"o es2o%o/ #aa as tae!as necess)ias #aa a

    constu%*o de um so!t+ae de qua"idade'4. 7m #ocesso de so!t+ae de&ne uma a2odaem que 5 adotada quando o so!t+ae 5e"a2oado'

    9. ;odo de !a$e a"uma coisa' m5todo- maneia- #ocedimento'

  • 8/15/2019 PROCESSO DE SOFTWARE.docx

    2/12

    (

    E@E;ETOS B7E CO;PE; 7; PROCESSO DE SOFTWARE

    Pocesso de So!t+ae

    Pocessos

    Atividades

    P5atividades

    Su2atividades

    Ate!atos

    nsumos

    Podutos

    Recusos

    Recusos umanosFeamentas de So!t+ae

    ad+ae

    Pocedimentos

    ;5todos

     T5cnicas

    Roteios.

    NOTA

    • PROCESSO: conjunto de #assos e instu%6es #aa eGecuta deteminadas atividades'• DESEHO@H;ETO: cia%*o ou manuten%*o de um #oduto ou sevi%o'• SOFTWARE: conjunto de cIdio !onte e documenta%*o.

  • 8/15/2019 PROCESSO DE SOFTWARE.docx

    3/12

    0O sini&cado do #ocesso de so!t+ae 5 detemina- documenta de !oma #ecisa edeta"ada:

    • O que 5 !eito ,#oduto/'• Buando 5 !eito ,#assos/'• Po quem 5 !eito ,aente/'• O que usa como entada ,insumo/'• O que 5 #odu$ido ,esu"tado/.

    O2s.: JO DK CO;O FAKERL

    O que de&neM

    • De&ne B7AS ATHDADES devem se ea"i$adas dento de uma #odu%*o de sistema'• De&ne as PESSOAS EHO@HDAS. ,Buem s*o as #essoas/'• De&ne as TAREFAS ,o2as ou #o%*o de ta2a"o que se deve aca2a num deteminado

    #a$o/ a seem eados.

    Buais s*o as caacte>sticasM

    É caactei$ado #o meio de um conjunto de atividades 2em de&nidas e documentadas quequando a#"icadas- sistematicamente- aantem ceto au de qua"idade na con!ec%*o do#oduto. A"5m do conjunto de atividades- o #ocesso #ossui outos ati2utos como: ;ATERAPR;A- ;JO DE ONRA e REC7RSOS. Tais ati2utos s*o consideados os insumos do #ocessode #odu%*o.

    PROCESSO DE DESEHO@H;ETO

    EGistem v)ios #ocessos de desenvo"vimento de so!t+ae- #o5m a"umas atividades#assos!undamentais s*o comuns a todos e"es:

    ESPECFCAJO: de&ne a !unciona"idade do so!t+ae ,equisitos !uncionais/ e as esti%6es,equisitos n*o!uncionais/ so2e sua o#ea%*o e #emissas ,"Iica/ #aa a sua eGecu%*o'

    • EQEARA DE SSTE;A: esta2e"ecimento de uma so"u%*o ea" #aa o #o2"ema-envo"vendo quest6es eGta so!t+ae.

    • A@SE DE REB7STOS: "evantamento das necessidades do so!t+ae a seim#"ementado. A An)"ise tem como o2jetivo #odu$i uma es#eci&ca%*o de equisitos-que convenciona"mente 5 um documento.

    • ESPECFCAJO DE SSTE;A: desci%*o !unciona" do sistema. Pode inc"ui um #"ano detestes #aa vei&ca adequa%*o.

  • 8/15/2019 PROCESSO DE SOFTWARE.docx

    4/12

    8PROETO: o so!t+ae que atenda a es#eci&ca%*o deve se #odu$ido'

    • PROETO ARB7TET7RA@: onde 5 desenvo"vido um mode"o conceitua" #aa o sistema-com#osto de mIdu"os mais ou menos inde#endentes.

    • PROETO DE TERFACE: onde cada mIdu"o tem sua inte!ace de comunica%*oestudada e de&nida.

    • PROETO DETA@ADO: onde os mIdu"os em si s*o de&nidos- e #ossive"mente

    tadu$idos #aa #seudocIdio.;P@E;ETAJO: o so!t+ae que atenda a es#eci&ca%*o deve se #odu$ido'

    • CODFCAJO: a im#"ementa%*o em si do sistema em uma "inuaem de com#utado.

    HA@DAJO DE SOFTWARE: o so!t+ae deve se va"idado #aa aanti que e"a !a%a o que oc"iente deseja'

    •  TESTE DE 7DADE E ;D7@O: a ea"i$a%*o de testes #aa vei&ca a #esen%a deeos e com#otamento adequado a n>ve" das !un%6es e mIdu"os 2)sicos do sistema.

    • TEQRAJO: a euni*o dos di!eentes mIdu"os em um #oduto de so!t+ae

    omoêneo- e a vei&ca%*o da intea%*o ente estes quando o#eando em conjunto.;A7TEJO E EHO@7JO: o so!t+ae deve evo"ui #aa atende aos novos equisitos quenatua"mente sui*o.

    • esta !ase- o so!t+ae em ea" enta em um cic"o iteativo que a2ane todas as !asesanteioes.

    Desta !oma as atividades e"acionadas a um #ocesso de so!t+ae est*o dietamentevincu"adas com a #odu%*o do so!t+ae como #oduto &na". A&m de es#eci&ca quaisatividades devem se eGecutadas e em qua" odem temos divesos mode"os dedesenvo"vimento de so!t+ae.

    PASSOS ATHDADES DO PROCESSO

    Buais s*oM

    1. P"anejamento An)"ise econUmico'(. An)"ise e es#eci&ca%*o de equisitos An)"ise de equisitos de so!t+ae'0. Es#eci&ca%*o'8. Pojeto'4. m#"ementa%*o ,ou Codi&ca%*o/'9. Testes'

  • 8/15/2019 PROCESSO DE SOFTWARE.docx

    5/12

    4O #"anejamento 5 o acom#anamento do #oesso !a$em #ate do #ocesso de QERCADE PROETO.

    Este #ocesso acom#ana todas as demais eta#as de desenvo"vimento do so!t+ae- sendosem#e acom#anada de #eto.

    Hisa a esta2e"ece se o #ojeto de so!t+ae ea) "uco- e se a eceita eada se) osu&ciente #aa co2i os custos.

    A@SE E ESPEFCCAJO DE REB7STOS A@SE DE REB7STOS DE SOFTWARE:

    esta atividade- o #ocesso de "evantamento de equisitos 5 intensi&cado. O esco#o deve see&nado e os equisitos me"o de&nidos.

    7ma ve$ ca#tuados os equisitos do sistema a se desenvo"vido- estes devem se mode"ados-ava"iados e documentados. 7ma #ate vita" dessa atividade 5 a constu%*o de um mode"odescevendo o que o so!t+ae tem que !a$e ,e n*o como !a$ê"o/.

    Conceitua"mente- a an)"ise de equisitos inc"ui tês ti#os de atividades:

    • E@CTAJO DOS REB7STOS: 5 a tae!a de comunicase com os usu)ios e c"ientes#aa detemina quais s*o os equisitos de sistema.

    • AA@SE DE REB7STOS: detemina se o estado do equisito 5 o2scuo- incom#"eto-am2>uo- ou contaditIio e eso"ve estes #o2"emas.

    • REQSTROS DOS REB7STOS: os equisitos #odem se documentados de v)ias !omas-tais como documentos de "inuaem natua"- casos de uso- ou #ocesso dees#eci&ca%*o.

    ESPECFCAJO:

    É a tae!a de desceve #ecisamente o so!t+ae que se) escito- #e!eencia"mente de uma!oma matematicamente ioosa. a #)tica- somente es#eci&ca%6es mais 2em sucedidas!oam escitas #aa a#"ica%6es 2em com#eendidas e a&nadas que j) estavam 2emdesenvo"vidas- em2oa sistemas de so!t+ae de miss*o c>tica sejam !equentemente 2emes#eci&cadas antes do desenvo"vimento da a#"ica%*o. Es#eci&ca%6es s*o mais im#otantes#aa inte!aces eGtenas que devem #emanece est)veis.

    Uma especificação de programa é a definição do que se espera que um programa de computador faça. Elapode ser informal, neste caso ela pode ser considerada como um blueprint ou manual de usuário do ponto devista do desenvolvedor, ou formal, no caso de ela ser definida principalmente em termos matemáticos ouprogramáticos.

    PROETO: A arquitetura de um sistema de software remete a uma representação abstrata daquele sistema. Arquitetura éconcernente à garantia de que o sistema de software irá ao encontro de requisitos do produto, como tambémassegurar que futuros requisitos possam ser atendidos. A etapa da arquitetura também direcionaas inte!aces entre os sistemas de so!t+ae e outros produtos de software, como também como ad+ae básico ou com o sistema o#eaciona".

    Esta atividade é responsável por incorporar requisitos tecnolgicos aos requisitos essenciais do sistema,modelados na atividade anterior e, portanto, requerer que a plataforma de implementação se!a con"ecida. Estaatividade envolve basicamente duas grandes etapas#

    $ro!eto da arquitetura do sistema e pro!eto detal"ado#

    • % ob!etivo da etapa de pro!eto da arquitetura do sistema é definir a arquitetura geral do software, tendopor base o modelo constru&do na fase de análise de requisitos. Essa arquitetura deve descrever aestrutura de n&vel mais alto da aplicação e identificar seus princ&pios componentes. Arquitetura desoftware# a arquitetura de um sistema de software remete a uma representação abstrata daquele

    https://pt.wikipedia.org/wiki/Interfacehttps://pt.wikipedia.org/wiki/Sistema_de_softwarehttps://pt.wikipedia.org/wiki/Hardwarehttps://pt.wikipedia.org/wiki/Sistema_operacionalhttps://pt.wikipedia.org/wiki/Sistema_de_softwarehttps://pt.wikipedia.org/wiki/Hardwarehttps://pt.wikipedia.org/wiki/Sistema_operacionalhttps://pt.wikipedia.org/wiki/Interface

  • 8/15/2019 PROCESSO DE SOFTWARE.docx

    6/12

    9sistema. Arquitetura é concernente à garantia de que o sistema de software irá ao encontro derequisitos do produto, como também assegurar que futuros requisitos possam ser atendidos.

    • 'á o ob!etivo da etapa de pro!eto detal"ado é detal"ar o pro!eto do software para cada componenteidentificado na etapa anterior. %s componentes de software devem ser sucessivamente refinados emn&veis maiores de detal"amento, até que possam ser codificados e testados. A etapa da arquiteturatambém direciona as tarefas entre os sistemas de software e outros produtos de software, comotambém com o "ardware básico ou com o sistema operacional.

    ;P@E;ETAJO ,O7 CODFCAJO/:

    esta atividade o #ojeto deve se tadu$ido #aa uma !oma #ass>ve" de eGecu%*o #e"am)quina. A atividade de im#"ementa%*o ea"i$a essa tae!a- isto 5- cada unidade de so!t+aedo #ojeto deta"ado 5 im#"ementada.

     A transformação de um pro!eto para um cdigo deve ser a parte mais evidente do trabal"o da engen"aria desoftware, mas não necessariamente a sua maior porção.

    (E)(E)#

    (este de partes do so!t+ae, especialmente onde ten"a sido codificado por dois ou mais engen"eirostrabal"ando !untos, é um papel da engen"aria de software. *iversas atividades de testes são e+ecutadas a fimde se validar o produto de software, testando cada funcionalidade de cada mdulo, buscando, levando emconsideração a especificação feita na fase de pro!eto. %nde o principal resultado é o relatrio de testes, quecontém as informaçes relevantes sobre erros encontrados no sistema, e seu comportamento em váriosaspectos.

    Essa atividade inclui diversos n&veis de testes, a saber, teste de unidade, teste de integração, teste de sistema,teste de aceitação e teste de operação. -nicialmente, cada unidade de software implementada deve ser testadae os resultados documentados. A seguir, os diversos componentes devem ser integrados sucessivamente até

    se obter o sistema. inalmente, o sistema como um todo deve ser testado.

    *%/U0E1(A23%#

    Uma importante tarefa é a documentação do pro!eto interno do software para propsitos de futurasmanutençes e aprimoramentos. As documentaçes mais importantes são das interfaces e+ternas.

    )U$%4(E E (4E-1A0E1(% *E )%(5A4E 6 -1(4E7A E -0$8A1(A23%#

    Uma grande porcentagem dos pro!etos de software fal"am pelo fato de o desenvolvedor não perceber que nãoimporta quanto tempo a equipe de plane!amento e desenvolvimento irá gastar na criação do software seninguém da organi9ação irá usá:lo. As pessoas ocasionalmente resistem à mudança e evitam aventurar:se emáreas pouco familiares. Então, como parte da fase de desenvolvimento, é muito importante o treinamento paraos usuários de software mais entusiasmados, alternando o treinamento entre usuários neutros e usuáriosfavoráveis ao software. Usuários irão ter muitas questes e problemas de software os quais condu9irão para apr+ima fase.

    Uma ve9 testado, o software deve ser colocado em produção. $ara que isso aconteça, contudo, é necessáriotreinar os usuários, configurar o ambiente de produção e, muitas ve9es, converter bases de dados. % propsitodesta atividade é estabelecer que o software satisfaça os requisitos dos usuários. -sso é feito instalando osoftware no ambiente do usuário e condu9indo testes de aceitação. ;uando o software tiver demonstrado

    prover as capacidades requeridas, ele pode ser aceito e a operação

  • 8/15/2019 PROCESSO DE SOFTWARE.docx

    7/12

    <1esta atividade o software é utili9ado pelos usuários no ambiente de produção.

    0A1U(E123%#

    )em d>vida, o software sofrera mudanças aps ter sido entregue para o usuário. Alteraçes ocorrerão pordiversos motivos# porque erros forma encontrados, porque o software precisa ser adaptado para acomodar

    mudanças em seu ambiente e+terno ou porque o cliente necessita de funcionalidade adicional ou aumento dedesempen"o.

     A manutenção e mel"oria de software lidam com a descoberta de novos problemas e requisitos. Ela pode tomar mais tempo que os gastos no desenvolvimento inicial do mesmo. 1ão somente pode ser necessário adicionarcdigos que combinem com o pro!eto original, mas determinar como o software trabal"ará em algum pontodepois da manutenção estar completa, pode requerer um significativo esforço por parte de um engen"eiro desoftware. /erca de ?6@ de todos os engen"eiros de software trabal"am com a manutenção, mas estasestat&sticas podem estar enganadas. Uma pequena parte destes trabal"a na correção de erros. A maioria dasmanutençes é para ampliar os sistemas para novas funcionalidades, as quais, de diversas formas, podem serconsideradas um novo trabal"o. Analogamente, cerca de ?6@ de todos os engen"eiros civis, arquitetos econstrutores trabal"am com manutenção de uma forma similar.

    $4%/E))% *E 0E(A:0%*E8%)

    % processo de desenvolvimento de software tem sido ob!eto de vários padres, que visam a certificação deempresas como possuidoras de um processo de desenvolvimento, o que garantiria certo grau de confiança aosseus contratantes.

     Alguns padres e+istentes atualmente#

    -))% 6 -E/ ??BCD

    /00- 0odelo de 0aturidade em /apacitação -ntegração

  • 8/15/2019 PROCESSO DE SOFTWARE.docx

    8/12

    =$rocessos de software visam assegurar o desenvolvimento de software#

    • /om pra9os e necessidades de recursos definidosD• /om elevada produtividade

  • 8/15/2019 PROCESSO DE SOFTWARE.docx

    9/12

    ?

    -1)U0%#

    Elemento necessário para a reali9ação de uma tarefa ou atividadeD $ode ser um elemento de sa&da de outras atividades ou tarefas.

    -1/4E0E1(%), IU-8*) E 4E8EA)E)

    Um incremento é um componente de software compilado, utili9ado na composição de builds.

    Um build é um artefato parciais de software composto por incrementos.

    Uma release é um build entregue ao cliente com e+ecutáveis

  • 8/15/2019 PROCESSO DE SOFTWARE.docx

    10/12

    13

    (A4EA

  • 8/15/2019 PROCESSO DE SOFTWARE.docx

    11/12

    11

    E44A0E1(A) E E;U-$A0E1(%)#

     Au+iliam a e+ecução das atividades e tarefas dos processosD $odem automati9ar partes da e+ecução das atividades e tarefasD  Agili9am a e+ecução dos processos.

    *-A74A0A *E 7A1((

    *etermina a lin"a de tempo na qual as atividades serão e+ecutadas.

    *eve refletir os marcos e as dependQncias.

  • 8/15/2019 PROCESSO DE SOFTWARE.docx

    12/12

    1($A$E8