/    Sign up×
Community /Pin to ProfileBookmark

How to design full stack applications using UML?

Hello!

I learned UML and took a class about system demands analysis (required and nonrequired demands)

which also teaches UML. The problem is that the teacher did not teach us the correct flow (order) which you need to go through while designing UML diagrams.

Now, having in mind full-stack development how do I design a web system?
What should I do first (of course we suppose to already know what we are going to make)
user case diagrams? Activity diagrams? Class diagrams? Also, do I need communications diagrams and
in general how many UML diagrams do I need for a full-stack design?

Also, what do I design first, front end or back end? Should I have different class diagrams for
front end (javascript) and backend (PHP)? I believe that I must split the design in two parts
with their own diagrams, one for front end and one for back end.

When it comes to requests, how can I visualize them? For example, I want to say I
have this PHP file that takes these get parameters and returns this JSON data.
It’s really bad to put this information in a class diagram because a request
behaves as a function and not as a class.

Thank you.

to post a comment
PHP

4 Comments(s)

Copy linkTweet thisAlerts:
@NogDogNov 01.2019 — Been a long time since I did anything UML-wise. When we did use them, it was generally use case diagrams first to clarify what we wanted to build, then the sequence diagrams followed by class diagrams, though there tended to be a fair amount of iteration and feedback between those two as the design was finalized.

As far as front-end and back-end, it kind of depends on how you want to build the system, i.e. whether it will be a "single-page app" on the front end making multiple API calls to the back end -- in which case you're really developing two separate apps that will interact -- or if you opt for more of a traditional MVC approach on the server side where it serves up the HTML for each page request.
Copy linkTweet thisAlerts:
@babaliarisauthorNov 01.2019 — @NogDog#1610541

Usually, in my applications, a lot of front end stuff is being defined by the back end PHP. How do today's developers doing this? Are they doing it the way you firstly mentioned? A front end application that does multiple requests to an API? This answer will help me finally understand how front end and back end developers work together.
Copy linkTweet thisAlerts:
@NogDogNov 01.2019 — Many apps are still done that way, but many teams like to use something like AngularJS (or one of several others) to do a lot of the flow control on the browser side, making API calls (often RESTful) to the server-side app, which returns JSON responses for the client to operate on. I'm not going to claim either way is better, and it may depend on the app in question -- as well as personal preferences and whether you have distinct client-side and server-side teams, and so on. But hopefully that gives you some things to google and search on youtube this weekend. :)
Copy linkTweet thisAlerts:
@babaliarisauthorNov 02.2019 — @NogDog#1610547 Yes and thank you!
×

Success!

Help @babaliaris spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 5.5,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @Yussuf4331,
tipped: article
amount: 1000 SATS,

tipper: @darkwebsites540,
tipped: article
amount: 10 SATS,

tipper: @Samric24,
tipped: article
amount: 1000 SATS,
)...