I am learning system design (on my own) and still I am not clear on a few things. Assume there is a simple application with a front-end and a database for storing of the data.
In the system architecture diagram, will there be only two parts (UI and DB) or should I include some UI modules for calculations, for example? And what about hardware devices that the system is using?
To give a more precise example: I have an application that is used by two types of users (one has limited access). This app uses a DB and its modules are working with an external hardware device.
I am not sure how should I start with the system diagram.
0
You can make your system diagram as simple or as complex as you like. The goal is to express your design with the maximum clarity and efficiency. If two boxes are sufficient, use that. If you need more, then use more.
As you add components to your diagram, ask yourself whether they contribute substantively to the whole. For example, even through your system will likely use a disk drive, you probably don’t need to add it to the diagram since it is so common and fundamental and not especially specific to your project. But if the hardware is unusual or a big focus of the system, then including it would probably help with the clarity of the diagram.
Alternatively, the presentation of information in a UI and its storage in a database are often very different. I suspect you might end up with a middle layer that translates between the two. Such a middle layer probably deserves to be called out in your diagram.
As a final note, things get different if your diagram is going to be part of a patent application. The PTO likes hardware-oriented designs, so including HW components might be advised. Talk to someone well versed in patent applications to be sure.
6
UML had all the things what you are looking for, whether it is an small or any business/eterprise applications.
Domain Modelling
1 Draw the eagle eye view of the system [you can do this in very simple notations like boxes to identify components and lines to represent the connection between components/modules of the system
2 Start with the very basic use case bubble diagrams
3 Show the actor/system dialogue via UML diagrams
4 Write Regular & Alternate Use cases
Static analysis of the System
- Now go with class diagram from the use cases
- If you are having difficulty , then draw a simple flowchart of the system [Flowchar is very simple yet effective way to identify the system components and its fucntionaty]
- You can then follow the Robustness Analysis to get the more clear picture of the system- to find the model,controller and the hidden classes [functionalty of the system
Dynamic analysis of the system
1.Here sequence Diagram came to rescue and help you find out the data flows between classes and the interaction between classes
-
you can also include the technical architecture of the system – and show the external hardware devices in any form whichever suited to you
-
Last and not the least – Coding & testing