What is the difference between architecture and software engineering?

34
  • Software architecture
  • Software engineering

Apparently these two concepts are related, but what's the difference between them?

    
asked by anonymous 15.07.2014 / 13:04

2 answers

46

Have you ever heard that Software Architecture is a concept used by Software Engineering?

Well, that's basically it, Software Architecture is nothing more than a concept used by software to encompass definitions of software components, external properties, and their relationships with other softwares .

What is software architecture ?

  

The software architecture consists of defining software components, their external properties, and their relationships to other software. The term also refers to the documentation of the software architecture of the system. Software documentation facilitates: communication between stakeholders, records initial decisions about high-level design, and allows design reuse of components and standards between projects.

Where does the concept come from?

  

The role of "Software Architect" as employed today in the software industry is another bad legacy of comparing software development.

and construction. In this last one, the architect does the project but, in general, does not dirty the hands in the cement.

An interesting fact is that only large companies with loose budgets (often wasting time and money with nonsense and dead ends) often offer the role of software architect. They usually stay in architectural teams, away from teams who "dirty" their hands in code on a day to day basis. This, in and of itself, creates the "Ivory Towers" and a certain latent animosity between the different teams - which should work together every day.

It does not make sense (and is not efficient) to have separate architecture teams with no direct and constant contact with the development teams. It also does not make sense to employ software architects who only plan and do not participate in daily execution.

Using the already beaten metaphor of developing software like gardening it is easy to realize that we are far from the process used, for example, in the construction industry or in the automotive industry. It is not possible to design all the software in advance, such as a building or a car, to buy the raw material, to hire the workers and to implement it practically without deviations. The project is software and the software is the project.

What is software engineering ?

  

Software engineering is an area of computing focused on the specification, development and maintenance of software systems, with application of technologies and practices of project management and other disciplines , aiming at organization, productivity and quality

Friedrich Ludwig Bauer was the first to say:

  "Software Engineering" is the creation and use of solid engineering principles in order to obtain software in a cost-effective way, that is reliable and works on real machines. "

The very meaning of engineering already brings the concepts of creation, construction, analysis, development and maintenance.

The term was created in the 1960s and was officially used in 1968 at the NATO Science Committee . Its creation came in an attempt to circumvent the software crisis and give an engineering (more systematic and controlled) treatment to the development of complex software systems. A complex software system is characterized by a set of abstract software components (data structures and algorithms) encapsulated in the form of procedures, functions, modules, objects, or agents. interconnected with each other, composing the architecture of software , which should be executed in computational systems.

Sources: Wikipedia , Wikipedia 2 / a>, Keep Learning , Forum Outer Space

    
15.07.2014 / 13:38
12

Software Architecture

When it comes to Software Architecture , it says about what technologies and software modeling.

The role of the architect in a development team (yes, there are architects who also .

Therefore

Architects are those who model and design the system, and engineers are the ones who control the process to completion.

    
15.07.2014 / 15:14