ma-agents 2.16.2 → 2.16.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/package.json +1 -1
  2. package/.agent/workflows/bmad-agent-bmad-master.md +0 -15
  3. package/.agent/workflows/bmad-agent-bmm-analyst.md +0 -15
  4. package/.agent/workflows/bmad-agent-bmm-architect.md +0 -15
  5. package/.agent/workflows/bmad-agent-bmm-dev.md +0 -15
  6. package/.agent/workflows/bmad-agent-bmm-pm.md +0 -15
  7. package/.agent/workflows/bmad-agent-bmm-qa.md +0 -15
  8. package/.agent/workflows/bmad-agent-bmm-quick-flow-solo-dev.md +0 -15
  9. package/.agent/workflows/bmad-agent-bmm-sm.md +0 -15
  10. package/.agent/workflows/bmad-agent-bmm-tech-writer.md +0 -15
  11. package/.agent/workflows/bmad-agent-bmm-ux-designer.md +0 -15
  12. package/.agent/workflows/bmad-agent-cis-brainstorming-coach.md +0 -15
  13. package/.agent/workflows/bmad-agent-cis-creative-problem-solver.md +0 -15
  14. package/.agent/workflows/bmad-agent-cis-design-thinking-coach.md +0 -15
  15. package/.agent/workflows/bmad-agent-cis-innovation-strategist.md +0 -15
  16. package/.agent/workflows/bmad-agent-cis-presentation-master.md +0 -15
  17. package/.agent/workflows/bmad-agent-cis-storyteller.md +0 -15
  18. package/.agent/workflows/bmad-bmm-check-implementation-readiness.md +0 -6
  19. package/.agent/workflows/bmad-bmm-code-review.md +0 -14
  20. package/.agent/workflows/bmad-bmm-correct-course.md +0 -14
  21. package/.agent/workflows/bmad-bmm-create-architecture.md +0 -6
  22. package/.agent/workflows/bmad-bmm-create-epics-and-stories.md +0 -6
  23. package/.agent/workflows/bmad-bmm-create-prd.md +0 -6
  24. package/.agent/workflows/bmad-bmm-create-product-brief.md +0 -6
  25. package/.agent/workflows/bmad-bmm-create-story.md +0 -14
  26. package/.agent/workflows/bmad-bmm-create-ux-design.md +0 -6
  27. package/.agent/workflows/bmad-bmm-dev-story.md +0 -14
  28. package/.agent/workflows/bmad-bmm-document-project.md +0 -14
  29. package/.agent/workflows/bmad-bmm-domain-research.md +0 -6
  30. package/.agent/workflows/bmad-bmm-edit-prd.md +0 -6
  31. package/.agent/workflows/bmad-bmm-generate-project-context.md +0 -6
  32. package/.agent/workflows/bmad-bmm-market-research.md +0 -6
  33. package/.agent/workflows/bmad-bmm-qa-generate-e2e-tests.md +0 -14
  34. package/.agent/workflows/bmad-bmm-quick-dev.md +0 -6
  35. package/.agent/workflows/bmad-bmm-quick-spec.md +0 -6
  36. package/.agent/workflows/bmad-bmm-retrospective.md +0 -14
  37. package/.agent/workflows/bmad-bmm-sprint-planning.md +0 -14
  38. package/.agent/workflows/bmad-bmm-sprint-status.md +0 -14
  39. package/.agent/workflows/bmad-bmm-technical-research.md +0 -6
  40. package/.agent/workflows/bmad-bmm-validate-prd.md +0 -6
  41. package/.agent/workflows/bmad-brainstorming.md +0 -6
  42. package/.agent/workflows/bmad-cis-design-thinking.md +0 -14
  43. package/.agent/workflows/bmad-cis-innovation-strategy.md +0 -14
  44. package/.agent/workflows/bmad-cis-problem-solving.md +0 -14
  45. package/.agent/workflows/bmad-cis-storytelling.md +0 -14
  46. package/.agent/workflows/bmad-editorial-review-prose.md +0 -10
  47. package/.agent/workflows/bmad-editorial-review-structure.md +0 -10
  48. package/.agent/workflows/bmad-help.md +0 -10
  49. package/.agent/workflows/bmad-index-docs.md +0 -10
  50. package/.agent/workflows/bmad-party-mode.md +0 -6
  51. package/.agent/workflows/bmad-review-adversarial-general.md +0 -10
  52. package/.agent/workflows/bmad-review-edge-case-hunter.md +0 -10
  53. package/.agent/workflows/bmad-shard-doc.md +0 -10
  54. package/.antigravity/antigravity.md +0 -14
  55. package/.antigravity/skills/.ma-agents.json +0 -14
  56. package/.antigravity/skills/MANIFEST.yaml +0 -7
  57. package/.antigravity/skills/docker-image-signing/SKILL.md +0 -28
  58. package/.antigravity/skills/docker-image-signing/scripts/sign-image.sh +0 -33
  59. package/lib/bmad-workflows/mil498/bmad-mil-generate-ocd.md +0 -17
  60. package/lib/bmad-workflows/mil498/bmad-mil-generate-sdd.md +0 -18
  61. package/lib/bmad-workflows/mil498/bmad-mil-generate-sdp.md +0 -17
  62. package/lib/bmad-workflows/mil498/bmad-mil-generate-srs.md +0 -19
  63. package/lib/bmad-workflows/mil498/bmad-mil-generate-sss.md +0 -16
  64. package/lib/bmad-workflows/mil498/bmad-mil-generate-std.md +0 -17
  65. package/mil498/OCD.md +0 -169
  66. package/mil498/README.md +0 -4
  67. package/mil498/SDP.md +0 -307
  68. package/mil498/SRS.md +0 -219
  69. package/mil498/SSDD.md +0 -154
  70. package/mil498/SSS.md +0 -225
  71. package/mil498/STD.md +0 -188
  72. package/out.txt +0 -0
