Entradas

Mostrando las entradas de octubre, 2016
Imagen
The waterfall method Waterfall  is a linear approach to software development, t his means that as each of the eight stages (conception, initiation, analysis, design, construction, testing, implementation, and maintenance) are completed, the developers move on to the next step (Base 36, 2016). Waterfall vs Agile: Benefits of the waterfall method: Once a step has been completed, developers can’t go back to a previous stage and make changes and get things done a lot faster. It relies heavily on initial requirements. However, if these requirements are faulty in any manner, the project is doomed. If a requirement error is found, or a change needs to be made, the project has to start from the beginning with all new code. The whole product is only tested at the end. If bugs are written early, but discovered late, their existence may have affected how other code was written. Additionally, the temptation to delay thorough testing is often very high, as these delays allow
Imagen
API 101 A pplication  p rogram  i nterface  ( API ) is a set of  routines ,  protocols , and tools for building  software applications . An API specifies how software components should interact and APIs are used when programming graphical user interface ( GUI ) components. A good API makes it easier to develop a  program  by providing all the building blocks. A  programmer  then puts the blocks together" (webopedia, 2016). Application Programming Interfaces   allows applications to talk to other applications. For example:  M obile devices all use APIs to connect our mobile app to Facebook. YouTube users  consume  videos using the universal embeddable video player (like Vimeo) allowing Youtube videos to be embedded on any website around the web, all driven by APIs. Sources & Links: http://www.webopedia.com/TERM/A/API.html http://rightleftcommunication.com/wp-content/uploads/2015/05/api-integration-service-5.png
Imagen
Software testing – what kinds of testing? "Software testing is a process of executing a program or application with the intent of finding the  software bugs ". In other words it can also be called as a  process of validating and verifying  that a software program or application or product: Meets the business and technical requirements that guided it’s design and development Works as expected Can be implemented with the same characteristic. Why is it necessary ? is necessary because we can make mistakes that could cause the company a lot of money or completely crash our software and affect other people using it. We need to check  everything we make because things can always go wrong. Other important reasons we need software testing: It points out the flaws in the software that were made during the development phases. It ensures the customer’s reliability and their satisfaction with the program. It ensures the quality of the product delivered to t

Software requirements elicitation and specification Functional and non functional requirements

Imagen
Software requirements elicitation and specification Functional and non functional requirements Requirements Elicitation is the process to find out the requirements for an intended software system by communicating with client, end users, system users and others who have a stake in the software system development. Requirement Elicitation Process: Why is requirement elicitation necessary? Knowing what problems to be solved and recognizing system boundaries. Identifying who are the stakeholders. Recognizing the goal of system is the target to be achieved. Software Requirement Specification is a document created by system analyst after the requirements are collected from various stakeholders. Defines how the intended software will interact with hardware, external interfaces, speed of operation.   The functional requirement is  describing the behavior of the system  as it relates to the system's functionality. F unctional requirements are the mai
Imagen
What is software architecture?   " Software architecture is the defining and structuring of a solution that meets technical and operational requirements. Software architecture optimizes attributes involving a series of decisions, such as security, performance and manageability. These decisions ultimately impact application quality, maintenance, performance and overall success " (Technopedia, 2016). ¿Why is it important?  Because software must be built on a solid foundation. Failing to consider key scenarios, failing to design for common problems, or failing to appreciate the long term consequences of key decisions can put your application at risk. As explained by the image above s ystems should be designed with consideration for the user, the system, and the business goals.   Architecture focuses on how the major elements and components within an application are used by, or interact with, other major elements and components within the application.
Software design patterns "A  design pattern  is a general repeatable solution to a commonly occurring problem in software design. A design pattern isn't a finished design that can be transformed directly into code. It is a description or template for how to solve a problem that can be used in many different situations"(Source making, 2016). The concept of software design originated in 1994 with the Gang of four (GOF)  which is a group of authors:  Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides, who wrote a book called  Design Patterns - Elements of Reusable Object-Oriented Software which originated the concept. What are the uses of design patterns? They are two main uses: They provide a standard terminology and are specific to particular scenario. Learning these patterns helps unexperienced developers to learn software design in an easy and faster way. What are the types of design patterns? There are 23 design patterns which c
Imagen
What is software design? Moraru, S. (2016).  Question the software design – Part 5 – Big project   [Ilustración]. Recuperado de  http://mozaicworks.com/blog/question-software-design-part-5-big-projects/ "Software design is the process of defining software methods, functions, objects, and the overall structure and interaction of your code so that the resulting functionality will satisfy your users requirements" (UCAR, 2016). So software design is a break down of the architecture of your program, which should include databases, frameworks and hardware that your program will use or interact with. You should also include API's that your code has or that your code calls, because once it's used it is very difficult to change it without breaking other people's code. They're actual flaws that programmers make when they're trying to design software: Writing code that isn't needed: It's not about whether you're going to need it in th
Imagen
Open Source Software "Open source software is software with source code that anyone can inspect, modify, and enhance" (Open source, 2016). So what exactly is source code, which is the key word to understand this definition. Source code is the part of software that computer users don't see, but it's the piece of code that programmers can control how a program works. To sum it up: OSS (open source software) alludes to software that is manipulated and distributed through communal collaboration, to make sure that in the future it'll still be an open collaboration. Why should OSS matter to users and not only programmers?, because OSS  licenses give users freedoms they would not otherwise have. Benefits : A self-evident advantage of OSS is it can be had for free. OSS is also more flexible, in the way that you can modify the program to fit your user needs and expectations. For example changing the interface of an operating system to fit your convention whe
Imagen
UML diagram UML stands for Unified Modeling Language. UML is a way of visualizing a software program using a collection of diagrams.  Today, UML is accepted by the  Object Management Group (OMG)  as the standard for modeling software development. Types of UML diagrams The current UML standards call for 13 different types of diagrams: class, activity, object, use case, sequence, package, state, component, communication, composite structure, interaction overview, timing, and deployment. These diagrams are organized into two distinct groups: structural diagrams and behavioral or interaction diagrams. Structural UML diagrams Class diagram Package diagram Object diagram Component diagram Composite structure diagram Deployment diagram Behavioral UML diagrams Activity diagram Sequence diagram Use case diagram State diagram Communication diagram Interaction overview diagram Timing diagram Th most used and important UML diagrams are (: Sequence Diagram Seque