Testing our programs…

What is software testing?no-surprises

Software testing is the process of executing an application or program with the intent of
finding software bugs. It also can be used to see if the intentions of the software were made; validate or verify that the program works as expected. NO SURPRISES!

Continue reading “Testing our programs…”

We love Open Source!

Every single software developer talks about Open Source Software. They say, I love Open Source, Have you changed that program?, I’m installing Linux! But what the hell is Open Source?! Sometimes things are hard to explain and life is better with LEGOs, so here is an explanation of what open source is…

Continue reading “We love Open Source!”

Understanding Software Architecture

Software Architecture is the representation of the program that helps to understand how the software will behave. It serves as a guide for the design and the implementation teams. And is the first line of the system’s quality, such as performance, modifiability, and security. None of these could be done without an architectural vision.

Continue reading “Understanding Software Architecture”

UML: The best diagrams

The main purpose of UML is to provide the developer community a common way to design the base of an application. The primary authors were Jim Rumbaugh, Ivar Jacobson, and Grady Booch; which have originally their own methods, but they joined forces to create a better one.

1. Class Diagram

2. Activity Diagram

These diagrams represent the workflow of the process that needs to be described. In other words, it describes the process or actions between two or more classes. The flow starts with a circle and then continues with the actions that are inside rectangles. There are also conditionals represented by a diamond.

c2eme

3. Deployment Diagram

4. Sequence Diagram

Is there a cycle for a Software Engineer?

Life + Software = …

Life has a cycle, and even the software that we do has a cycle (More of it here). So why not combining both. I mean, programmers, specially Software Engineers should have one too.

Looser…

It is well-known that programmers have a hard life. Maybe because we are so intelligent that nobody loves us, or because that’s life.

This is just a stereotype. Programmers have a life behind all their programs, and sometimes they are more interesting than what they appear.

So the next time you see one, please don’t call him/her a nerd (unless he/she wants it) because behind that nerd there is a real life and someone who could be your next partner in life.

Wait!! More about Software Development?

There’s more…

There are Software Development Processes that help to plan and manage better the software-development-bannersoftware that is going to be developed. Usually, industries use them to develop and
maintain an application. Each process has its own methodology; and each new process
pretends to be better than the old ones.

The most famous processes are:

  • Waterfall
  • Prototyping
  • Incremental
  • Spiral
  • Agile

Agile vs Waterfall

There are big differences between these methodologies, but at the end developers use both daily. Usually there’s no preference for one or another, you just do what you have to do…

At the end…

We end up with a piece of software that give us some kind of satisfaction when we use it. That is what software has become, a part of our lives that days before wasn’t even planned like that. People change, technology change and we keep updating our world just to improve our lifestyle.

 

Resources:

https://www.versionone.com/agile-101/

http://www.tutorialspoint.com/sdlc/sdlc_overview.htm

https://www.vikingcodeschool.com/software-engineering-basics/a-brief-history-of-software-engineering

 

There’s a cycle for Software too…!!!

I don’t know why everything in this life has a cycle, but anyway, I will talk about another cycle in this blog. The Software Development Life Cycle! 🤘🏻🤘🏻🤘🏻

sdlc_stagesThis cycle is used in the software industry to develop high quality products and at the same time satisfy the client. Basically it consists on planing ahead everything, so the work could be done easily.
The basic steps are:

  • Planning: it shows only the technical approaches of the future program.
  • Defining: this process meant to document every requirement.
  • Designing: as the name said, it’s to design the architecture of the software.
  • Building: here is where the developement starts, by starting to build the software.
  • Testing: by testing the software, you will have an answer and opinions of it.
  • Deployment: finally you deliver the product and maintain it.

 

Want to know more about software development? CLICK HERE

 

Resources:

http://www.tutorialspoint.com/sdlc/sdlc_overview.htm

https://www-01.ibm.com/software/support/lifecycle/

SCM – Who?

Who?

Actually there’s no who. Configuration Management started as method to improve the processes of hardware development. But then the industry of Software took it and began to use it for good. On hardware was used as a method to prevent errors and confusion between different versions of the artifact. The converted method to software applied the same, programs are the artifacts and developers don’t get confused with different versions of it.

software_or_hardware

Want to see when this happened? Click Here

A don’t want to be “Agile”!!

Not every process is perfect. They can also have some imperfections, and Agile is one of them. Even when it is very useful there are some disadvantages that don’t give the perfection to this method.

Here’s a list of some disadvantages:

  • Active User Involvement: agile needs the opinion of the user, and this depends totally on availability of time. Also the user needs to have commitment with the dedo-abajoproject.
  • New requirements: continuous changes to the software may result on infinite projects, also the price can be harder to calculate.
  • Constant testing: this requires people who should test the software constantly, that leads to spending a lot of money.
  • 100% functional: Every finished program should be like that, this causes that the developers end up really tired.

If you love Agile development, maybe you are totally against this Post. That’s why we have another post with more information about Agile HERE

Team:

Victor Najar & Carmina Pérez

 

Resources:

http://www.allaboutagile.com/disadvantages-of-agile-development/