{"id":2074,"date":"2017-11-13T14:33:48","date_gmt":"2017-11-13T13:33:48","guid":{"rendered":"https:\/\/launix.de\/launix\/?p=2074"},"modified":"2017-11-08T15:05:46","modified_gmt":"2017-11-08T14:05:46","slug":"fop-macht-verkaeufer-unabhaengiger-von-programmierern","status":"publish","type":"post","link":"https:\/\/launix.de\/launix\/fop-macht-verkaeufer-unabhaengiger-von-programmierern\/","title":{"rendered":"FOP macht Verk\u00e4ufer unabh\u00e4ngiger von Programmierern"},"content":{"rendered":"<p>\u00dcbliche IT-Projekte laufen so ab: Der Verk\u00e4ufer redet mit dem Kunden \u00fcber seine Anforderungen, der Verk\u00e4ufer \u00fcbersetzt die Anforderungen in technische Anforderungen und gibt sie dem Programmierer. Anschlie\u00dfend warten alle auf den Programmierer.<br \/>\n<!--more--><\/p>\n<p>Dieses System hat einen Nachteil: Alle warten auf den Programmierer. Dieser legt erst los, wenn er alle Anforderungen kennt, denn sonst riskiert er, Dinge zu entwickeln, die nachher niemand ben\u00f6tigt und f\u00fcr die er nicht bezahlt wird.<\/p>\n<p>Kernproblem ist, dass sich programmierter Code schlecht aus Projekten herausl\u00f6sen l\u00e4sst und in anderen Projekten wiederverwerten l\u00e4sst. Doch ist das wirklich so? Immerhin sollte es doch m\u00f6glich sein, mit einem guten Programmierstil wiederverwertbaren Code herzustellen.<\/p>\n<p>Fakt ist aber, dass s\u00e4mtlicher wiederverwertbarer Code bereits irgendwo in kostenlosen Programmier-Bibliotheken zusammengefasst sind. Was moderne Entwickler nur noch tun ist, entsprechende Bibliotheken zu verwenden und Anwendungen daraus zusammenzusetzen.<\/p>\n<p>FOP geht da einen Schritt weiter: Anstatt wie normale Programmiersprachen Programmbibliotheken einzubinden und zu verwenden, setzt FOP eine Abstraktionsstufe h\u00f6her an: Bei den Kundenanforderungen.<\/p>\n<p>Jede Kundenanforderung hat zur Folge, dass gewisse Dinge in der Software programmiert werden m\u00fcssen: Bibliotheken eingebunden werden, Dinge verkn\u00fcpft, Felder angelegt&#8230; &#8211; und genau das kann FOP beschreiben.<\/p>\n<p>Kommt in Zukunft also eine Kunden-Anforderung auf den Verk\u00e4ufer zu, kann dieser diese Anforderung in FOP hinschreiben und schon entsteht daraus Programmcode. Die eigentliche Programmier-Arbeit hat der Programmierer n\u00e4mlich zeitlich entkoppelt bereits viel fr\u00fcher getan: N\u00e4mlich definiert, wie Kundenanforderung X allgemein umgesetzt werden m\u00fcsste.<\/p>\n<p>FOP ist eine Beschreibungssprache, mit der es m\u00f6glich ist, komplexe IT-Software-Systeme aus einer formalisierten Anforderungs-Beschreibung zu generieren.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00dcbliche IT-Projekte laufen so ab: Der Verk\u00e4ufer redet mit dem Kunden \u00fcber seine Anforderungen, der Verk\u00e4ufer \u00fcbersetzt die Anforderungen in technische Anforderungen und gibt sie dem Programmierer. Anschlie\u00dfend warten alle auf den Programmierer.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","_uag_custom_page_level_css":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-2074","post","type-post","status-publish","format-standard","hentry","category-allgemein","single-item"],"featured_image_urls_v2":{"full":"","thumbnail":"","medium":"","medium_large":"","large":"","1536x1536":"","2048x2048":"","trp-custom-language-flag":"","xs-thumb":"","appku-shop-single":""},"post_excerpt_stackable_v2":"<p>\u00dcbliche IT-Projekte laufen so ab: Der Verk\u00e4ufer redet mit dem Kunden \u00fcber seine Anforderungen, der Verk\u00e4ufer \u00fcbersetzt die Anforderungen in technische Anforderungen und gibt sie dem Programmierer. Anschlie\u00dfend warten alle auf den Programmierer. Dieses System hat einen Nachteil: Alle warten auf den Programmierer. Dieser legt erst los, wenn er alle Anforderungen kennt, denn sonst riskiert er, Dinge zu entwickeln, die nachher niemand ben\u00f6tigt und f\u00fcr die er nicht bezahlt wird. Kernproblem ist, dass sich programmierter Code schlecht aus Projekten herausl\u00f6sen l\u00e4sst und in anderen Projekten wiederverwerten l\u00e4sst. Doch ist das wirklich so? Immerhin sollte es doch m\u00f6glich sein, mit einem&hellip;<\/p>\n","category_list_v2":"<a href=\"https:\/\/launix.de\/launix\/category\/allgemein\/\" rel=\"category tag\">Allgemein<\/a>","author_info_v2":{"name":"Carl-Philip H\u00e4nsch","url":"https:\/\/launix.de\/launix\/author\/carli\/"},"comments_num_v2":"0 comments","uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false,"trp-custom-language-flag":false,"xs-thumb":false,"appku-shop-single":false},"uagb_author_info":{"display_name":"Carl-Philip H\u00e4nsch","author_link":"https:\/\/launix.de\/launix\/author\/carli\/"},"uagb_comment_info":0,"uagb_excerpt":"\u00dcbliche IT-Projekte laufen so ab: Der Verk\u00e4ufer redet mit dem Kunden \u00fcber seine Anforderungen, der Verk\u00e4ufer \u00fcbersetzt die Anforderungen in technische Anforderungen und gibt sie dem Programmierer. Anschlie\u00dfend warten alle auf den Programmierer.","_links":{"self":[{"href":"https:\/\/launix.de\/launix\/wp-json\/wp\/v2\/posts\/2074","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/launix.de\/launix\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/launix.de\/launix\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/launix.de\/launix\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/launix.de\/launix\/wp-json\/wp\/v2\/comments?post=2074"}],"version-history":[{"count":3,"href":"https:\/\/launix.de\/launix\/wp-json\/wp\/v2\/posts\/2074\/revisions"}],"predecessor-version":[{"id":2081,"href":"https:\/\/launix.de\/launix\/wp-json\/wp\/v2\/posts\/2074\/revisions\/2081"}],"wp:attachment":[{"href":"https:\/\/launix.de\/launix\/wp-json\/wp\/v2\/media?parent=2074"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/launix.de\/launix\/wp-json\/wp\/v2\/categories?post=2074"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/launix.de\/launix\/wp-json\/wp\/v2\/tags?post=2074"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}