Getting started with software engineering

Solomon Eseme
Backend Developers
Published in
3 min readJun 18, 2019

--

Almost every career in life has different patterns, structures, architectures and principles

Originally published at https://codelikemad.com.ng on June 18, 2019.

Almost every career in life has different patterns, structures, architectures and principles, Software engineering or development is not exempted.

In this article we going over the different software engineering and development architectures, patterns and principles.

We will be discussing extensively on the below topics, when to use it, how to use it and where in your software projects to apply them.

Before delving into the different terms, let’s clear the air by stating and differentiating between each of them.

  1. Software Engineering Architecture
  2. Software Development Methodology
  3. Software Design Patterns
  4. Software Development Principles
  5. Software Programming Paradigms

We are going to try to clear out all the confusions between these concepts and terminologies in software development and engineering.

SOFTWARE ARCHITECTURE

This refers to the fundamental structures of a software system and the discipline of creating such structures and systems. Each structure comprises software elements, relations among them and properties of both elements and relations. Wikipedia

Like we have seen from the definition, Software architecture describe the structure of your project, its shows how your project should be structured.

Software architecture is about making fundamental structural choices which are costly to change once implemented.

Software architecture gives birth to architectural patterns which is a general, reusable solution to a commonly occurring problem in the software architecture within a given context.

Also, architectural styles are reusable ‘packages’ of design decisions and constraints that are applied to an architecture to induce chosen desirable qualities. Wikipedia.

There are many recognized architectural patterns and styles, among them:

  1. Model — View — Controllers
  2. Presentation — abstraction — control
  3. Model — view — presenter
  4. Model — view — viewModel
  5. Micro-services architecture
  6. Monolithic Architecture
  7. Event — driven architecture
  8. Representational State Transfer architecture
  9. Service — oriented architecture
  10. Component-based architecture
  11. Client — server architecture
  12. Layered or Multi-layered architecture
  13. Blackboard system architecture
  14. Broker architectural Patterns
  15. Implicit invocation architecture
  16. Entity — component — system architecture
  17. Naked Objects architecture
  18. Operational data store (ODS)
  19. Peer — to — peer architecture
  20. Rule — based architecture
  21. Shared nothing architecture
  22. Pipes and Filter architecture
  23. Space — based architecture

Among the list of architectures listed above, there are popular ones among each other and others which are mostly and still used in today’s software development processes. We are going to listed and explain from the most popular ones down to the least one.

I will be dropping articles and videos tutorials on each of the topics listed above and also demonstrates how to connect the dots in software development and engineering. Follow our blog to get updates when ready.

Conclusions

There are lots you could learn from the above listed as a back-end developer, i decided to clear the confusions between this terminologies, this is based on my personal opinion and will be very glad to hear from you.

Thank you for reading my article.

Here at my blog or medium I regularly write about backend development, digital marketing and content management system. To read my future posts simply join my publication or click ‘Follow’ Also feel free to connect with me via Twitter, Facebook, Instagram.

If you are interested in backend development (or you’re internet enthusiast) both (Mobile | Web | Desktop) videos subscribe to my Youtube channel, we will be posting a collection of help full tutorials and guides like this one for artisans.

If you enjoy this post, make sure to let us know and share it with your friends and subscribe to my growing channel.

Sharing is caring.

Originally published at https://codelikemad.com.ng on June 18, 2019.

--

--

Solomon Eseme
Backend Developers

A Software Engineer who’s geared towards building high performing and innovative products. I help you become a great Backend Engineer @ masteringbackend.com