package/mil498/SDP.md DELETED
@@ -1,307 +0,0 @@
1
- # 1. Scope.
2
-
3
- This section shall be divided into the following paragraphs.
4
-
5
- ## 1.1 Identification.
6
-
7
- This paragraph shall contain a full identification of the system and the software to which this document applies, including, as applicable, identification number(s), title(s), abbreviation(s), version number(s), and release number(s).
8
-
9
- ## 1.2 System overview.
10
-
11
- This paragraph shall briefly state the purpose of the system and the software to which this document applies. It shall describe the general nature of the system and software; summarize the history of system development, operation, and maintenance; identify the project sponsor, acquirer, user, developer, and support agencies; identify current and planned operating sites; and list other relevant documents.
12
-
13
- ## 1.3 Document overview.
14
-
15
- This paragraph shall summarize the purpose and contents of this document and shall describe any security or privacy considerations associated with its use.
16
-
17
- ## 1.4 Relationship to other plans.
18
-
19
- This paragraph shall describe the relationship, if any, of the SDP to other project management plans.
20
-
21
- # 2. Referenced documents.
22
-
23
- This section shall list the number, title, revision, and date of all documents referenced in this plan. This section shall also identify the source for all documents not available through normal Government stocking activities.
24
-
25
- # 3. Overview of required work.
26
-
27
- This section shall be divided into paragraphs as needed to establish the context for the planning described in later sections. It shall include, as applicable, an overview of:
28
-
29
- a. Requirements and constraints on the system and software to be developed
30
- b. Requirements and constraints on project documentation
31
- c. Position of the project in the system life cycle
32
- d. The selected program/acquisition strategy or any requirements or constraints on it
33
- e. Requirements and constraints on project schedules and resources
34
- f. Other requirements and constraints, such as on project security, privacy, methods, standards, interdependencies in hardware and software development, etc.
35
-
36
- # 4. Plans for performing general software development activities.
37
-
38
- This section shall be divided into the following paragraphs. Provisions corresponding to non-required activities may be satisfied by the words "Not applicable." If different builds or different software on the project require different planning, these differences shall be noted in the paragraphs. In addition to the content specified below, each paragraph shall identify applicable risks/uncertainties and plans for dealing with them.
39
-
40
- ## 4.1 Software development process.
41
-
42
- This paragraph shall describe the software development process to be used. The planning shall cover all contractual clauses concerning this topic, identifying planned builds, if applicable, their objectives, and the software development activities to be performed in each build.
43
-
44
- ## 4.2 General plans for software development.
45
-
46
- This paragraph shall be divided into the following subparagraphs.
47
-
48
- ### 4.2.1 Software development methods.
49
-
50
- This paragraph shall describe or reference the software development methods to be used. Included shall be descriptions of the manual and automated tools and procedures to be used in support of these methods. The methods shall cover all contractual clauses concerning this topic. Reference may be made to other paragraphs in this plan if the methods are better described in context with the activities to which they will be applied.
51
-
52
- ### 4.2.2 Standards for software products.
53
-
54
- This paragraph shall describe or reference the standards to be followed for representing requirements, design, code, test cases, test procedures, and test results. The standards shall cover all contractual clauses concerning this topic. Reference may be made to other paragraphs in this plan if the standards are better described in context with the activities to which they will be applied. Standards for code shall be provided for each programming language to be used. They shall include at a minimum:
55
-
56
- a. Standards for format (such as indentation, spacing, capitalization, and order of information)
57
- b. Standards for header comments (requiring, for example, name/identifier of the code; version identification; modification history; purpose; requirements and design decisions implemented; notes on the processing (such as algorithms used, assumptions, constraints, limitations, and side effects); and notes on the data (inputs, outputs, variables, data structures, etc.)
58
- c. Standards for other comments (such as required number and content expectations)
59
- d. Naming conventions for variables, parameters, packages, procedures, files, etc.
60
- e. Restrictions, if any, on the use of programming language constructs or features
61
- f. Restrictions, if any, on the complexity of code aggregates
62
-
63
- ### 4.2.3 Reusable software products.
64
-
65
- This paragraph shall be divided into the following subparagraphs.
66
-
67
- #### 4.2.3.1 Incorporating reusable software products.
68
-
69
- This paragraph shall describe the approach to be followed for identifying, evaluating, and incorporating reusable software products, including the scope of the search for such products and the criteria to be used for their evaluation. It shall cover all contractual clauses concerning this topic. Candidate or selected reusable software products known at the time this plan is prepared or updated shall be identified and described, together with benefits, drawbacks, and restrictions, as applicable, associated with their use.
70
-
71
- #### 4.2.3.2 Developing reusable software products.
72
-
73
- This paragraph shall describe the approach to be followed for identifying, evaluating, and reporting opportunities for developing reusable software products. It shall cover all contractual clauses concerning this topic.
74
-
75
- ### 4.2.4 Handling of critical requirements.
76
-
77
- This paragraph shall be divided into the following subparagraphs to describe the approach to be followed for handling requirements designated critical. The planning in each subparagraph shall cover all contractual clauses concerning the identified topic.
78
-
79
- 4.2.4.1 Safety assurance
80
- 4.2.4.2 Security assurance
81
- 4.2.4.3 Privacy assurance
82
- 4.2.4.4 Assurance of other critical requirements
83
-
84
- ### 4.2.5 Computer hardware resource utilization.
85
-
86
- This paragraph shall describe the approach to be followed for allocating computer hardware resources and monitoring their utilization. It shall cover all contractual clauses concerning this topic.
87
-
88
- ### 4.2.6 Recording rationale.
89
-
90
- This paragraph shall describe the approach to be followed for recording rationale that will be useful to the support agency for key decisions made on the project. It shall interpret the term "key decisions" for the project and state where the rationale are to be recorded. It shall cover all contractual clauses concerning this topic.
91
-
92
- ### 4.2.7 Access for acquirer review.
93
-
94
- This paragraph shall describe the approach to be followed for providing the acquirer or its authorized representative access to developer and subcontractor facilities for review of software products and activities. It shall cover all contractual clauses concerning this topic.
95
-
96
- # 5. Plans for performing detailed software development activities.
97
-
98
- This section shall be divided into the following paragraphs. Provisions corresponding to non-required activities may be satisfied by the words "Not applicable." If different builds or different software on the project require different planning, these differences shall be noted in the paragraphs. The discussion of each activity shall include the approach (methods/procedures/tools) to be applied to: 1) the analysis or other technical tasks involved, 2) the recording of results, and 3) the preparation of associated deliverables, if applicable. The discussion shall also identify applicable risks/uncertainties and plans for dealing with them. Reference may be made to 4.2.1 if applicable methods are described there.
99
-
100
- ## 5.1 Project planning and oversight.
101
-
102
- This paragraph shall be divided into the following subparagraphs to describe the approach to be followed for project planning and oversight. The planning in each subparagraph shall cover all contractual clauses regarding the identified topic.
103
-
104
- 5.1.1 Software development planning (covering updates to this plan)
105
- 5.1.2 CSCI test planning
106
- 5.1.3 System test planning
107
- 5.1.4 Software installation planning
108
- 5.1.5 Software transition planning
109
- 5.1.6 Following and updating plans, including the intervals for management review
110
-
111
- ## 5.2 Establishing a software development environment.
112
-
113
- This paragraph shall be divided into the following subparagraphs to describe the approach to be followed for establishing, controlling, and maintaining a software development environment. The planning in each subparagraph shall cover all contractual clauses regarding the identified topic.
114
-
115
- 5.2.1 Software engineering environment
116
- 5.2.2 Software test environment
117
- 5.2.3 Software development library
118
- 5.2.4 Software development files
119
- 5.2.5 Non-deliverable software
120
-
121
- ## 5.3 System requirements analysis.
122
-
123
- This paragraph shall be divided into the following subparagraphs to describe the approach to be followed for participating in system requirements analysis. The planning in each subparagraph shall cover all contractual clauses regarding the identified topic.
124
-
125
- 5.3.1 Analysis of user input
126
- 5.3.2 Operational concept
127
- 5.3.3 System requirements
128
-
129
- ## 5.4 System design.
130
-
131
- This paragraph shall be divided into the following subparagraphs to describe the approach to be followed for participating in system design. The planning in each subparagraph shall cover all contractual clauses regarding the identified topic.
132
-
133
- 5.4.1 System-wide design decisions
134
- 5.4.2 System architectural design
135
-
136
- ## 5.5 Software requirements analysis.
137
-
138
- This paragraph shall describe the approach to be followed for software requirements analysis. The approach shall cover all contractual clauses concerning this topic.
139
-
140
- ## 5.6 Software design.
141
-
142
- This paragraph shall be divided into the following subparagraphs to describe the approach to be followed for software design. The planning in each subparagraph shall cover all contractual clauses regarding the identified topic.
143
-
144
- 5.6.1 CSCI-wide design decisions
145
- 5.6.2 CSCI architectural design
146
- 5.6.3 CSCI detailed design
147
-
148
- ## 5.7 Software implementation and unit testing.
149
-
150
- This paragraph shall be divided into the following subparagraphs to describe the approach to be followed for software implementation and unit testing. The planning in each subparagraph shall cover all contractual clauses regarding the identified topic.
151
-
152
- 5.7.1 Software implementation
153
- 5.7.2 Preparing for unit testing
154
- 5.7.3 Performing unit testing
155
- 5.7.4 Revision and retesting
156
- 5.7.5 Analyzing and recording unit test results
157
-
158
- ## 5.8 Unit integration and testing.
159
-
160
- This paragraph shall be divided into the following subparagraphs to describe the approach to be followed for unit integration and testing. The planning in each subparagraph shall cover all contractual clauses regarding the identified topic.
161
-
162
- 5.8.1 Preparing for unit integration and testing
163
- 5.8.2 Performing unit integration and testing
164
- 5.8.3 Revision and retesting
165
- 5.8.4 Analyzing and recording unit integration and test results
166
-
167
- ## 5.9 CSCI qualification testing.
168
-
169
- This paragraph shall be divided into the following subparagraphs to describe the approach to be followed for CSCI qualification testing. The planning in each subparagraph shall cover all contractual clauses regarding the identified topic.
170
-
171
- 5.9.1 Independence in CSCI qualification testing
172
- 5.9.2 Testing on the target computer system
173
- 5.9.3 Preparing for CSCI qualification testing
174
- 5.9.4 Dry run of CSCI qualification testing
175
- 5.9.5 Performing CSCI qualification testing
176
- 5.9.6 Revision and retesting
177
- 5.9.7 Analyzing and recording CSCI qualification test results
178
-
179
- ## 5.10 CSCI/HWCI integration and testing.
180
-
181
- This paragraph shall be divided into the following subparagraphs to describe the approach to be followed for participating in CSCI/HWCI integration and testing. The planning in each subparagraph shall cover all contractual clauses regarding the identified topic.
182
-
183
- 5.10.1 Preparing for CSCI/HWCI integration and testing
184
- 5.10.2 Performing CSCI/HWCI integration and testing
185
- 5.10.3 Revision and retesting
186
- 5.10.4 Analyzing and recording CSCI/HWCI integration and test results
187
-
188
- ## 5.11 System qualification testing.
189
-
190
- This paragraph shall be divided into the following subparagraphs to describe the approach to be followed for participating in system qualification testing. The planning in each subparagraph shall cover all contractual clauses regarding the identified topic.
191
-
192
- 5.11.1 Independence in system qualification testing
193
- 5.11.2 Testing on the target computer system
194
- 5.11.3 Preparing for system qualification testing
195
- 5.11.4 Dry run of system qualification testing
196
- 5.11.5 Performing system qualification testing
197
- 5.11.6 Revision and retesting
198
- 5.11.7 Analyzing and recording system qualification test results
199
-
200
- ## 5.12 Preparing for software use.
201
-
202
- This paragraph shall be divided into the following subparagraphs to describe the approach to be followed for preparing for software use. The planning in each subparagraph shall cover all contractual clauses regarding the identified topic.
203
-
204
- 5.12.1 Preparing the executable software
205
- 5.12.2 Preparing version descriptions for user sites
206
- 5.12.3 Preparing user manuals
207
- 5.12.4 Installation at user sites
208
-
209
- ## 5.13 Preparing for software transition.
210
-
211
- This paragraph shall be divided into the following subparagraphs to describe the approach to be followed for preparing for software transition. The planning in each subparagraph shall cover all contractual clauses regarding the identified topic.
212
-
213
- 5.13.1 Preparing the executable software
214
- 5.13.2 Preparing source files
215
- 5.13.3 Preparing version descriptions for the support site
216
- 5.13.4 Preparing the "as built" CSCI design and other software support information
217
- 5.13.5 Updating the system design description
218
- 5.13.6 Preparing support manuals
219
- 5.13.7 Transition to the designated support site
220
-
221
- ## 5.14 Software configuration management.
222
-
223
- This paragraph shall be divided into the following subparagraphs to describe the approach to be followed for software configuration management. The planning in each subparagraph shall cover all contractual clauses regarding the identified topic.
224
-
225
- 5.14.1 Configuration identification
226
- 5.14.2 Configuration control
227
- 5.14.3 Configuration status accounting
228
- 5.14.4 Configuration audits
229
- 5.14.5 Packaging, storage, handling, and delivery
230
-
231
- ## 5.15 Software product evaluation.
232
-
233
- This paragraph shall be divided into the following subparagraphs to describe the approach to be followed for software product evaluation. The planning in each subparagraph shall cover all contractual clauses regarding the identified topic.
234
-
235
- 5.15.1 In-process and final software product evaluations
236
- 5.15.2 Software product evaluation records, including items to be recorded
237
- 5.15.3 Independence in software product evaluation
238
-
239
- ## 5.16 Software quality assurance.
240
-
241
- This paragraph shall be divided into the following subparagraphs to describe the approach to be followed for software quality assurance. The planning in each subparagraph shall cover all contractual clauses regarding the identified topic.
242
-
243
- 5.16.1 Software quality assurance evaluations
244
- 5.16.2 Software quality assurance records, including items to be recorded
245
- 5.16.3 Independence in software quality assurance
246
-
247
- ## 5.17 Corrective action.
248
-
249
- This paragraph shall be divided into the following subparagraphs to describe the approach to be followed for corrective action. The planning in each subparagraph shall cover all contractual clauses regarding the identified topic.
250
-
251
- 5.17.1 Problem/change reports, including items to be recorded (candidate items include project name, originator, problem number, problem name, software element or document affected, origination date, category and priority, description, analyst assigned to the problem, date assigned, date completed, analysis time, recommended solution, impacts, problem status, approval of solution, follow-up actions, corrector, correction date, version where corrected, correction time, description of solution implemented)
252
- 5.17.2 Corrective action system
253
-
254
- ## 5.18 Joint technical and management reviews.
255
-
256
- This paragraph shall be divided into the following subparagraphs to describe the approach to be followed for joint technical and management reviews. The planning in each subparagraph shall cover all contractual clauses regarding the identified topic.
257
-
258
- 5.18.1 Joint technical reviews, including a proposed set of reviews
259
- 5.18.2 Joint management reviews, including a proposed set of reviews
260
-
261
- ## 5.19 Other software development activities.
262
-
263
- This paragraph shall be divided into the following subparagraphs to describe the approach to be followed for other software development activities. The planning in each subparagraph shall cover all contractual clauses regarding the identified topic.
264
-
265
- 5.19.1 Risk management, including known risks and corresponding strategies
266
- 5.19.2 Software management indicators, including indicators to be used
267
- 5.19.3 Security and privacy
268
- 5.19.4 Subcontractor management
269
- 5.19.5 Interface with software independent verification and validation (IV&V) agents
270
- 5.19.6 Coordination with associate developers
271
- 5.19.7 Improvement of project processes
272
- 5.19.8 Other activities not covered elsewhere in the plan
273
-
274
- # 6. Schedules and activity network.
275
-
276
- This section shall present:
277
-
278
- a. Schedule(s) identifying the activities in each build and showing initiation of each activity, availability of draft and final deliverables and other milestones, and completion of each activity
279
- b. An activity network, depicting sequential relationships and dependencies among activities and identifying those activities that impose the greatest time restrictions on the project
280
-
281
- # 7. Project organization and resources.
282
-
283
- This section shall be divided into the following paragraphs to describe the project organization and resources to be applied in each build.
284
-
285
- ## 7.1 Project organization.
286
-
287
- This paragraph shall describe the organizational structure to be used on the project, including the organizations involved, their relationships to one another, and the authority and responsibility of each organization for carrying out required activities.
288
-
289
- ## 7.2 Project resources.
290
-
291
- This paragraph shall describe the resources to be applied to the project. It shall include, as applicable:
292
-
293
- a. Personnel resources, including:
294
- 1. The estimated staff-loading for the project (number of personnel over time)
295
- 2. The breakdown of the staff-loading numbers by responsibility (for example, management, software engineering, software testing, software configuration management, software product evaluation, software quality assurance)
296
- 3. A breakdown of the skill levels, geographic locations, and security clearances of personnel performing each responsibility
297
- b. Overview of developer facilities to be used, including geographic locations in which the work will be performed, facilities to be used, and secure areas and other features of the facilities as applicable to the contracted effort.
298
- c. Acquirer-furnished equipment, software, services, documentation, data, and facilities required for the contracted effort. A schedule detailing when these items will be needed shall also be included.
299
- d. Other required resources, including a plan for obtaining the resources, dates needed, and availability of each resource item.
300
-
301
- # 8. Notes.
302
-
303
- This section shall contain any general information that aids in understanding this document (e.g., background information, glossary, rationale). This section shall include an alphabetical listing of all acronyms, abbreviations, and their meanings as used in this document and a list of any terms and definitions needed to understand this document.
304
-
305
- # A. Appendixes.
306
-
307
- Appendixes may be used to provide information published separately for convenience in document maintenance (e.g., charts, classified data). As applicable, each appendix shall be referenced in the main body of the document where the data would normally have been provided. Appendixes may be bound as separate documents for ease in handling. Appendixes shall be lettered alphabetically (A, B, etc.).
package/mil498/SRS.md DELETED
@@ -1,219 +0,0 @@
1
- # 1. Scope.
2
-
3
- This section shall be divided into the following paragraphs.
4
-
5
- ## 1.1 Identification.
6
-
7
- This paragraph shall contain a full identification of the system and the software to which this document applies, including, as applicable, identification number(s), title(s), abbreviation(s), version number(s), and release number(s).
8
-
9
- ## 1.2 System overview.
10
-
11
- This paragraph shall briefly state the purpose of the system and the software to which this document applies. It shall describe the general nature of the system and software; summarize the history of system development, operation, and maintenance; identify the project sponsor, acquirer, user, developer, and support agencies; identify current and planned operating sites; and list other relevant documents.
12
-
13
- ## 1.3 Document overview.
14
-
15
- This paragraph shall summarize the purpose and contents of this document and shall describe any security or privacy considerations associated with its use.
16
-
17
- # 2. Referenced documents.
18
-
19
- This section shall list the number, title, revision, and date of all documents referenced in this specification. This section shall also identify the source for all documents not available through normal Government stocking activities.
20
-
21
- # 3. Requirements.
22
-
23
- This section shall be divided into the following paragraphs to specify the CSCI requirements, that is, those characteristics of the CSCI that are conditions for its acceptance. CSCI requirements are software requirements generated to satisfy the system requirements allocated to this CSCI. Each requirement shall be assigned a project-unique identifier to support testing and traceability and shall be stated in such a way that an objective test can be defined for it. Each requirement shall be annotated with associated qualification method(s) (see section 4) and traceability to system (or subsystem, if applicable) requirements (see section 5.a) if not provided in those sections. The degree of detail to be provided shall be guided by the following rule: Include those characteristics of the CSCI that are conditions for CSCI acceptance; defer to design descriptions those characteristics that the acquirer is willing to leave up to the developer. If there are no requirements in a given paragraph, the paragraph shall so state. If a given requirement fits into more than one paragraph, it may be stated once and referenced from the other paragraphs.
24
-
25
- ## 3.1 Required states and modes.
26
-
27
- If the CSCI is required to operate in more than one state or mode having requirements distinct from other states or modes, this paragraph shall identify and define each state and mode. Examples of states and modes include: idle, ready, active, post-use analysis, training, degraded, emergency, backup, wartime, peacetime. The distinction between states and modes is arbitrary. A CSCI may be described in terms of states only, modes only, states within modes, modes within states, or any other scheme that is useful. If no states or modes are required, this paragraph shall so state, without the need to create artificial distinctions. If states and/or modes are required, each requirement or group of requirements in this specification shall be correlated to the states and modes. The correlation may be indicated by a table or other method in this paragraph, in an appendix referenced from this paragraph, or by annotation of the requirements in the paragraphs where they appear.
28
-
29
- ## 3.2 CSCI capability requirements.
30
-
31
- This paragraph shall be divided into subparagraphs to itemize the requirements associated with each capability of the CSCI. A "capability" is defined as a group of related requirements. The word "capability" may be replaced with "function," "subject," "object," or other term useful for presenting the requirements.
32
-
33
- ### 3.2.x (CSCI capability).
34
-
35
- This paragraph shall identify a required CSCI capability and shall itemize the requirements associated with the capability. If the capability can be more clearly specified by dividing it into constituent capabilities, the constituent capabilities shall be specified in subparagraphs. The requirements shall specify required behavior of the CSCI and shall include applicable parameters, such as response times, throughput times, other timing constraints, sequencing, accuracy, capacities (how much/how many), priorities, continuous operation requirements, and allowable deviations based on operating conditions. The requirements shall include, as applicable, required behavior under unexpected, unallowed, or "out of bounds" conditions, requirements for error handling, and any provisions to be incorporated into the CSCI to provide continuity of operations in the event of emergencies. Paragraph 3.3.x of this DID provides a list of topics to be considered when specifying requirements regarding inputs the CSCI must accept and outputs it must produce.
36
-
37
- ## 3.3 CSCI external interface requirements.
38
-
39
- This paragraph shall be divided into subparagraphs to specify the requirements, if any, for the CSCI's external interfaces. This paragraph may reference one or more Interface Requirements Specifications (IRSs) or other documents containing these requirements.
40
-
41
- ### 3.3.1 Interface identification and diagrams.
42
-
43
- This paragraph shall identify the required external interfaces of the CSCI (that is, relationships with other entities that involve sharing, providing or exchanging data). The identification of each interface shall include a project-unique identifier and shall designate the interfacing entities (systems, configuration items, users, etc.) by name, number, version, and documentation references, as applicable. The identification shall state which entities have fixed interface characteristics (and therefore impose interface requirements on interfacing entities) and which are being developed or modified (thus having interface requirements imposed on them). One or more interface diagrams shall be provided to depict the interfaces.
44
-
45
- ### 3.3.x (Project-unique identifier of interface).
46
-
47
- This paragraph (beginning with 3.3.2) shall identify a CSCI external interface by project-unique identifier, shall briefly identify the interfacing entities, and shall be divided into subparagraphs as needed to state the requirements imposed on the CSCI to achieve the interface. Interface characteristics of the other entities involved in the interface shall be stated as assumptions or as "When [the entity not covered] does this, the CSCI shall...," not as requirements on the other entities. This paragraph may reference other documents (such as data dictionaries, standards for communication protocols, and standards for user interfaces) in place of stating the information here. The requirements shall include the following, as applicable, presented in any order suited to the requirements, and shall note any differences in these characteristics from the point of view of the interfacing entities (such as different expectations about the size, frequency, or other characteristics of data elements):
48
-
49
- a. Priority that the CSCI must assign the interface
50
-
51
- b. Requirements on the type of interface (such as real-time data transfer, storage-and-retrieval of data, etc.) to be implemented
52
-
53
- c. Required characteristics of individual data elements that the CSCI must provide, store, send, access, receive, etc., such as:
54
-
55
- 1. Names/identifiers
56
- a. Project-unique identifier
57
- b. Non-technical (natural language) name
58
- c. DoD standard data element name
59
- d. Technical name (e.g., variable or field name in code or database)
60
- e. Abbreviation or synonymous names
61
- 2. Data type (alphanumeric, integer, etc.)
62
- 3. Size and format (such as length and punctuation of a character string)
63
- 4. Units of measurement (such as meters, dollars, nanoseconds)
64
- 5. Range or enumeration of possible values (such as 0-99)
65
- 6. Accuracy (how correct) and precision (number of significant digits)
66
- 7. Priority, timing, frequency, volume, sequencing, and other constraints, such as whether the data element may be updated and whether business rules apply
67
- 8. Security and privacy constraints
68
- 9. Sources (setting/sending entities) and recipients (using/receiving entities)
69
-
70
- d. Required characteristics of data element assemblies (records, messages, files, arrays, displays, reports, etc.) that the CSCI must provide, store, send, access, receive, etc., such as:
71
-
72
- 1. Names/identifiers
73
- a. Project-unique identifier
74
- b. Non-technical (natural language) name
75
- c. Technical name (e.g., record or data structure name in code or database)
76
- d. Abbreviations or synonymous names
77
- 2. Data elements in the assembly and their structure (number, order, grouping)
78
- 3. Medium (such as disk) and structure of data elements/assemblies on the medium
79
- 4. Visual and auditory characteristics of displays and other outputs (such as colors, layouts, fonts, icons and other display elements, beeps, lights)
80
- 5. Relationships among assemblies, such as sorting/access characteristics
81
- 6. Priority, timing, frequency, volume, sequencing, and other constraints, such as whether the assembly may be updated and whether business rules apply
82
- 7. Security and privacy constraints
83
- 8. Sources (setting/sending entities) and recipients (using/receiving entities)
84
-
85
- e. Required characteristics of communication methods that the CSCI must use for the interface, such as:
86
-
87
- 1. Project-unique identifier(s)
88
- 2. Communication links/bands/frequencies/media and their characteristics
89
- 3. Message formatting
90
- 4. Flow control (such as sequence numbering and buffer allocation)
91
- 5. Data transfer rate, whether periodic/aperiodic, and interval between transfers
92
- 6. Routing, addressing, and naming conventions
93
- 7. Transmission services, including priority and grade
94
- 8. Safety/security/privacy considerations, such as encryption, user authentication, compartmentalization, and auditing
95
-
96
- f. Required characteristics of protocols the CSCI must use for the interface, such as:
97
-
98
- 1. Project-unique identifier(s)
99
- 2. Priority/layer of the protocol
100
- 3. Packeting, including fragmentation and reassembly, routing, and addressing
101
- 4. Legality checks, error control, and recovery procedures
102
- 5. Synchronization, including connection establishment, maintenance, termination
103
- 6. Status, identification, and any other reporting features
104
-
105
- g. Other required characteristics, such as physical compatibility of the interfacing entities (dimensions, tolerances, loads, plug compatibility, etc.), voltages, etc.
106
-
107
- ## 3.4 CSCI internal interface requirements.
108
-
109
- This paragraph shall specify the requirements, if any, imposed on interfaces internal to the CSCI. If all internal interfaces are left to the design, this fact shall be so stated. If such requirements are to be imposed, paragraph 3.3 of this DID provides a list of topics to be considered.
110
-
111
- ## 3.5 CSCI internal data requirements.
112
-
113
- This paragraph shall specify the requirements, if any, imposed on data internal to the CSCI. Included shall be requirements, if any, on databases and data files to be included in the CSCI. If all decisions about internal data are left to the design, this fact shall be so stated. If such requirements are to be imposed, paragraphs 3.3.x.c and 3.3.x.d of this DID provide a list of topics to be considered.
114
-
115
- ## 3.6 Adaptation requirements.
116
-
117
- This paragraph shall specify the requirements, if any, concerning installation-dependent data to be provided by the CSCI (such as site-dependent latitude and longitude or site-dependent state tax codes) and operational parameters that the CSCI is required to use that may vary according to operational needs (such as parameters indicating operation-dependent targeting constants or data recording).
118
-
119
- ## 3.7 Safety requirements.
120
-
121
- This paragraph shall specify the CSCI requirements, if any, concerned with preventing or minimizing unintended hazards to personnel, property, and the physical environment. Examples include safeguards the CSCI must provide to prevent inadvertent actions (such as accidentally issuing an "auto pilot off" command) and non-actions (such as failure to issue an intended "auto pilot off" command). This paragraph shall include the CSCI requirements, if any, regarding nuclear components of the system, including, as applicable, prevention of inadvertent detonation and compliance with nuclear safety rules.
122
-
123
- ## 3.8 Security and privacy requirements.
124
-
125
- This paragraph shall specify the CSCI requirements, if any, concerned with maintaining security and privacy. These requirements shall include, as applicable, the security/privacy environment in which the CSCI must operate, the type and degree of security or privacy to be provided, the security/privacy risks the CSCI must withstand, required safeguards to reduce those risks, the security/privacy policy that must be met, the security/privacy accountability the CSCI must provide, and the criteria that must be met for security/privacy certification/accreditation.
126
-
127
- ## 3.9 CSCI environment requirements.
128
-
129
- This paragraph shall specify the requirements, if any, regarding the environment in which the CSCI must operate. Examples include the computer hardware and operating system on which the CSCI must run. (Additional requirements concerning computer resources are given in the next paragraph.)
130
-
131
- ## 3.10 Computer resource requirements.
132
-
133
- This paragraph shall be divided into the following subparagraphs.
134
-
135
- ### 3.10.1 Computer hardware requirements.
136
-
137
- This paragraph shall specify the requirements, if any, regarding computer hardware that must be used by the CSCI. The requirements shall include, as applicable, number of each type of equipment, type, size, capacity, and other required characteristics of processors, memory, input/output devices, auxiliary storage, communications/network equipment, and other required equipment.
138
-
139
- ### 3.10.2 Computer hardware resource utilization requirements.
140
-
141
- This paragraph shall specify the requirements, if any, on the CSCI's computer hardware resource utilization, such as maximum allowable use of processor capacity, memory capacity, input/output device capacity, auxiliary storage device capacity, and communications/network equipment capacity. The requirements (stated, for example, as percentages of the capacity of each computer hardware resource) shall include the conditions, if any, under which the resource utilization is to be measured.
142
-
143
- ### 3.10.3 Computer software requirements.
144
-
145
- This paragraph shall specify the requirements, if any, regarding computer software that must be used by, or incorporated into, the CSCI. Examples include operating systems, database management systems, communications/ network software, utility software, input and equipment simulators, test software, and manufacturing software. The correct nomenclature, version, and documentation references of each such software item shall be provided.
146
-
147
- ### 3.10.4 Computer communications requirements.
148
-
149
- This paragraph shall specify the additional requirements, if any, concerning the computer communications that must be used by the CSCI. Examples include geographic locations to be linked; configuration and network topology; transmission techniques; data transfer rates; gateways; required system use times; type and volume of data to be transmitted/received; time boundaries for transmission/ reception/response; peak volumes of data; and diagnostic features.
150
-
151
- ## 3.11 Software quality factors.
152
-
153
- This paragraph shall specify the CSCI requirements, if any, concerned with software quality factors identified in the contract or derived from a higher level specification. Examples include quantitative requirements regarding CSCI functionality (the ability to perform all required functions), reliability (the ability to perform with correct, consistent results), maintainability (the ability to be easily corrected), availability (the ability to be accessed and operated when needed), flexibility (the ability to be easily adapted to changing requirements), portability (the ability to be easily modified for a new environment), reusability (the ability to be used in multiple applications), testability (the ability to be easily and thoroughly tested), usability (the ability to be easily learned and used), and other attributes.
154
-
155
- ## 3.12 Design and implementation constraints.
156
-
157
- This paragraph shall specify the requirements, if any, that constrain the design and implementation of the CSCI. These requirements may be specified by reference to appropriate commercial or military standards and specifications. Examples include requirements concerning:
158
-
159
- a. Use of a particular CSCI architecture or requirements on the architecture, such as required databases or other software units; use of standard, military, or existing components; or use of Government/acquirer-furnished property (equipment, information, or software)
160
-
161
- b. Use of particular design or implementation standards; use of particular data standards; use of a particular programming language
162
-
163
- c. Flexibility and expandability that must be provided to support anticipated areas of growth or changes in technology, threat, or mission
164
-
165
- ## 3.13 Personnel-related requirements.
166
-
167
- This paragraph shall specify the CSCI requirements, if any, included to accommodate the number, skill levels, duty cycles, training needs, or other information about the personnel who will use or support the CSCI. Examples include requirements for number of simultaneous users and for built-in help or training features. Also included shall be the human factors engineering requirements, if any, imposed on the CSCI. These requirements shall include, as applicable, considerations for the capabilities and limitations of humans; foreseeable human errors under both normal and extreme conditions; and specific areas where the effects of human error would be particularly serious. Examples include requirements for color and duration of error messages, physical placement of critical indicators or keys, and use of auditory signals.
168
-
169
- ## 3.14 Training-related requirements.
170
-
171
- This paragraph shall specify the CSCI requirements, if any, pertaining to training. Examples include training software to be included in the CSCI.
172
-
173
- ## 3.15 Logistics-related requirements.
174
-
175
- This paragraph shall specify the CSCI requirements, if any, concerned with logistics considerations. These considerations may include: system maintenance, software support, system transportation modes, supply-system requirements, impact on existing facilities, and impact on existing equipment.
176
-
177
- ## 3.16 Other requirements.
178
-
179
- This paragraph shall specify additional CSCI requirements, if any, not covered in the previous paragraphs.
180
-
181
- ## 3.17 Packaging requirements.
182
-
183
- This section shall specify the requirements, if any, for packaging, labeling, and handling the CSCI for delivery (for example, delivery on 8 track magnetic tape labelled and packaged in a certain way). Applicable military specifications and standards may be referenced if appropriate.
184
-
185
- ## 3.18 Precedence and criticality of requirements.
186
-
187
- This paragraph shall specify, if applicable, the order of precedence, criticality, or assigned weights indicating the relative importance of the requirements in this specification. Examples include identifying those requirements deemed critical to safety, to security, or to privacy for purposes of singling them out for special treatment. If all requirements have equal weight, this paragraph shall so state.
188
-
189
- # 4. Qualification provisions.
190
-
191
- This section shall define a set of qualification methods and shall specify for each requirement in Section 3 the method(s) to be used to ensure that the requirement has been met. A table may be used to present this information, or each requirement in Section 3 may be annotated with the method(s) to be used. Qualification methods may include:
192
-
193
- a. Demonstration: The operation of the CSCI, or a part of the CSCI, that relies on observable functional operation not requiring the use of instrumentation, special test equipment, or subsequent analysis.
194
-
195
- b. Test: The operation of the CSCI, or a part of the CSCI, using instrumentation or other special test equipment to collect data for later analysis.
196
-
197
- c. Analysis: The processing of accumulated data obtained from other qualification methods. Examples are reduction, interpretation, or extrapolation of test results.
198
-
199
- d. Inspection: The visual examination of CSCI code, documentation, etc.
200
-
201
- e. Special qualification methods: Any special qualification methods for the CSCI, such as special tools, techniques, procedures, facilities, and acceptance limits.
202
-
203
- # 5. Requirements traceability.
204
-
205
- This paragraph shall contain:
206
-
207
- a. Traceability from each CSCI requirement in this specification to the system (or subsystem, if applicable) requirements it addresses. (Alternatively, this traceability may be provided by annotating each requirement in Section 3.)
208
-
209
- Note: Each level of system refinement may result in requirements not directly traceable to higher-level requirements. For example, a system architectural design that creates multiple CSCIs may result in requirements about how the CSCIs will interface, even though these interfaces are not covered in system requirements. Such requirements may be traced to a general requirement such as "system implementation" or to the system design decisions that resulted in their generation.
210
-
211
- b. Traceability from each system (or subsystem, if applicable) requirement allocated to this CSCI to the CSCI requirements that address it. All system (subsystem) requirements allocated to this CSCI shall be accounted for. Those that trace to CSCI requirements contained in Interface Requirements Specifications (IRSs) shall reference those IRSs.
212
-
213
- # 6. Notes.
214
-
215
- This section shall contain any general information that aids in understanding this specification (e.g., background information, glossary, rationale). This section shall include an alphabetical listing of all acronyms, abbreviations, and their meanings as used in this document and a list of any terms and definitions needed to understand this document.
216
-
217
- # A. Appendixes.
218
-
219
- Appendixes may be used to provide information published separately for convenience in document maintenance (e.g., charts, classified data). As applicable, each appendix shall be referenced in the main body of the document where the data would normally have been provided. Appendixes may be bound as separate documents for ease in handling. Appendixes shall be lettered alphabetically (A, B, etc.).