H
H
hudrogen2017-04-05 20:19:55
Java
hudrogen, 2017-04-05 20:19:55

How to improve the skill of developing an information system architecture?

As a side product, the Java courses created a library management system.
The following classes were created in the models package:
Book - a description of a book
BookInstance - a description of a unique book (There can be many identical books in a library)
Reader - a library visitor
Booking - a class describing "renting a book by a visitor"
A Library class was created in the library package
- a Set was created in it s from Book, BookInstance, Reader, Booking s. Methods for adding a book to the library, issuing a book to a user, etc.
This architecture was proposed by the teacher.
How can one be able to build such an architecture of information systems and how can one then be convinced of the correctness of the chosen
architecture?

Answer the question

In order to leave comments, you need to log in

5 answer(s)
S
Sergey Gornostaev, 2017-04-05
@sergey-gornostaev

The main tool for
software design is the brain of a
person who is well acquainted with the principles
of design. It's not technology.

© Craig Larman
Simply put, this will only come with experience.

S
Sergey, 2017-04-06
@red-barbarian

You can get knowledge from books. Gain skills only from experience.
In particular, to make an architecture, to get a working model. Then make a change. Understand how much time and effort this change costs. Understand how the slightest change can cause a cascade throughout the program. Understand how a change in something breaks everything at the other end of the program. Read what he wrote after three months. Understand why it is important to break into modules and name them correctly.
To show others, to understand what to write is as simple as for a person with an ax.
Well, then you can read about SOLID and flexible development. About TDD. Read patterns and why they are. If you start with books, then the risk is that templates will only complicate the system.
Architecture is never right. The first goal is to work. The second was easily followed.

A
Artem Gapchenko, 2017-04-05
@artemgapchenko

Reading (Robert Martin aka Uncle Bob, Michael Feathers, Steve McConnell, Gang of Four and so on), studying other people's code and practice. The only way. You can start by studying the abbreviation SOLID (still the same Martin, the book is called "Rapid Software Development. Principles, Examples, Practice") and choose literature further, based on the footnotes in Martin.
Although, if you are at a very beginner level (which your question implies), then you would have a good office for a year and a half or two - they will instill initial ideas about good and bad, lay the foundation for good habits, and then you can already take on literature, how to learn the basics and hit your bumps.

R
Roman Sokolov, 2017-04-05
@jimquery

With examples in Java, there is also Martin Fowler's book "Architecture of Enterprise Software Applications"

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question