Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Profile operations, merge current discussion state as of 24-09-27 #890

Merged
merged 2 commits into from
Sep 27, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 34 additions & 20 deletions model/Operations/Operations-classes-draft.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# Classes draft
## main draft
```mermaid
---
title: SPDX Operations Profile
Expand All @@ -11,11 +13,12 @@ classDiagram
Agent <|-- Person
Agent <|-- Country
Relationship <|-- OperationsAssessmentRelationship
Relationship <|-- Delivery
OperationsAssessmentRelationship <|-- ExportControlAssessmentRelationship
OperationsAssessmentRelationship <|-- ObligationsAssessmentRelationship
OperationsAssessmentRelationship <|-- ApplicationFactsAssessmentRelationship
OperationsAssessmentRelationship <|-- DeliverableFactsAssessmentRelationship
OperationsAssessmentRelationship <|-- SupplierDeliverableFactsAssessmentRelationship
Delivery <|-- ApplicationFacts
Delivery <|-- DeliverableFacts
Delivery <|-- SupplierDeliverableFacts

note for Organization "ID \naddress \nwebsite"
note for OperationsAssessmentRelationship "Inspired by VulnAssessmentRelationship"
Expand Down Expand Up @@ -54,6 +57,9 @@ namespace OperationsClasses {
+ publishedTime: DateTime[0..1]
+ modifiedTime: DateTime[0..1]
+ withdrawnTime: DateTime[0..1]
}
class Delivery {

}
class ExportControlAssessmentRelationship{
+ notRequired: Boolean[1]
Expand All @@ -68,28 +74,28 @@ namespace OperationsClasses {
+ Obligation: String [0..n]
}

class ApplicationFactsAssessmentRelationship{
class ApplicationFacts{
+ productOwner: Person[0..1]
+ documentationLink
+ productAccessURL
+ documentationLink: security/locator[0..n]
+ productAccessURL: security/locator[0..n]
+ applicationFactsComment: comment[0..n]
+ distributionTarget
+ distributedDeliverables
+ technicalDeployment
+ contact
+ contact: Agent [1]
+ scope
+ relationType
+ supplyChainContext
+ supplyChainContext: String[1]
+ releaseCycles
+ fossComplianceBundleProvision
+ contractSetup
+ fossTermsTowardsCustomer
+ distributionTermsTowardsCustomer
+ customerFossContact: Person[0..n]
}
class DeliverableFactsAssessmentRelationship{
class DeliverableFacts{
+ swLanguage
+ dependencyManager
+ dependencyManager: Agent[1]
+ packageManager
+ environmentFramework
+ applicationCategory
Expand All @@ -104,16 +110,20 @@ namespace OperationsClasses {
+ deliverableReview: QandA[0..n]
+ deliverabelComment: comment[0..n]
}
class SupplierDeliverableFactsAssessmentRelationship{
class SupplierDeliverableFacts{
+ supplierName
+ deliverableFromSupplier
+ fossTermsTowardsSupplier
+ distributionTermsFromSupplier
+ fossComplianceBundleConsumption
+ supplierFossContact
+ ?supplierFossContact: Person[1]
+ supplierDeliverableFactsComment: comment[0..n]
}
}
```
## nonElementClasses
```mermaid
classDiagram
namespace OperationsNonElementClasses {
class QandA{
+ question: String[0..1]
Expand All @@ -131,11 +141,15 @@ namespace OperationsNonElementClasses {
+ includesArtificialIntelligence: Boolean
}
}
namespace Enumerations {
class CountryCode{
<<Enumeration>>
}
class classificationSystem{
<<Enumeration>>
}
}

```
## Enumerations
- CountryCode
- Enumeration, external provider (official country code)
- classificationSystem
- Enumeration, possibly external provider

# Notes
- remove 'supplierFossContact' from 'SupplierDeliverableFacts'?
- this is probably better tracked in CRM and linked to 'Agent' class supplier information
- 'Delivery' as its own relationship rather than part of an assessment?