The Greatest Challenges Facing Software Engineering in the Next 20 Years

Software Engineering is a very important field of study regarding software development since the beginning of modern computing and the rise of software complexity. If you consider that to achieve a deliverable software component you may need to understand more than just bits and bytes, moreover, for software to be successful in the piece ofContinue reading “The Greatest Challenges Facing Software Engineering in the Next 20 Years”

Real Time Systems

INTRODUCTION A RTS or “Real Time System” is an information processing system which responds to external command inputs, and delivers information in a reliable expected time (Petters, 2008). It is very common to be embedded systems running inside cars, electronic devices, airplanes and cell phones, for instance. REQUIREMENTS IN REAL-TIME SYSTEMS One of the mostContinue reading “Real Time Systems”

The Service Oriented Architecture

INTRODUCTION The objective of this discussion is to introduce SOA, to provide a view of how software can be integrated and developed in such manner to allow software solutions to be interconnected, the problems of this approach, a suggestion of solutions and at the end a conclusion. SOA – THE SERVICE ORIENTED ARCHITECTURE The SOAContinue reading “The Service Oriented Architecture”

Software Reuse

INTRODUCTION In computer software development, it is not common that a project will be completed developed since the beginning, with its developers writing every line of code and coming up with this complete solution. Since the first modern programming language, there is the possibility of importing and including code from other developers, something very commonContinue reading “Software Reuse”

The Negative Impacts Caused by Software Projects Risk

INTRODUCTION Project planning is an essential task in software development projects. According to Sommerville (2007), good management cannot guarantee the success of a software project, but bad management usually reflects in the failure of the projects. In the software project management Risk Analysis is a key subject to be included in the project plan. AsContinue reading “The Negative Impacts Caused by Software Projects Risk”

The Logical View in Software Architecture

INTRODUCTION The 4+1 view model was designed to describe the system in different views, for different stakeholders, being separated in ‘logical’, ‘development’, ‘process’ and ‘physical’ views, which helps in graphically representing and describing the architectural solution designed (Kruchten, 1995). The idea of the 4+1 view model was to come up with a representational graphical mannerContinue reading “The Logical View in Software Architecture”

Socio-technical Systems in a Nutshell

INTRODUCTION TO SOCIO-TECHNICAL SYSTEMS A system can be defined as a collection of components working together to achieve a common objective (Sommerville, 2013). People as well interact with technology in order to achieve some goal in organizations bringing up the concept of socio-technical systems, which is basically technological resources which help people to interact themselvesContinue reading “Socio-technical Systems in a Nutshell”

The Advantages and Disadvantages of Using Agile Methods

The agile culture in the software engineering science started with the Agile Manifesto (Cunningham et al., 2001), written in 2001 by seventeen visionaries in which where working to find new ways of developing better software, which where also brought some principles commented based on my point of view and listed in the enumeration below: IndividualsContinue reading “The Advantages and Disadvantages of Using Agile Methods”

Bill Gates Letter to Hobbyists

Today I am here to share with you something very interesting about what happened in the ’70s when the code was shared by hobbyists which used to develop software in the universities. I just knew this after watching the movie Revolution OS (which is very nice indeed), and the purpose of this post is toContinue reading “Bill Gates Letter to Hobbyists”

Deadlock from Multithreading

INTRODUCTION The objective of this small article is to give an introduction about threads, deadlocks and how a deadlock may occur illustrated with code using the Java programming language. In the end, I give my personal point of view about the subject. MULTITHREADING A thread can be defined simply by “a separated computation process” thatContinue reading “Deadlock from Multithreading”