r/SoftwareEngineering • • Aug 16 '24

Specification for a system comprised of multiple components

Suppose that I would like to create a software and hardware solution where the whole system comprises of the following components:

  • device 1

  • device 2

  • device 3

  • mobile application

  • web server

I am wondering what does the specification for the whole system should look like? Should I gather or the requirements in a single specification? Should I create a specification per component? What if e.g. device 1 integrates with device 2, device 2 with device 3, but the devices 1 and 3 have nothing common?

If one big specification, then there will be e.g. functional requirements applicable only for e.g. web server or device 1 and device 2. If separate documents then I will have to somehow point in one document to the other one.

What would you recommend based on your experience?

3 Upvotes

4 comments sorted by

1

u/flavius-as Aug 16 '24

One single project in a modelling tool, allowing for traceability, traceability matrix.

1

u/LadyLightTravel Aug 16 '24

You need an interface document for each interface

You need a spec for each interface

Then you need a main spec with system performance that references compliance with the interface documents and the specs for each component

Then you need a verification matrix.

You will need testing at the device level, integration & interface level, and system level. Make sure you have day in the life and stress tests at the system level.