mirror of
https://github.com/adulau/pmf.git
synced 2024-12-03 15:37:12 +00:00
chg: [pmf] mmark updated
This commit is contained in:
parent
a10d042319
commit
3eb49d3fb4
3 changed files with 108 additions and 68 deletions
153
raw.md.html
153
raw.md.html
|
@ -12,30 +12,28 @@
|
|||
describes a natural approach to software engineering with a strong focus on the act of programming. The PMF methodology uses a soft naming to allow for a non-partisan reference
|
||||
to official engineering or project documents describing one of the most used software engineering methodologies.
|
||||
" name="description">
|
||||
<meta content="xml2rfc 3.12.1" name="generator">
|
||||
<meta content="xml2rfc 3.21.0" name="generator">
|
||||
<meta content="software engineering" name="keyword">
|
||||
<meta content="engineering" name="keyword">
|
||||
<meta content="pmf" name="keyword">
|
||||
<meta content="programming" name="keyword">
|
||||
<meta content="draft-02" name="ietf.draft">
|
||||
<!-- Generator version information:
|
||||
xml2rfc 3.12.1
|
||||
Python 3.8.10
|
||||
appdirs 1.4.4
|
||||
ConfigArgParse 1.5.3
|
||||
google-i18n-address 2.5.0
|
||||
html5lib 1.1
|
||||
xml2rfc 3.21.0
|
||||
Python 3.10.12
|
||||
ConfigArgParse 1.7
|
||||
google-i18n-address 3.1.0
|
||||
intervaltree 3.1.0
|
||||
Jinja2 3.1.2
|
||||
kitchen 1.2.6
|
||||
lxml 4.9.1
|
||||
pycairo 1.16.2
|
||||
lxml 4.9.2
|
||||
platformdirs 4.2.1
|
||||
pycountry 22.3.5
|
||||
pyflakes 2.4.0
|
||||
PyYAML 6.0
|
||||
requests 2.28.1
|
||||
setuptools 65.4.0
|
||||
requests 2.31.0
|
||||
setuptools 67.7.2
|
||||
six 1.16.0
|
||||
wcwidth 0.2.13
|
||||
weasyprint 61.2
|
||||
-->
|
||||
<link href="raw.md.xml" rel="alternate" type="application/rfc+xml">
|
||||
<link href="#copyright" rel="license">
|
||||
|
@ -47,7 +45,7 @@ to official engineering or project documents describing one of the most used sof
|
|||
this can be consolidated so that style settings occur only in one place, but
|
||||
for now the contents of this file consists first of the initial CSS work as
|
||||
provided to the RFC Formatter (xml2rfc) work, followed by itemized and
|
||||
commented changes found necssary during the development of the v3
|
||||
commented changes found necessary during the development of the v3
|
||||
formatters.
|
||||
|
||||
*/
|
||||
|
@ -57,9 +55,14 @@ to official engineering or project documents describing one of the most used sof
|
|||
@import url('https://fonts.googleapis.com/css?family=Noto+Serif'); /* Serif (print) */
|
||||
@import url('https://fonts.googleapis.com/css?family=Roboto+Mono'); /* Monospace */
|
||||
|
||||
:root {
|
||||
--font-sans: 'Noto Sans', Arial, Helvetica, sans-serif;
|
||||
--font-serif: 'Noto Serif', 'Times', 'Times New Roman', serif;
|
||||
--font-mono: 'Roboto Mono', Courier, 'Courier New', monospace;
|
||||
}
|
||||
|
||||
@viewport {
|
||||
zoom: 1.0;
|
||||
width: extend-to-zoom;
|
||||
}
|
||||
@-ms-viewport {
|
||||
width: extend-to-zoom;
|
||||
|
@ -74,9 +77,10 @@ body {
|
|||
color: #222;
|
||||
background-color: #fff;
|
||||
font-size: 14px;
|
||||
font-family: 'Noto Sans', Arial, Helvetica, sans-serif;
|
||||
font-family: var(--font-sans);
|
||||
line-height: 1.6;
|
||||
scroll-behavior: smooth;
|
||||
overflow-wrap: break-word;
|
||||
}
|
||||
.ears {
|
||||
display: none;
|
||||
|
@ -163,6 +167,15 @@ div {
|
|||
svg {
|
||||
display: block;
|
||||
}
|
||||
svg[font-family~="serif" i], svg [font-family~="serif" i] {
|
||||
font-family: var(--font-serif);
|
||||
}
|
||||
svg[font-family~="sans-serif" i], svg [font-family~="sans-serif" i] {
|
||||
font-family: var(--font-sans);
|
||||
}
|
||||
svg[font-family~="monospace" i], svg [font-family~="monospace" i] {
|
||||
font-family: var(--font-mono);
|
||||
}
|
||||
.alignCenter.art-text {
|
||||
background-color: #f9f9f9;
|
||||
border: 1px solid #eee;
|
||||
|
@ -177,11 +190,8 @@ svg {
|
|||
margin: 1em 0;
|
||||
}
|
||||
.alignCenter > *:first-child {
|
||||
border: none;
|
||||
/* this isn't optimal, but it's an existence proof. PrinceXML doesn't
|
||||
support flexbox yet.
|
||||
*/
|
||||
display: table;
|
||||
border: none;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
|
@ -259,9 +269,9 @@ a.selfRef:hover {
|
|||
} */
|
||||
|
||||
/* Figures */
|
||||
tt, code, pre, code {
|
||||
tt, code, pre {
|
||||
background-color: #f9f9f9;
|
||||
font-family: 'Roboto Mono', monospace;
|
||||
font-family: var(--font-mono);
|
||||
}
|
||||
pre {
|
||||
border: 1px solid #eee;
|
||||
|
@ -301,11 +311,17 @@ blockquote {
|
|||
border-radius: 3px;
|
||||
margin: 1em 0;
|
||||
}
|
||||
blockquote > *:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
cite {
|
||||
display: block;
|
||||
text-align: right;
|
||||
font-style: italic;
|
||||
}
|
||||
.xref {
|
||||
overflow-wrap: normal;
|
||||
}
|
||||
|
||||
/* tables */
|
||||
table {
|
||||
|
@ -450,6 +466,10 @@ nav.toc li {
|
|||
margin-bottom: 1.25em;
|
||||
}
|
||||
|
||||
.refSubseries {
|
||||
margin-bottom: 1.25em;
|
||||
}
|
||||
|
||||
.references .ascii {
|
||||
margin-bottom: 0.25em;
|
||||
}
|
||||
|
@ -498,7 +518,7 @@ address.vcard .nameRole {
|
|||
margin-left: 0;
|
||||
}
|
||||
address.vcard .label {
|
||||
font-family: "Noto Sans",Arial,Helvetica,sans-serif;
|
||||
font-family: var(--font-sans);
|
||||
margin: 0.5em 0;
|
||||
}
|
||||
address.vcard .type {
|
||||
|
@ -638,7 +658,6 @@ hr.addr {
|
|||
/* pagination */
|
||||
@media print {
|
||||
body {
|
||||
|
||||
width: 100%;
|
||||
}
|
||||
p {
|
||||
|
@ -661,6 +680,9 @@ hr.addr {
|
|||
figure {
|
||||
overflow: scroll;
|
||||
}
|
||||
.breakable pre {
|
||||
break-inside: auto;
|
||||
}
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
page-break-after: avoid;
|
||||
}
|
||||
|
@ -728,7 +750,7 @@ hr.addr {
|
|||
size: A4;
|
||||
margin-bottom: 45mm;
|
||||
padding-top: 20px;
|
||||
/* The follwing is commented out here, but set appropriately by in code, as
|
||||
/* The following is commented out here, but set appropriately by in code, as
|
||||
the content depends on the document */
|
||||
/*
|
||||
@top-left {
|
||||
|
@ -828,12 +850,12 @@ section {
|
|||
}
|
||||
|
||||
/* prevent monospace from becoming overly large */
|
||||
tt, code, pre, code {
|
||||
tt, code, pre {
|
||||
font-size: 95%;
|
||||
}
|
||||
|
||||
/* Fix the height/width aspect for ascii art*/
|
||||
pre.sourcecode,
|
||||
.sourcecode pre,
|
||||
.art-text pre {
|
||||
line-height: 1.12;
|
||||
}
|
||||
|
@ -869,7 +891,7 @@ table th.text-right {
|
|||
text-align: right;
|
||||
}
|
||||
|
||||
/* Make the alternative author contact informatio look less like just another
|
||||
/* Make the alternative author contact information look less like just another
|
||||
author, and group it closer with the primary author contact information */
|
||||
.alternative-contact {
|
||||
margin: 0.5em 0 0.25em 0;
|
||||
|
@ -1051,6 +1073,7 @@ aside > p {
|
|||
/* Sourcecode margin in print, when there's no pilcrow */
|
||||
@media print {
|
||||
.artwork,
|
||||
.artwork > pre,
|
||||
.sourcecode {
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
@ -1065,13 +1088,16 @@ ol.type-A { list-style-type: upper-alpha; }
|
|||
ol.type-i { list-style-type: lower-roman; }
|
||||
ol.type-I { list-style-type: lower-roman; }
|
||||
/* Apply the print table and row borders in general, on request from the RPC,
|
||||
and increase the contrast between border and odd row background sligthtly */
|
||||
and increase the contrast between border and odd row background slightly */
|
||||
table {
|
||||
border: 1px solid #ddd;
|
||||
}
|
||||
td {
|
||||
border-top: 1px solid #ddd;
|
||||
}
|
||||
tr {
|
||||
break-inside: avoid;
|
||||
}
|
||||
tr:nth-child(2n+1) > td {
|
||||
background-color: #f8f8f8;
|
||||
}
|
||||
|
@ -1122,7 +1148,7 @@ span.break, dd.break {
|
|||
break-before: auto;
|
||||
}
|
||||
}
|
||||
/* Text in compact lists should not get extra bottim margin space,
|
||||
/* Text in compact lists should not get extra bottom margin space,
|
||||
since that would makes the list not compact */
|
||||
ul.compact p, .ulCompact p,
|
||||
ol.compact p, .olCompact p {
|
||||
|
@ -1147,7 +1173,7 @@ p tt, p code, li tt, li code {
|
|||
pre {
|
||||
margin-top: 0.5px;
|
||||
}
|
||||
/* Tweak the comact list text */
|
||||
/* Tweak the compact list text */
|
||||
ul.compact, .ulCompact,
|
||||
ol.compact, .olCompact,
|
||||
dl.compact, .dlCompact {
|
||||
|
@ -1165,7 +1191,7 @@ dd > div.artwork:first-child,
|
|||
dd > aside:first-child,
|
||||
dd > figure:first-child,
|
||||
dd > ol:first-child,
|
||||
dd > div:first-child > pre.sourcecode,
|
||||
dd > div.sourcecode:first-child,
|
||||
dd > table:first-child,
|
||||
dd > ul:first-child {
|
||||
clear: left;
|
||||
|
@ -1179,14 +1205,14 @@ li > p {
|
|||
margin-bottom: 0.5em
|
||||
}
|
||||
/* Don't let p margin spill out from inside list items */
|
||||
li > p:last-of-type {
|
||||
li > p:last-of-type:only-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
</style>
|
||||
<link href="rfc-local.css" rel="stylesheet" type="text/css">
|
||||
<script type="application/javascript">async function addMetadata(){try{const e=document.styleSheets[0].cssRules;for(let t=0;t<e.length;t++)if(/#identifiers/.exec(e[t].selectorText)){const a=e[t].cssText.replace("#identifiers","#external-updates");document.styleSheets[0].insertRule(a,document.styleSheets[0].cssRules.length)}}catch(e){console.log(e)}const e=document.getElementById("external-metadata");if(e)try{var t,a="",o=function(e){const t=document.getElementsByTagName("meta");for(let a=0;a<t.length;a++)if(t[a].getAttribute("name")===e)return t[a].getAttribute("content");return""}("rfc.number");if(o){t="https://www.rfc-editor.org/rfc/rfc"+o+".json";try{const e=await fetch(t);a=await e.json()}catch(e){t=document.URL.indexOf("html")>=0?document.URL.replace(/html$/,"json"):document.URL+".json";const o=await fetch(t);a=await o.json()}}if(!a)return;e.style.display="block";const s="",d="https://datatracker.ietf.org/doc",n="https://datatracker.ietf.org/ipr/search",c="https://www.rfc-editor.org/info",l=a.doc_id.toLowerCase(),i=a.doc_id.slice(0,3).toLowerCase(),f=a.doc_id.slice(3).replace(/^0+/,""),u={status:"Status",obsoletes:"Obsoletes",obsoleted_by:"Obsoleted By",updates:"Updates",updated_by:"Updated By",see_also:"See Also",errata_url:"Errata"};let h="<dl style='overflow:hidden' id='external-updates'>";["status","obsoletes","obsoleted_by","updates","updated_by","see_also","errata_url"].forEach(e=>{if("status"==e){a[e]=a[e].toLowerCase();var t=a[e].split(" "),o=t.length,w="",p=1;for(let e=0;e<o;e++)p<o?w=w+r(t[e])+" ":w+=r(t[e]),p++;a[e]=w}else if("obsoletes"==e||"obsoleted_by"==e||"updates"==e||"updated_by"==e){var g,m="",b=1;g=a[e].length;for(let t=0;t<g;t++)a[e][t]&&(a[e][t]=String(a[e][t]).toLowerCase(),m=b<g?m+"<a href='"+s+"/rfc/".concat(a[e][t])+"'>"+a[e][t].slice(3)+"</a>, ":m+"<a href='"+s+"/rfc/".concat(a[e][t])+"'>"+a[e][t].slice(3)+"</a>",b++);a[e]=m}else if("see_also"==e){var y,L="",C=1;y=a[e].length;for(let t=0;t<y;t++)if(a[e][t]){a[e][t]=String(a[e][t]);var _=a[e][t].slice(0,3),v=a[e][t].slice(3).replace(/^0+/,"");L=C<y?"RFC"!=_?L+"<a href='"+s+"/info/"+_.toLowerCase().concat(v.toLowerCase())+"'>"+_+" "+v+"</a>, ":L+"<a href='"+s+"/info/"+_.toLowerCase().concat(v.toLowerCase())+"'>"+v+"</a>, ":"RFC"!=_?L+"<a href='"+s+"/info/"+_.toLowerCase().concat(v.toLowerCase())+"'>"+_+" "+v+"</a>":L+"<a href='"+s+"/info/"+_.toLowerCase().concat(v.toLowerCase())+"'>"+v+"</a>",C++}a[e]=L}else if("errata_url"==e){var R="";R=a[e]?R+"<a href='"+a[e]+"'>Errata exist</a> | <a href='"+d+"/"+l+"'>Datatracker</a>| <a href='"+n+"/?"+i+"="+f+"&submit="+i+"'>IPR</a> | <a href='"+c+"/"+l+"'>Info page</a>":"<a href='"+d+"/"+l+"'>Datatracker</a> | <a href='"+n+"/?"+i+"="+f+"&submit="+i+"'>IPR</a> | <a href='"+c+"/"+l+"'>Info page</a>",a[e]=R}""!=a[e]?"Errata"==u[e]?h+=`<dt>More info:</dt><dd>${a[e]}</dd>`:h+=`<dt>${u[e]}:</dt><dd>${a[e]}</dd>`:"Errata"==u[e]&&(h+=`<dt>More info:</dt><dd>${a[e]}</dd>`)}),h+="</dl>",e.innerHTML=h}catch(e){console.log(e)}else console.log("Could not locate metadata <div> element");function r(e){return e.charAt(0).toUpperCase()+e.slice(1)}}window.removeEventListener("load",addMetadata),window.addEventListener("load",addMetadata);</script>
|
||||
</head>
|
||||
<body>
|
||||
<body class="xml2rfc">
|
||||
<script src="metadata.min.js"></script>
|
||||
<table class="ears">
|
||||
<thead><tr>
|
||||
|
@ -1231,7 +1257,7 @@ li > p:last-of-type {
|
|||
<h1 id="title">Programming Methodology Framework aka PMF</h1>
|
||||
<section id="section-abstract">
|
||||
<h2 id="abstract"><a href="#abstract" class="selfRef">Abstract</a></h2>
|
||||
<p id="section-abstract-1">This document describes the Programming Methodology Framework also known under the PMF methodology. The methodology is based on the manifesto written by Zed A. Shaw <span>[<a href="#PROGRAMMING-MF-MANIFESTO" class="xref">PROGRAMMING-MF-MANIFESTO</a>]</span> which
|
||||
<p id="section-abstract-1">This document describes the Programming Methodology Framework also known under the PMF methodology. The methodology is based on the manifesto written by Zed A. Shaw <span>[<a href="#PROGRAMMING-MF-MANIFESTO" class="cite xref">PROGRAMMING-MF-MANIFESTO</a>]</span> which
|
||||
describes a natural approach to software engineering with a strong focus on the act of programming. The PMF methodology uses a soft naming to allow for a non-partisan reference
|
||||
to official engineering or project documents describing one of the most used software engineering methodologies.<a href="#section-abstract-1" class="pilcrow">¶</a></p>
|
||||
</section>
|
||||
|
@ -1281,30 +1307,35 @@ to official engineering or project documents describing one of the most used sof
|
|||
</h2>
|
||||
<nav class="toc"><ul class="compact toc ulBare ulEmpty">
|
||||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.1">
|
||||
<p id="section-toc.1-1.1.1" class="keepWithNext"><a href="#section-1" class="xref">1</a>. <a href="#name-introduction" class="xref">Introduction</a></p>
|
||||
<p id="section-toc.1-1.1.1" class="keepWithNext"><a href="#section-1" class="auto internal xref">1</a>. <a href="#name-introduction" class="internal xref">Introduction</a></p>
|
||||
<ul class="compact toc ulBare ulEmpty">
|
||||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.1.2.1">
|
||||
<p id="section-toc.1-1.1.2.1.1" class="keepWithNext"><a href="#section-1.1" class="xref">1.1</a>. <a href="#name-management-and-pmf-methodol" class="xref">Management and PMF methodology</a></p>
|
||||
<p id="section-toc.1-1.1.2.1.1" class="keepWithNext"><a href="#section-1.1" class="auto internal xref">1.1</a>. <a href="#name-management-and-pmf-methodol" class="internal xref">Management and PMF methodology</a></p>
|
||||
</li>
|
||||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.1.2.2">
|
||||
<p id="section-toc.1-1.1.2.2.1" class="keepWithNext"><a href="#section-1.2" class="xref">1.2</a>. <a href="#name-conventions-and-terminology" class="xref">Conventions and Terminology</a></p>
|
||||
<p id="section-toc.1-1.1.2.2.1" class="keepWithNext"><a href="#section-1.2" class="auto internal xref">1.2</a>. <a href="#name-conventions-and-terminology" class="internal xref">Conventions and Terminology</a></p>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.2">
|
||||
<p id="section-toc.1-1.2.1"><a href="#section-2" class="xref">2</a>. <a href="#name-security-considerations" class="xref">Security Considerations</a></p>
|
||||
<p id="section-toc.1-1.2.1"><a href="#section-2" class="auto internal xref">2</a>. <a href="#name-security-considerations" class="internal xref">Security Considerations</a></p>
|
||||
</li>
|
||||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.3">
|
||||
<p id="section-toc.1-1.3.1"><a href="#section-3" class="xref">3</a>. <a href="#name-acknowledgements" class="xref">Acknowledgements</a></p>
|
||||
<p id="section-toc.1-1.3.1"><a href="#section-3" class="auto internal xref">3</a>. <a href="#name-acknowledgements" class="internal xref">Acknowledgements</a></p>
|
||||
</li>
|
||||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.4">
|
||||
<p id="section-toc.1-1.4.1"><a href="#section-4" class="xref">4</a>. <a href="#name-normative-references" class="xref">Normative References</a></p>
|
||||
<p id="section-toc.1-1.4.1"><a href="#section-4" class="auto internal xref">4</a>. <a href="#name-references" class="internal xref">References</a></p>
|
||||
<ul class="compact toc ulBare ulEmpty">
|
||||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.4.2.1">
|
||||
<p id="section-toc.1-1.4.2.1.1"><a href="#section-4.1" class="auto internal xref">4.1</a>. <a href="#name-normative-references" class="internal xref">Normative References</a></p>
|
||||
</li>
|
||||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.4.2.2">
|
||||
<p id="section-toc.1-1.4.2.2.1"><a href="#section-4.2" class="auto internal xref">4.2</a>. <a href="#name-informative-references" class="internal xref">Informative References</a></p>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.5">
|
||||
<p id="section-toc.1-1.5.1"><a href="#section-5" class="xref">5</a>. <a href="#name-informative-references" class="xref">Informative References</a></p>
|
||||
</li>
|
||||
<li class="compact toc ulBare ulEmpty" id="section-toc.1-1.6">
|
||||
<p id="section-toc.1-1.6.1"><a href="#appendix-A" class="xref"></a><a href="#name-authors-addresses" class="xref">Authors' Addresses</a></p>
|
||||
<p id="section-toc.1-1.5.1"><a href="#appendix-A" class="auto internal xref"></a><a href="#name-authors-addresses" class="internal xref">Authors' Addresses</a></p>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
@ -1317,7 +1348,7 @@ to official engineering or project documents describing one of the most used sof
|
|||
</h2>
|
||||
<p id="section-1-1">In 2011, Zed A. Shaw published a blog post which describes:<a href="#section-1-1" class="pilcrow">¶</a></p>
|
||||
<p id="section-1-2">{align="left"} I think I'm going to create the ultimate software development methodology. It'll be revolutionary compared to others because it will focus on the one thing that gets software done. Its entire focus will be this one, glorious, completely useful activity for writing software. It's name even embodies the perfection of this programming methodology.<a href="#section-1-2" class="pilcrow">¶</a></p>
|
||||
<p id="section-1-3">The PMF methodology was published as a manifesto later <span>[<a href="#PROGRAMMING-MF-MANIFESTO" class="xref">PROGRAMMING-MF-MANIFESTO</a>]</span>. The manifesto clearly describes the focus on programming to avoid the surrounding management overhead and pivot towards the delivery of the software. The <span>[<a href="#THE-TAO-OF-PROGRAMMING" class="xref">THE-TAO-OF-PROGRAMMING</a>]</span> describes similar methodologies which strongly focus on coding, scripting and programming.<a href="#section-1-3" class="pilcrow">¶</a></p>
|
||||
<p id="section-1-3">The PMF methodology was published as a manifesto later <span>[<a href="#PROGRAMMING-MF-MANIFESTO" class="cite xref">PROGRAMMING-MF-MANIFESTO</a>]</span>. The manifesto clearly describes the focus on programming to avoid the surrounding management overhead and pivot towards the delivery of the software. The <span>[<a href="#THE-TAO-OF-PROGRAMMING" class="cite xref">THE-TAO-OF-PROGRAMMING</a>]</span> describes similar methodologies which strongly focus on coding, scripting and programming.<a href="#section-1-3" class="pilcrow">¶</a></p>
|
||||
<p id="section-1-4">The overall concept of PMF methodology follows the following process:<a href="#section-1-4" class="pilcrow">¶</a></p>
|
||||
<ul class="compact">
|
||||
<li class="compact" id="section-1-5.1">Compose a list of features to be implemented and use an iterative programming process.<a href="#section-1-5.1" class="pilcrow">¶</a>
|
||||
|
@ -1329,8 +1360,8 @@ to official engineering or project documents describing one of the most used sof
|
|||
</ul>
|
||||
<p id="section-1-6">Repeat the above process until the software is delivered.<a href="#section-1-6" class="pilcrow">¶</a></p>
|
||||
<p id="section-1-7">A simplified overview of the process can be described as follow:<a href="#section-1-7" class="pilcrow">¶</a></p>
|
||||
<div id="section-1-8">
|
||||
<pre class="lang-ascii-art sourcecode">+----------+
|
||||
<div class="lang-ascii-art sourcecode" id="section-1-8">
|
||||
<pre>+----------+
|
||||
| |
|
||||
| idea <------+
|
||||
| | |
|
||||
|
@ -1349,6 +1380,7 @@ to official engineering or project documents describing one of the most used sof
|
|||
| release +------+
|
||||
| |
|
||||
+----------+
|
||||
|
||||
</pre><a href="#section-1-8" class="pilcrow">¶</a>
|
||||
</div>
|
||||
<p id="section-1-9">The PMF methodology covers open source software along with proprietary software and can be used interchangeably in both.<a href="#section-1-9" class="pilcrow">¶</a></p>
|
||||
|
@ -1377,7 +1409,7 @@ the programming aspect and solely serves to support the PMF methodology.<a href=
|
|||
</h3>
|
||||
<p id="section-1.2-1">The key words "<span class="bcp14">MUST</span>", "<span class="bcp14">MUST NOT</span>", "<span class="bcp14">REQUIRED</span>", "<span class="bcp14">SHALL</span>", "<span class="bcp14">SHALL NOT</span>",
|
||||
"<span class="bcp14">SHOULD</span>", "<span class="bcp14">SHOULD NOT</span>", "<span class="bcp14">RECOMMENDED</span>", "<span class="bcp14">MAY</span>", and "<span class="bcp14">OPTIONAL</span>" in this
|
||||
document are to be interpreted as described in RFC 2119 <span>[<a href="#RFC2119" class="xref">RFC2119</a>]</span>.<a href="#section-1.2-1" class="pilcrow">¶</a></p>
|
||||
document are to be interpreted as described in RFC 2119 <span>[<a href="#RFC2119" class="cite xref">RFC2119</a>]</span>.<a href="#section-1.2-1" class="pilcrow">¶</a></p>
|
||||
</section>
|
||||
</div>
|
||||
</section>
|
||||
|
@ -1400,31 +1432,36 @@ includes the act of simplifying or removing code to reduce the attack surface.<a
|
|||
</section>
|
||||
</div>
|
||||
<section id="section-4">
|
||||
<h2 id="name-normative-references">
|
||||
<a href="#section-4" class="section-number selfRef">4. </a><a href="#name-normative-references" class="section-name selfRef">Normative References</a>
|
||||
<h2 id="name-references">
|
||||
<a href="#section-4" class="section-number selfRef">4. </a><a href="#name-references" class="section-name selfRef">References</a>
|
||||
</h2>
|
||||
<section id="section-4.1">
|
||||
<h3 id="name-normative-references">
|
||||
<a href="#section-4.1" class="section-number selfRef">4.1. </a><a href="#name-normative-references" class="section-name selfRef">Normative References</a>
|
||||
</h3>
|
||||
<dl class="references">
|
||||
<dt id="RFC2119">[RFC2119]</dt>
|
||||
<dd>
|
||||
<dd>
|
||||
<span class="refAuthor">Bradner, S.</span>, <span class="refTitle">"Key words for use in RFCs to Indicate Requirement Levels"</span>, <span class="seriesInfo">BCP 14</span>, <span class="seriesInfo">RFC 2119</span>, <span class="seriesInfo">DOI 10.17487/RFC2119</span>, <time datetime="1997-03" class="refDate">March 1997</time>, <span><<a href="https://www.rfc-editor.org/info/rfc2119">https://www.rfc-editor.org/info/rfc2119</a>></span>. </dd>
|
||||
<dd class="break"></dd>
|
||||
</dl>
|
||||
</section>
|
||||
<section id="section-5">
|
||||
<h2 id="name-informative-references">
|
||||
<a href="#section-5" class="section-number selfRef">5. </a><a href="#name-informative-references" class="section-name selfRef">Informative References</a>
|
||||
</h2>
|
||||
<section id="section-4.2">
|
||||
<h3 id="name-informative-references">
|
||||
<a href="#section-4.2" class="section-number selfRef">4.2. </a><a href="#name-informative-references" class="section-name selfRef">Informative References</a>
|
||||
</h3>
|
||||
<dl class="references">
|
||||
<dt id="PROGRAMMING-MF-MANIFESTO">[PROGRAMMING-MF-MANIFESTO]</dt>
|
||||
<dd>
|
||||
<dd>
|
||||
<span class="refAuthor">Shaw, Z. A.</span>, <span class="refTitle">"Programming Motherfucker, do you speak it?"</span>, <span><<a href="http://programming-motherfucker.com">http://programming-motherfucker.com</a>></span>. </dd>
|
||||
<dd class="break"></dd>
|
||||
<dt id="THE-TAO-OF-PROGRAMMING">[THE-TAO-OF-PROGRAMMING]</dt>
|
||||
<dd>
|
||||
<dd>
|
||||
<span class="refAuthor">James, G.</span>, <span class="refTitle">"The Tao of Programming"</span>, <span><<a href="http://www.mit.edu/~xela/tao.html">http://www.mit.edu/~xela/tao.html</a>></span>. </dd>
|
||||
<dd class="break"></dd>
|
||||
</dl>
|
||||
</section>
|
||||
</section>
|
||||
<div id="authors-addresses">
|
||||
<section id="appendix-A">
|
||||
<h2 id="name-authors-addresses">
|
||||
|
|
14
raw.md.txt
14
raw.md.txt
|
@ -65,8 +65,9 @@ Table of Contents
|
|||
1.2. Conventions and Terminology . . . . . . . . . . . . . . . 3
|
||||
2. Security Considerations . . . . . . . . . . . . . . . . . . . 3
|
||||
3. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 4
|
||||
4. Normative References . . . . . . . . . . . . . . . . . . . . 4
|
||||
5. Informative References . . . . . . . . . . . . . . . . . . . 4
|
||||
4. References . . . . . . . . . . . . . . . . . . . . . . . . . 4
|
||||
4.1. Normative References . . . . . . . . . . . . . . . . . . 4
|
||||
4.2. Informative References . . . . . . . . . . . . . . . . . 4
|
||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 4
|
||||
|
||||
1. Introduction
|
||||
|
@ -108,7 +109,6 @@ Table of Contents
|
|||
|
||||
|
||||
|
||||
|
||||
Dulaunoy & Iklody Expires 26 August 2023 [Page 2]
|
||||
|
||||
Internet-Draft PMF - Programming Methodology Framework February 2023
|
||||
|
@ -174,14 +174,16 @@ Internet-Draft PMF - Programming Methodology Framework February 2023
|
|||
|
||||
The authors wish to thank all the programmers who program.
|
||||
|
||||
4. Normative References
|
||||
4. References
|
||||
|
||||
4.1. Normative References
|
||||
|
||||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
|
||||
Requirement Levels", BCP 14, RFC 2119,
|
||||
DOI 10.17487/RFC2119, March 1997,
|
||||
<https://www.rfc-editor.org/info/rfc2119>.
|
||||
|
||||
5. Informative References
|
||||
4.2. Informative References
|
||||
|
||||
[PROGRAMMING-MF-MANIFESTO]
|
||||
Shaw, Z. A., "Programming Motherfucker, do you speak it?",
|
||||
|
@ -198,7 +200,6 @@ Authors' Addresses
|
|||
122, rue Adolphe Fischer
|
||||
L-L-1521 Luxembourg
|
||||
Luxembourg
|
||||
|
||||
Phone: +352 247 88444
|
||||
Email: alexandre.dulaunoy@circl.lu
|
||||
|
||||
|
@ -208,7 +209,6 @@ Authors' Addresses
|
|||
122, rue Adolphe Fischer
|
||||
L-L-1521 Luxembourg
|
||||
Luxembourg
|
||||
|
||||
Phone: +352 247 88444
|
||||
Email: andras.iklody@circl.lu
|
||||
|
||||
|
|
|
@ -48,9 +48,9 @@ to official engineering or project documents describing one of the most used sof
|
|||
<t>Repeat the above process until the software is delivered.</t>
|
||||
<t>A simplified overview of the process can be described as follow:</t>
|
||||
|
||||
<sourcecode type="ascii-art">+----------+
|
||||
<sourcecode type="ascii-art"><![CDATA[+----------+
|
||||
| |
|
||||
| idea <------+
|
||||
| idea <------+
|
||||
| | |
|
||||
+----+-----+ |
|
||||
| |
|
||||
|
@ -67,6 +67,7 @@ to official engineering or project documents describing one of the most used sof
|
|||
| release +------+
|
||||
| |
|
||||
+----------+
|
||||
]]>
|
||||
</sourcecode>
|
||||
<t>The PMF methodology covers open source software along with proprietary software and can be used interchangeably in both.</t>
|
||||
|
||||
|
@ -101,8 +102,9 @@ includes the act of simplifying or removing code to reduce the attack surface.</
|
|||
</middle>
|
||||
|
||||
<back>
|
||||
<references><name>References</name>
|
||||
<references><name>Normative References</name>
|
||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
|
||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
|
||||
</references>
|
||||
<references><name>Informative References</name>
|
||||
<reference anchor="PROGRAMMING-MF-MANIFESTO" target="http://programming-motherfucker.com">
|
||||
|
@ -120,6 +122,7 @@ includes the act of simplifying or removing code to reduce the attack surface.</
|
|||
</front>
|
||||
</reference>
|
||||
</references>
|
||||
</references>
|
||||
|
||||
</back>
|
||||
|
||||
|
|
Loading…
Reference in a new issue