{"id":230116,"date":"2022-11-18T20:36:00","date_gmt":"2022-11-18T17:36:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230116"},"modified":"2022-11-09T20:10:09","modified_gmt":"2022-11-09T17:10:09","slug":"olio-ohjelmointi-wordpressissae-tyoeselostus","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fi\/olio-ohjelmointi-wordpressissae-tyoeselostus\/","title":{"rendered":"Olio-ohjelmointi WordPressiss\u00e4: Ty\u00f6selostus"},"content":{"rendered":"\n<p>Ennen kuin siirrymme olio-analyysin ja suunnittelun aiheeseen (jolloin useimmat meist\u00e4 saavat eniten hauskaa tekemist\u00e4mme koodin kirjoittamisen lis\u00e4ksi), on t\u00e4rke\u00e4\u00e4 seurata viel\u00e4 muutamia asioita asiakkaiden vaatimusten ymm\u00e4rt\u00e4miseksi. .<\/p>\n<p>Edellisess\u00e4 viestiss\u00e4 mainitsin:<\/p>\n<blockquote>\n<p>Jos otat aikaa ymm\u00e4rt\u00e4\u00e4ksesi, mit\u00e4 he haluavat alusta alkaen, vaatimusten ei tarvitse olla 50-sivuinen asiakirja, jossa esitet\u00e4\u00e4n, kuinka jokaisen yksitt\u00e4isen moduulin on toimittava.<\/p>\n<\/blockquote>\n<p>Esimerkiksi aina kun kokoan vaatimuksia (tai ty\u00f6selvityst\u00e4), kuten yleens\u00e4 kutsun niit\u00e4 l\u00e4hett\u00e4ess\u00e4ni niit\u00e4 asiakkaille, ylit\u00e4n harvoin kymmenen sivua, ja usein se on v\u00e4hemm\u00e4n.<\/p>\n<p>Ja vaikka joskus se on pidempikin, mielest\u00e4ni osa syyn\u00e4 siihen, ett\u00e4 lyhyen vaatimussarjan kehitt\u00e4minen tulee alustavien keskustelujen yhteydess\u00e4 varmistaaksemme, ett\u00e4 sin\u00e4 ja asiakkaasi (asiakkaat) ovat kehitt\u00e4neet yhteisen kielen, jolla voit ty\u00f6skennell\u00e4.<\/p>\n<p>Kun teet niin, vaatimusten ja ty\u00f6selvityksen \u2013 kutsutpa niit\u00e4 miksi tahansa \u2013 ei tarvitse olla niin pitki\u00e4.<\/p>\n<h2>Ty\u00f6selosteen kirjoittaminen<\/h2>\n<p>Ensinn\u00e4kin haluaisin tehd\u00e4 eron <strong>ty\u00f6selvityksen<\/strong> ja <strong>vaatimusten<\/strong> v\u00e4lill\u00e4 t\u00e4m\u00e4n viestin yhteydess\u00e4.<\/p>\n<ul>\n<li><strong>Vaatimukset<\/strong> ovat mit\u00e4 asiakas haluaa rakentaa.<\/li>\n<li>Ty\u00f6selostuksessa <strong>kerrotaan<\/strong> yksityiskohtaisesti, mit\u00e4 aiot tehd\u00e4, miten aiot tehd\u00e4 ja kuinka paljon.<\/li>\n<\/ul>\n<p>K\u00e4sittelen j\u00e4lkimm\u00e4ist\u00e4 tarkemmin t\u00e4ss\u00e4 postauksessa. Mutta riitt\u00e4\u00e4, kun todetaan, ett\u00e4 asiakkaan kannalta vaatimukset voivat tulla keskustelujen, dokumentaation tai molempien muodossa.<\/p>\n<p>Ennen kuin siirryn ty\u00f6selvitykseen sis\u00e4llytt\u00e4m\u00e4ni eri osiin, on muutamia asioita, jotka mielest\u00e4ni ovat mainitsemisen arvoisia:<\/p>\n<ol>\n<li>\u00c4l\u00e4 kirjoita ty\u00f6selvityst\u00e4 ennen kuin olet t\u00e4ytt\u00e4nyt kaikki asiakkaan vaatimukset.<\/li>\n<li>Varmista, ett\u00e4 asiakas tiet\u00e4\u00e4, mit\u00e4 ty\u00f6selosteelta odottaa.<\/li>\n<li>Jos aiot k\u00e4ytt\u00e4\u00e4 aikaa ty\u00f6selvityksen kirjoittamiseen, p\u00e4\u00e4t\u00e4, veloitatko ajasta vai et ja varmista, ett\u00e4 asiakas tiet\u00e4\u00e4, ett\u00e4 h\u00e4nen on maksettava siit\u00e4 vai ei.<\/li>\n<\/ol>\n<p>T\u00e4m\u00e4 on yksi niist\u00e4 asioista, jotka ovat freelance-freelancer- tai virastokohtaisia. T\u00e4ss\u00e4 on ty\u00f6selostuksen osat, jotka yleens\u00e4 sis\u00e4llyt\u00e4n.<\/p>\n<h3>Ty\u00f6selosteen laatiminen<\/h3>\n<p>Aina kun laadin ty\u00f6selostusta, minulla on malli, jota k\u00e4yt\u00e4n. Aion tarjota erittelyn, joka kattaa suuren osan t\u00e4st\u00e4.<\/p>\n<p>N\u00e4in kukin osio toimii:<\/p>\n<h4>1 Ty\u00f6selostus<\/h4>\n<p>T\u00e4m\u00e4n asiakirjan tarkoituksena on [m\u00e4\u00e4ritt\u00e4\u00e4 PROJEKTIIN ehdotettu ratkaisu].<\/p>\n<p>Projektin vaatimukset on tarjonnut [ASIAKASNIMI], [ASIAKKAAN NIMEN ROOLI YRITYKSEN NIMESS\u00c4]. Sopimuksen ehdot ovat yhdistelm\u00e4 niist\u00e4, joista [ASIAKAS NIMI] ja [TOIMISTON NIMI] ovat sopineet.<\/p>\n<h4>2 Vaatimusten yleiskuvaus<\/h4>\n<p>T\u00e4m\u00e4n asiakirjan tarkoituksena on [m\u00e4\u00e4ritt\u00e4\u00e4 PROJEKTIIN ehdotettu ratkaisu].<\/p>\n<p>Projektin vaatimukset on tarjonnut [ASIAKASNIMI], [ASIAKKAAN NIMEN ROOLI YRITYKSEN NIMESS\u00c4]. Sopimuksen ehdot ovat yhdistelm\u00e4 niist\u00e4, joista [ASIAKAS NIMI] ja [TOIMISTON NIMI] ovat sopineet.<\/p>\n<h4>3 Kielet ja tekniikka<\/h4>\n<p>Web-palvelin, ohjelmistot, ty\u00f6kalut ja l\u00e4hestymistapa, joita k\u00e4ytet\u00e4\u00e4n ratkaisun rakentamiseen.<\/p>\n<h4>4 tuettua selainta<\/h4>\n<p>Jos t\u00e4m\u00e4 on verkkopohjainen projekti, ota huomioon tuetut selaimet, onko niiss\u00e4 responsiivisia toimintoja vai ei, ja kuinka aiemmat kohdat testataan.<\/p>\n<h4>5 Kielet ja tekniikka<\/h4>\n<p>Web-palvelin, ohjelmistot, ty\u00f6kalut ja l\u00e4hestymistapa, joita k\u00e4ytet\u00e4\u00e4n ratkaisun rakentamiseen.<\/p>\n<h4>6 Projektin vaatimukset ja virstanpylv\u00e4\u00e4t<\/h4>\n<p>Tyypillisesti asiakirjan pisin osa. Se tiivist\u00e4\u00e4:<\/p>\n<ul>\n<li>Vaatimukset,<\/li>\n<li>Miten kukin vaatimus rakennetaan ja toimitetaan,<\/li>\n<li>Kaikki lis\u00e4huomautukset, jotka asiakkaan tulee olla tietoisia.<\/li>\n<\/ul>\n<h4>7 Ehdotettu aikajana<\/h4>\n<p>T\u00e4m\u00e4 perustuu edellisess\u00e4 osiossa hahmoteltuihin virstanpylv\u00e4isiin ja asiakkaan palautteeseen.<\/p>\n<h4>8 Muut tekij\u00e4t<\/h4>\n<p>Sekalaisia \u200b\u200basioita, jotka haluat sis\u00e4llytt\u00e4\u00e4 mukaan, kuten mit\u00e4 sin\u00e4 tai toimistosi p\u00e4\u00e4t\u00e4t tuoda projektiin, kuinka viiv\u00e4stynyt palaute voi vaikuttaa projektiin ja niin edelleen.<\/p>\n<h4>9 Arvioidut kustannukset<\/h4>\n<p>T\u00e4m\u00e4 sis\u00e4lt\u00e4\u00e4 hankkeen kokonaiskustannukset ja valinnaisen erittelyn maksuaikataulusta.<\/p>\n<h3>Se on v\u00e4ltt\u00e4m\u00e4t\u00f6nt\u00e4<\/h3>\n<p>Tied\u00e4n: Olen sanonut t\u00e4m\u00e4n aiemmin t\u00e4m\u00e4n sarjan aiemmissa viesteiss\u00e4. T\u00e4m\u00e4 ei ole toimintamme loistavin osa. Sen sijaan hypp\u00e4\u00e4mme suoraan ohjelmointiin.<\/p>\n<p>Mutta mist\u00e4 tied\u00e4t mit\u00e4 rakentaa (ja rakentaa se hyvin), jos emme ole kunnolla k\u00e4sitelleet ongelmaa, jota yrit\u00e4mme ratkaista?<\/p>\n<p>Ja sen kaikki, mik\u00e4 johtaa olioanalyysiin ja suunnitteluun, antaa meille.<\/p>\n<h2>Olio-analyysi<\/h2>\n<p>Nyt kun olemme saaneet paperity\u00f6t (tai jopa &quot;bisnesjutut&quot;, kuten jotkut saattavat viitata) pois tielt\u00e4, on aika aloittaa ohjelmointi.<\/p>\n<p>Ennen kuin teet sen, on kuitenkin t\u00e4rke\u00e4\u00e4 analysoida vaatimukset ja m\u00e4\u00e4ritt\u00e4\u00e4, mitk\u00e4 projektin osat palvelevat mit\u00e4kin tarkoitusta. Esimerkiksi:<\/p>\n<ul>\n<li>Tarvitsemmeko olemassa olevia ohjelmistoja?<\/li>\n<li>Pit\u00e4\u00e4k\u00f6 meid\u00e4n kirjoittaa sovittimia tai tietokerroskoodia?<\/li>\n<li>Miten rakennamme sovelluskerroksen ja sen sis\u00e4lt\u00e4m\u00e4t kokonaisuudet?<\/li>\n<li>Ent\u00e4 etup\u00e4\u00e4<\/li>\n<\/ul>\n<p>Ja monille t\u00e4st\u00e4 hauskuus alkaa. Joten olen innokas aloittamaan keskustelun my\u00f6s t\u00e4st\u00e4. Aloitamme seuraavassa postauksessa.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ty\u00f6selostuksessa kerrotaan yksityiskohtaisesti, mit\u00e4 aiot tehd\u00e4, miten aiot tehd\u00e4 sen ja kuinka paljon.<\/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":[719,895,843],"tags":[1166],"class_list":["post-230116","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kehittaejae","category-koodi","category-opetusohjelmia","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/230116","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/comments?post=230116"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/230116\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media\/165194"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media?parent=230116"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/categories?post=230116"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/tags?post=230116"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}