{"id":230106,"date":"2022-11-18T19:53:00","date_gmt":"2022-11-18T16:53:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230106"},"modified":"2022-11-09T20:07:03","modified_gmt":"2022-11-09T17:07:03","slug":"programacao-orientada-a-objetos-no-wordpress-declaracao-de-trabalho","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pt-pt\/programacao-orientada-a-objetos-no-wordpress-declaracao-de-trabalho\/","title":{"rendered":"Programa\u00e7\u00e3o Orientada a Objetos no WordPress: Declara\u00e7\u00e3o de Trabalho"},"content":{"rendered":"\n<p>Antes de entrarmos no t\u00f3pico de an\u00e1lise e design orientado a objetos (que \u00e9 quando a maioria de n\u00f3s se diverte mais com o que fazemos al\u00e9m de realmente escrever c\u00f3digo), \u00e9 importante acompanhar mais algumas coisas sobre entender os requisitos do cliente .<\/p>\n<p>No post anterior, mencionei:<\/p>\n<blockquote>\n<p>Se voc\u00ea dedicar algum tempo para entender o que eles querem desde o in\u00edcio, os requisitos n\u00e3o precisam ser um documento de 50 p\u00e1ginas descrevendo como cada m\u00f3dulo deve funcionar.<\/p>\n<\/blockquote>\n<p>Por exemplo, sempre que re\u00fano requisitos (ou uma Declara\u00e7\u00e3o de Trabalho), como costumo cham\u00e1-los quando os envio aos clientes, raramente excedo dez p\u00e1ginas, e geralmente \u00e9 menos.<\/p>\n<p>E embora haja momentos em que \u00e9 mais longo, acho que parte do motivo pelo qual o desenvolvimento de um pequeno conjunto de requisitos vem com as discuss\u00f5es preliminares para garantir que voc\u00ea e o(s) cliente(s) tenham desenvolvido uma linguagem comum com a qual voc\u00ea possa trabalhar.<\/p>\n<p>Quando voc\u00ea faz isso, os requisitos e a declara\u00e7\u00e3o de trabalho \u2013 como voc\u00ea optar por cham\u00e1-los \u2013 n\u00e3o precisam ser t\u00e3o longos.<\/p>\n<h2>Escrevendo uma declara\u00e7\u00e3o de trabalho<\/h2>\n<p>Primeiro, gostaria de diferenciar entre uma <strong>Declara\u00e7\u00e3o de Trabalho<\/strong> e <strong>Requisitos<\/strong> no contexto deste post.<\/p>\n<ul>\n<li><strong>Requisitos<\/strong> s\u00e3o o que o cliente quer que seja constru\u00eddo.<\/li>\n<li>A <strong>Declara\u00e7\u00e3o de Trabalho<\/strong> detalha o que voc\u00ea vai fazer, como vai fazer e por quanto.<\/li>\n<\/ul>\n<p>Vou cobrir o \u00faltimo com mais detalhes neste post. Mas basta dizer que os requisitos podem vir na forma de discuss\u00f5es, documenta\u00e7\u00e3o ou ambos, no que diz respeito ao cliente.<\/p>\n<p>Antes de pular para as diferentes partes do que incluo em uma declara\u00e7\u00e3o de trabalho, h\u00e1 algumas coisas que acho que vale a pena mencionar:<\/p>\n<ol>\n<li>N\u00e3o escreva uma Declara\u00e7\u00e3o de Trabalho at\u00e9 que voc\u00ea tenha todos os requisitos do cliente.<\/li>\n<li>Certifique-se de que o cliente saiba o que esperar de uma Declara\u00e7\u00e3o de Trabalho.<\/li>\n<li>Se voc\u00ea tiver tempo para escrever uma Declara\u00e7\u00e3o de Trabalho, decida se cobrar\u00e1 pelo tempo ou n\u00e3o e certifique-se de que o cliente esteja ciente de que precisar\u00e1 pagar por isso ou n\u00e3o<\/li>\n<\/ol>\n<p>Essa \u00e9 uma daquelas coisas que s\u00e3o feitas de freelancer por freelancer ou ag\u00eancia por ag\u00eancia. Com isso dito, aqui est\u00e3o as partes de uma Declara\u00e7\u00e3o de Trabalho que costumo incluir.<\/p>\n<h3>Preparando uma Declara\u00e7\u00e3o de Trabalho<\/h3>\n<p>Sempre que preparo uma declara\u00e7\u00e3o de trabalho, tenho um modelo que uso. Eu vou fornecer um detalhamento que cobre muito disso aqui.<\/p>\n<p>Veja como cada se\u00e7\u00e3o funciona:<\/p>\n<h4>1 Declara\u00e7\u00e3o de Trabalho<\/h4>\n<p>O objetivo deste documento \u00e9 [definir uma solu\u00e7\u00e3o proposta para O PROJETO].<\/p>\n<p>Os requisitos do projeto foram fornecidos por [NOME DO CLIENTE], [PAPEL DO NOME DO CLIENTE NO NOME DA SUA EMPRESA]. Os termos do contrato s\u00e3o uma combina\u00e7\u00e3o daqueles acordados por [NOME DO CLIENTE] e [SEU NOME DA AG\u00caNCIA].<\/p>\n<h4>2 Vis\u00e3o geral dos requisitos<\/h4>\n<p>O objetivo deste documento \u00e9 [definir uma solu\u00e7\u00e3o proposta para O PROJETO].<\/p>\n<p>Os requisitos do projeto foram fornecidos por [NOME DO CLIENTE], [PAPEL DO NOME DO CLIENTE NO NOME DA SUA EMPRESA]. Os termos do contrato s\u00e3o uma combina\u00e7\u00e3o daqueles acordados por [NOME DO CLIENTE] e [SEU NOME DA AG\u00caNCIA].<\/p>\n<h4>3 Idiomas e Tecnologia<\/h4>\n<p>O servidor web, software, ferramentas e abordagem que ser\u00e3o usados \u200b\u200bpara construir a solu\u00e7\u00e3o.<\/p>\n<h4>4 navegadores suportados<\/h4>\n<p>Se este for um projeto baseado na web, cubra os navegadores suportados, se haver\u00e1 ou n\u00e3o funcionalidade responsiva e como os pontos anteriores ser\u00e3o testados.<\/p>\n<h4>5 Idiomas e Tecnologia<\/h4>\n<p>O servidor web, software, ferramentas e abordagem que ser\u00e3o usados \u200b\u200bpara construir a solu\u00e7\u00e3o.<\/p>\n<h4>6 Requisitos e Marcos do Projeto<\/h4>\n<p>Normalmente, a se\u00e7\u00e3o mais longa do documento. Ele resume:<\/p>\n<ul>\n<li>Os requisitos,<\/li>\n<li>Como cada requisito ser\u00e1 constru\u00eddo e entregue,<\/li>\n<li>Quaisquer notas adicionais das quais o cliente deva estar ciente.<\/li>\n<\/ul>\n<h4>7 Cronograma proposto<\/h4>\n<p>Isso se baseia nos marcos descritos na se\u00e7\u00e3o anterior e no feedback do cliente.<\/p>\n<h4>8 Outros Fatores<\/h4>\n<p>Coisas diversas que voc\u00ea opta por incluir, como o que voc\u00ea ou sua ag\u00eancia optam por trazer para o projeto, como o atraso no feedback pode afetar o projeto e assim por diante.<\/p>\n<h4>9 Custo Estimado<\/h4>\n<p>Isso inclui o custo total do projeto e um detalhamento opcional do cronograma de pagamento.<\/p>\n<h3>\u00c9 necess\u00e1rio<\/h3>\n<p>Eu sei: eu j\u00e1 disse isso antes em posts anteriores desta s\u00e9rie. Esta n\u00e3o \u00e9 a parte mais glamorosa do que fazemos. Em vez disso, ir\u00edamos direto para a programa\u00e7\u00e3o.<\/p>\n<p>Mas como voc\u00ea sabe o que construir (e construir bem) se n\u00e3o lidamos adequadamente com o problema que estamos tentando resolver?<\/p>\n<p>E \u00e9 isso que tudo que leva \u00e0 an\u00e1lise e design orientados a objetos nos d\u00e1.<\/p>\n<h2>An\u00e1lise Orientada a Objetos<\/h2>\n<p>Agora que tiramos a papelada (ou at\u00e9 mesmo as &#8220;coisas de neg\u00f3cios&quot;, como alguns podem se referir) fora do caminho, \u00e9 hora de come\u00e7ar a trabalhar na programa\u00e7\u00e3o.<\/p>\n<p>Antes de fazer isso, por\u00e9m, \u00e9 importante analisar os requisitos e determinar quais partes do projeto servir\u00e3o para qual prop\u00f3sito. Por exemplo:<\/p>\n<ul>\n<li>Precisamos de algum software pr\u00e9-existente?<\/li>\n<li>Precisamos escrever algum adaptador ou c\u00f3digo de camada de dados?<\/li>\n<li>Como construiremos a camada de aplica\u00e7\u00e3o e as entidades dentro dela?<\/li>\n<li>E o front-end<\/li>\n<\/ul>\n<p>E para muitos, \u00e9 aqui que a divers\u00e3o come\u00e7a. Ent\u00e3o, estou ansioso para come\u00e7ar a falar sobre isso tamb\u00e9m. Come\u00e7aremos no pr\u00f3ximo post.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte de grava\u00e7\u00e3o:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A Declara\u00e7\u00e3o de Trabalho detalha o que voc\u00ea far\u00e1, como far\u00e1 e por quanto.<\/p>\n","protected":false},"author":1,"featured_media":165194,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[898,722,846],"tags":[1170],"class_list":["post-230106","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo-2","category-desenvolvedor","category-tutoriais","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/230106","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/comments?post=230106"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/230106\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media\/165194"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=230106"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/categories?post=230106"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/tags?post=230106"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}