Blogs

Thursday, 08 September 2016 10:21

Hardcoding Vs. Softcoding

Written by

 

Are you torn in between hardcoding and softcoding? Well, in the plethora of codes, you may have probably asked how hardcoding differs from softcoding? Are they one and the same? Is hardcoding really hard? When should I use such?

Apparently, these are just some of the normal questions that a person may have. Don’t worry we are actually on the same page, come and let’s unfold what each concept means!

What is Hardcoding?

According to John Spacey (2016), hardcoding is defined as a practice of embedding things in code or the placement of values and functions in a code. This is usually avoided by programmers because it entails the use of complex programming techniques. System maintenance is also on the hard side.  This is also the reason why hardcoding is normally performed by programmers only. 

What is Softcoding?

On the other hand, softcoding is known as the placement of values and functions to configure or modify the codes. This is preferred by business operations because even the users can change the functionalities of a software even without the presence of the programmer. (Spacey, 2016) In this type of coding, users are allowed to customize the software according to their needs.  It gets the information externally from the outside.

How to differentiate hardcoding from softcoding?

On a more technical level, an entity may contain both codes either through hardcoding of softcoding. According to Michael Blaha in his book entitled Patterns of Data Modelling the two concepts are very different from each other as listed in the table below. If you are a programmer this might not be new to you.

 

Table 1: Hardcoding Vs. Softcoding (Blaha,2015)

                                  System values (hardcoded)           Other values (softcoded)

 

        Hardcoding

              Softcoding

Certainty

Hardcode attributes that are certain

Softcode attributes that are uncertain or may be added during or after development.

Indexing

Limited to at most one value

for an entity- attribute combination

Permits multiple values for an entity attribute combination

Multivalues

Awkward to record

Straightforward to record

Value meta

data

Name, timestamp

Descriptive data

 

 What should I use?

          If you are still puzzled on what to use, you can start by thinking about… What will work best for you as a programmer or as a user? Actually, it will solely depend on your approach, requirements and the structure of the system that you’ll be creating.

You can just say that the easy way out would be softcoding especially if you want to customize everything for your users.  If you find it challenging to do coding deep down the source, hardcoding may be the best choice for you! It may be tedious but if you’ll count on your expertise the outcome might be fruitful for you.

Just remember that no matter how you enjoy each one. There are also instances that you need to use both. This is also the reason why even novice programmers are entitled to know both types of coding.

At the end of the day, there would be no harm in learning both, right? Who knows? This might come in handy in the future!

 

 

References:

Spacey,John. Simplicable Online Website Article (September 5,2016).Hardcoding VS. Softcoding Retrieved from http://simplicable.com/new/hardcoding-vs-softcoding

Table 1.Hardcoding Vs. Softcoding. Adapted from “Patterns of Data Modeling ” by Michael Blaha, 2010, Copyright 2015 by Taylor & Francis Group CRC Press Retrieved from  Google Books Link: https://books.google.com.ph/books?id=s_IbDAAAQBAJ&pg=SA13-PA9&lpg=SA13PA9&dq=table+hardcoding+vs.+softcoding&source=bl&ots=c9o3BH7bq0&sig=fZKTqE3kWdOcoFfMTRvEFQrtmlE&hl=ceb&sa=X&ved=0ahUKEwiVqLXBxffOAhVgFMAKHfpCAosQ6AEIUjAG#v=onepage&q=table%20hardcoding%20vs.%20softcoding&f=false

Image Source: www.freepik.com

Monday, 05 September 2016 11:01

Software-as-a-Service (SaaS) 101

Written by

                            

               

             Do you love to use different kinds of software that you do not store (or partially store) in your device, whether it be paid or on a free basis?  Chances are you may have used a Software-as-a-Service or SaaS.

Before, we always perceive software as a “product” or something that we can buy in the form of a CD and install in our computers. But now, with the concept of SaaS, it is also considered as a service or subscribed software.

Apparently, this is very different from our normal notion looking at software as a product that we normally purchase. Do you still remember the days when you asked your mom to buy you a CD of Sims? Maybe, a CD of Encarta Encyclopedia or Jumpstart which you happily installed on your computer?

Indeed, with the emergence of the Internet, things have really changed. We can now even watch and stream our favorite movies online or listen to our music playlist online. We don’t really need to buy a CD just to have that software. If you want, you can still do it but if you know about the idea of free download or even SaaS, I bet you’ll think twice!

What is SaaS?

SaaS is also known as an “on-demand software” or a a delivery model for software usage. SaaS is defined as “a software distribution model in which a third-party provider hosts applications and makes them available to customers over the Internet. SaaS is one of three main categories of cloud computing, alongside infrastructure as a service (IaaS) and platform as a service (PaaS).” (Techtarget, 2016) The idea is that users can access software applications over the Internet. Yes, even the apps or games in Facebook, Google, Yahoo are considered as forms of SaaS. Other examples of SaaS are Salesforce, Evernote, Dropbox, Microsoft OneDrive and even some variants of Microsoft Office 365.

This is also commonly used by a lot of companies and institutions especially if they need a particular software, application or hosting online. SaaS works with the idea of “renting” or “subscribing” rather than purchasing. Are you familiar with companies online who are offering an Accounting software, Payroll Management System or hosting for a specific period of time with a certain amount of money? That’s exactly an example of SaaS. Sometimes companies are required to pay on a monthly basis and they can just upgrade the version for an additional cost if they wanted to. More likely, the files are saved via the cloud so they can access it with the use of the Internet.

What are the benefits of using SaaS?

  • Justifiable & Flexible Price

Using SaaS can give you the option to subscribe and run an application for a specific period of time. This means that the payment terms are also flexible because you have the option to use it for 2-3 months or more. You can extend it or not so there’s really no harm in trying it. In this way, you will not waste so much money just in case you didn’t like the application or if it is not efficient for your business operations. It’s like just paying for the service that you actually use. There are no hardware costs or initial costs as well. If you want to stop using the software, you just need to stop the subscription and you are done.

  • Compatibility Wise

SaaS is very flexible in terms of the devices where the applications run. Since it works via the Internet, all applications can be accessed through different devices. You can use mobile phones, tablets or an Ipad so it is much easier to use SaaS than buying a CD at the mall and installing it on your laptop. A CD is just compatible to your laptop and specific operating systems and not on your other devices.

  • Upgraded Versions & Customization

One amazing thing about using SaaS is that you can upgrade it anytime for an additional cost as well. Aside from purchasing a CD most of the applications are limited to the version that you purchased. If you want another, you have to buy again. But with SaaS as long as you subscribed with the current version, you can just pay an additional cost to improve it or add other plug ins. Some companies are offering custom-fit solutions so they can adjust the app to suit your needs. Other companies are giving free updates as well.

  • Accessible Any Time & Anywhere Via the Internet

Since most of the data are stored via the cloud, most of the applications as SaaS can be accessed at any location and time as long as there is an Internet connection. This is far different from other software which can just run with a CD or where you have installed it. But in the event that you forgot it, you don’t have the means to access your files.

  • Easy to Use, No Complexities

Most of the people today are tech savvy. In just a snap it feels like they have digital cells in their body. Thus, all the more they want to access things instantly. This is the reason why SaaS is a trend because the applications are easy to use. Just point and click. Using SaaS can minimize hardware and software management issues

These are just some of the few benefits of using SaaS. I might not be surprised if you can even think of a barrel of reasons why you love SaaS or why you want to try it.

In the end, there’s more to unfold behind this concept and what matters most is how it can actually make lives easier. We don’t know what lies ahead so in the future SaaS or another might be the next big thing!

 

References:

Tech Target Online Website.(September 5,3026). Software as a Service Retrieved from: http://searchcloudcomputing.techtarget.com/definition/Software-as-a-Service

Interoute Online Website. (September 5,2016) Software as a Service Retrived from: http://www.interoute.com/what-saas

Image Source: http://www.freepik.com/free-photo/hands-with-application-icons_928590.htm#term=cloud computing&page=1&position=3

 

                     

Thursday, 01 September 2016 12:04

The Characteristics of a Good Systems Analyst

Written by

              

              As you come across this page, it is either you are already a systems analyst and you just want to improve your craft or you are aspiring to be one in future! Whatever your reasons are, let us just say that you are an amazing individual who are curious to learn what a systems analyst does. Don’t worry you are on the right track fella!

Well, what is so special about being a systems analyst? On the international level, being a systems analyst is in demand nowadays. Indeed, this is not surprising knowing that it got the 8th spot as one of “The Best Jobs of 2016” as published by CareerCast.com an online career search website and Forbes as well.

According to the same list, a computer systems analyst has a 21% growth outlook meaning it is promising when it comes to career development. Thus, given a globally competitive setting, being just a business analyst is not enough, you also have to be good at it! As cliché as it may sound, if you want to be excellent at something, you should start from yourself. Sometimes, it’s all about having the right attitude and the right characteristics.

The Role of a Systems Analyst

System Analysis is known as a process wherein the goals and strategies of a system is analyzed and planned. All the information needed and the design should support the goals and the purpose why the system is created. Obviously, this is where the Systems Analyst will come into play. This role is very crucial for he or she serves as the IT or business professional who will use analysis and design techniques to solve certain problems by using technological solutions and approaches. 

The Characteristics of a Good Systems Analyst

  • A good systems analyst has the technical knowledge and skills

                   In order to be good at something, the first step is to know more about the field that you are interested in. Most likely, this will come naturally especially if this is your passion. You will just be surprised that you are very eager and excited to learn more about that field. Thus, this goes the same in being a good systems analyst. You need to learn a lot of information and skills either by studying, observing or through your own experience. It would also be great if you are familiar with the programming languages and databases used by the developers. Just get it on and never stop to learn!

  • A good systems analyst is a problem-solver

                  A larger part of being a systems analyst is to investigate and figure out things. Yes, with the use of technical knowledge and skills he or she must be able to know and identify what are the problems within the system and how to solve it by using information and technology. This is why a systems analyst should always think logically and use certain problem solving mechanisms. Sharpen your skills just like when you try to solve that mind-boggling puzzle when you were a kid.

  • A good systems analyst can communicate and listen effectively.

                         Communication and listening in this job is very important. Expect that you will coordinate with the members of the team and even with the users, stakeholders and decision makers of a business or organization. Being able to communicate well can help you in gathering information. Remember that, it is important to know the needs, the problems, the requirements etc. Thus, listening more than talking is also needed sometimes. In this way, you can be able to have a clear grasp on how you are going to solve the issues. There are also times when you will be asked to explain the process and how to use the system. Thus, there’s no harm in enhancing your communication skills.

  • A good systems analyst is patient and practical

                          Analyzing systems functionalities as well as information provided by users are difficult. You have to devote more time and painstakingly undergo certain technical issues. Sometimes, searching for the solution and what approach to use is much more nerve-racking on your part. Thus, if you want to be good at this craft you should be more patient to learn and understand things. It is also suggested that you will be practical in making decisions. Don’t be too hard on yourself, patience is a virtue.

  • A good systems analyst must also have some project management skills

                           More likely being a systems analyst will also require project management skills. In some companies you are also tasked to lead the team, solve the problem in a system, manage the cost and fix the schedule and timeline for production. This is actually a good avenue to unleash your potentials and skills so why not give it a try? This is a good training ground for bigger responsibilities in the future.

  • A good systems analyst is understanding and creative

                             In creating and designing a system, it is important that you    understand the needs and problems of the client. Knowing what purpose will it serve will help you in designing the system. From that, you can now think of the most creative and feasible approach or design to address the problem. You can also make it more user-friendly for the users.

Actually, these are just some of the important characteristics of a good systems analyst. Who knows? By using your own experience, you might be able to discover and name other characteristics needed to improve yourself.

Unravel it on your own and in the future, you might be able to answer what it really takes to be a good systems analyst!

References:

Image Source: Freepik.com or http://www.freepik.com/free-vector/business-brainstorming-concept_767019.htm

CareerCast Online Website (August 31,2016). System Analyst Retrieved from http://www.careercast.com/slide/best-jobs-2016-8-computer-systems-analyst

Online Blog-Characteristics of a System Analyst (August 31,2016). System Analyst Retrieved from http://misallabouts.blogspot.com/2009/12/characteristics-of-systems-analyst.html

Characteristics of a System Analyst (August 31,2016) http://www.breakingnewsroll.com/2013/02/24/attributes-of-a-good-system-analyst

Tuesday, 30 August 2016 10:06

What is a test-environment?

Written by

 

                 According to the World Quality Report (Testing and Quality Assurance Trends and Recommendations, 2015-2016), the impact of IT quality on end-user experience is a primary motivating force to conduct initiatives for digital transformation. Undeniably, with the onset of the Internet of Things, Cloud, business analytics, mobile applications etc., business operations and organizations are more into the use of “testing” as a mechanism to gain remarkable insights when it comes to assurance level and customer satisfaction.

Currently, companies are investing time and money to conduct QA and testing with the goal of delivering a seamless customer experience for the end-users. By 2018, it was predicted that there will be a 40% increase in the proportion of IT budget allocated for testing. Thus, this is a reflection that testing is a matter of importance. Furthermore, it is also deemed necessary to know what are the elements encapsulating this process.

When it comes to testing, one of the most sought after concept is the test-environment. But what does it actually mean?

Knowing what is a test-environment Is

According to Jaideep Khanduja (2008),“a test-environment is defined as a setup of software and hardware where the team is going to perform the simulation or testing of a newly built application or program. This includes the physical setup which consists of the hardware and logical setup which includes the Server Operating System, client operating system, database server, front end running environment, browser (if web application), IIS (version on server side) or any other software components required to run this software product. This testing setup is to be built on both the ends – i.e. the server and client.”

Generally speaking, the test-environment consists of elements that can support the test execution with the configuration of the software, hardware and the network. The overall test-environment setup must copy the actual production environment to uncover issues in need of revision or improvement. (TutorialsPoint,2016).

Understanding the Basics of Software Testing

Before you can design the test-environment there are five essential points to consider when it comes to software testing as suggested by David Brown, Six Sigma Website (2016). First is the test strategy, this tells you what type of testing are you going to use which will be best in probing the software. Technically, a strategy that will be best at finding the issues or loop holes within the system. Second is known as the testing plan this is the framework of the actual testing tasks that the team need to execute the strategy.

Third is the test case, this is very important for it consists of the detailed examples to be used to verify if the software meets its requirements. Fourth is the test data or the database or information that you will use to carry out the test case. Lastly of course is the test-environment which will mimic the actual production process.(Brown, 2016)

Identifying Some Software Testing Types

If you plan to test a custom application or program, it is important to identify what type of software testing are you going to use. Each type is different from the other, depending on what purpose it will serve.

Some of the popular ones are the following: (Software Testing Help, 2016)

  • Black box testing- This is the type of testing that is solely based on the requirements and functionality. It doesn’t put prior on the internal system design.
  • White box testing- This is also called as Glass box testing which focuses on internal logic of an application. The tests are based on code statements, branches, paths, conditions
  • Unit testing- is known as a testing of individual software components or modules. Usually, developers do this for they are familiar with the internal program.
  • System testing- the entire system is tested as per the requirements.
  • Functional testing- this type of testing ignores the internal aspects, it is focused on the output.
  • Sanity testing- type of testing used to determine if a new software version is performing well.

Designing the test-environment

The test-environment may vary from one business to another. It depends to the needs and objectives of the testing process. Here are a few factors to consider if you are planning or preparing to do a test-environment.

Prepare and identify all the requirements that you’ll be needing for the simulation. This includes the following:

  • required operating system, database and other components
  • number of license required (optional)
  • network configuration
  • archive/back-up process
  • versions of applications needed (ex. Apache, PHP, MSQL, Java etc.)

Another thing to consider is what we call as environmental configuration. This is defined as the combination of hardware and software environment which the tests will be conducted. It helps in ensuring that the actual production and test-environment have the same setup. (TutorialsPoint, 2016)

These are just some of the basics when it comes to test-environment. A test-environment varies from one setup to another. There are really a lot to know about testing especially the hierarchy of a test-environment but that’s another story.

References:

World Quality Report (23 August 2016) Retrieved from https://www.capgemini.com/thought-leadership/world-quality-report-2015-16

Test-environment (23 August 2016)  Retrieved from http://itknowledgeexchange.techtarget.com/quality-assurance/what-is-a-testing-environment-for-software-testing/

TutorialPoint, (23 August 2016)  Test-Environment Retrieved from   http://www.tutorialspoint.com/software_testing_dictionary/test_environment.htm

Basics of Software Testing, (23 August 2016) Retrieved from http://www.softwaretestinghelp.com/types-of-software-testing/

Image from http://www.softwaretestinghelp.com/test-bed-test-environment-management-best-practices/

Featured Image source https://yithemes.com/themes/plugins/yith-wordpress-test-environment/

 

Thursday, 25 August 2016 10:35

What is an Open-Source Software?

Written by

 

Understanding What an Open-Source Software Is

Have you ever wondered what lies behind your amazing applications on your mobile phone or programs on your laptop, desktop or servers? How it was structured and how it was created? Well, more than your eyes can see, these are made up of codes and multiple programs. Yes, this is called as source codes which serve as a framework for the features and functionalities of how the application or the program works.

Normally, these source codes are mutually exclusive to the one who created it or to the company who owned it. This type of software is called proprietary software wherein only the creators can legally inspect, change the codes or alter the designs of the applications.  Examples are Microsoft Windows, Microsoft Office and Adobe Photoshop. This is the reason why it is licensed and not anyone is permitted to access the source code.

This sets as apart from an open-source software, wherein the source code can be publicly accessed, modified, shared and enhanced by other people. Libre Office and Linux are popular examples of this kind of software. Other people can copy the source code of an open-source software, alter it and learn from it. 

Knowing If It’s Free of Charge

More often than not, the common misconception is that an open-source software is free of charge. Actually, in some cases this can be totally free or this can be free but limited. It is actually the prerogative of the developer who created it. Some users can actually donate or offer monetary support if they like what the developer has done. Some companies are even using the open-source way as a marketing strategy to attract more clients. For instance, they can make an open-source software available, but of a limited functionality but should users would require additional features, the client must pay it.

Unravelling Its Benefits

An open-source software makes life easier for programmers and developers. Instead of creating a new set of codes, they can just use an open-source software which save more time, money and effort. This can also help in training students for they can manually edit or change the codes or even play with it. This is also more stable and secure for future projects for developers where they can revise or change anything anytime. They can control the codes and suit it to their needs and requirements. This can also pave way for the creation of other systems and applications in the long run.

Stating Some Popular Licenses

If you are going to use an open-source software you should also consider what license it has to determine how far you can go in revising it. For instance, some licenses may allow you to download an open-source software but you can’t distribute it. Others are available for personal and community use but not for companies. Most of the open-source software have some editable parts but there also some which needs to give due credit to the developer. Thus, it is important to know that these open-source licenses vary from one another. It has different terms and conditions per license.

Here are some popular licenses which are widely used. 

(OpenSource.Org, 2016)

-Apache License 2.0

-BSD 3-Clause “New” or “Revised” license

-BSD 2-Clause “Simplified: or “FreeBSD” license

-GNU General Public License (GPL)

-GNU Library or “Lesser” General Public License (LGPL)

-MIT License

-Mozilla Public License 2.0

-Common Development and Distribution License

-Eclipse Public License

 At the end of the day, the use of open-source software promotes a culture of sharing for a common purpose towards betterment or improvement and collaboration. This has been a testament that knowledge is better when it is shared through the open-source way!

 

References:

Open-Source.Org Online Website. (22, August 2016). Open-Source Software Licenses Retrieved from: https://opensource.org/licenses

Open Source Online Website. (22,August 2016). Open-Source Software. Retrieved from https://opensource.com/resources/what-open-source

Image source: Freepik.com 

Monday, 22 August 2016 10:48

5 Reasons Why Millennials May Want IT Jobs

Written by

 

             In a globally competitive world, no doubt that personal and career development is a must. No wonder why the so called “millennials” are constantly seeking for a barrel of avenues wherein they can grow and unleash their potentials. In a report conducted by Gallup entitled as “How Millennials Work and Live” it has been noted that 87% of millennials rate career development  as an important factor in choosing a job.

Well, this is not surprising considering that technological advancement became an inherent aspect of modernization. The millennials want jobs that are innovative, success-driven and dynamic for growth. Here are some of the reasons, why most millennials may probably want or think of joining the Information Technology (IT) sector.

1. IT Jobs are dynamic and innovative

              Sounds cool right? Most of the generation today are millennials who are digital natives, which means they are accustomed to the use of technology. Most of the millenials today are forced to learn new things and it makes them flexible.  Web developers, programmers, android developers need to keep up with the latest trends in applications, programming language in oder to do certain tasks. Truly, millennials have to adapt with the current technologies. products and solutions that are available within a specific time. As a result, technology paved way for a lot of innovations coming from the new gadgets and applications that are being changed and invented everyday. Thus, it makes IT jobs more fascinating for the millennials.  IT jobs require fresh ideas, skills and innovative people like the millennials. 

2. IT Jobs are challenging

              Coding, developing, programming, reducing bugs and the like are not really easy. You have to be equipped with the knowledge and the skills in order to do such IT tasks. For millennial programmers, MySQL, JQuery, CSS, HTML can be as challenging as it is. They have to painstakingly work overnight just to code and learn other programming languages based on the system requirements of a company. The IT sector is very broad and this serves as challenge and opportunity for millennials to prove themselves. Well, millennials of today love to explore and learn new things. They wanted to challenge their abilities and think out of the box. But take note, millennials are also outgoing who love adventures so given such challenges, this can also lead them to explore other avenues wherein they can grow. This is also the reason why most of them especially the younger ones are into job hunting to the point that they change their jobs frequently. 

3. IT Jobs are interesting and fun

                More often than not, if you are an IT guy, there must be something in the technical world that interest you so much. If you are a programmer, you will not bear the agony of the coding process if you didn’t love and enjoy it in the first place.If you are a web developer, you will not study or take time to learn those certain platforms and applications if you didn’t like it even an ounce of it. Either it is by force or by choice, it still depends on how you view your job. Generally speaking, millennials want jobs that are innovative and fun. IT jobs are pretty fun and serious by nature. You have to take it seriously so that you can achieve fruitful results. This is the reason why most of the technical people think that IT jobs are interesting and fun. At the end of the day, if you love what you are doing you will not think of it as work.  

4. IT jobs are in demand

                  IT jobs are really promising for the millennials. It has been reported that by the year 2025, a larger part of the working sector will be composed of the millennials. It is also expected that a lot of industries and businesses will be improving their systems to adapt with the modern demands of the future. Thus, all the more they will need technological solutions and resources to address their needs. This will open up to a myriad of opportunities for IT people. Some businesses may result to IT staff augmentation or IT project outsourcing to achieve operational efficiency and lessen their cost. On the international level, there has been an increasing demand for IT people. All you have to do is search for that golden opportunity.

5. IT jobs are flexible and have a unique working culture

                   Millennials of today, love to work and play. This has been proven by a lot of IT companies who are making twist in their work culture. Local or international, some IT companies are making an effort to revolutionize the work place atmosphere. This is done to make their employees feel good so as they can work effectively. Even the offices are being designed in a unique manner so as it can be conducive not only for the customers but most importantly for the employees. They even offer free food, provide sleeping quarters, gaming room, gym in order to adjust with the lifestyle of the millennials.

      Isn’t it exciting? Well, these are just some of the captivating reasons why you might want to be part of the IT sector. No doubt, being an IT guy is as cool and as interesting as you may have probably think of! Salute to all the IT guys out there.

 

References:

Gallup Business Journal Online Website (2016, August 22). “How Miilennials Work and Live Report. Retrieved from“ http://www.gallup.com/businessjournal/191435/millennials-work-life.aspx

Image source: <a href="http://www.freepik.com/free-photos-vectors/business">Business vector designed by Freepik</a>

 

 

 

As I was walking yesterday inside a grocery store, I chanced upon two college level kids who were discussing about web development. I overheard one of them saying that upon graduation from college, he will pursue a career in web development, while the other scoffed at him and told him he should be making money in developing web applications and games.

I would want to meddle in their discussions, but they may find me rude. But inside my head, I think the first kiddo is kinda confused. While I do not see something wrong making a career in website development (heck, they still make their money), it is my impression that he could be talking about web applications.

Which is which? Well, I am not in the IT industry as a developer, but I basically know the difference. People generally use the term website for just about everything. However, this notions is not wrong. If people are talking about something that exists in the Internet and it is available and accessible via the web browser, then it is a website. However, if you talk to someone from IT, then there is a notion that they are talking about a web application. Just like lawyers, if you talk to ten different IT guys to explain this difference, you will be getting ten different answers. But the fact is, the difference between the two boils down to functionality wherein:
• A website is just basically informational. Just like our website (http://www.acuity-ph.com) and,
• A web application is interactive, made specifically for a specific purpose just like a web application made for shopping or online banking.

Just to illustrate, let’s have an example of a car manufacturer’s web presence. If you visit the site to look around for cars before visiting a showroom and find nothing more than just their offices, their models, directions on how to go to their showroom and some contact information, what you have is a website.

However, if you visit another car manufacturer’s website, you would still find the same information as I stated above, but with some additional functionalities like setting up an appointment, order parts or accessories, this interactivity is a web application. This is what differentiates it from a website. To cut it short, a web application is a website that the user can control on what happens next. A website may contain web applications below its level, but a web application needs a website to run. Another classic example of a web application is the way an Internet user can chat or talk to someone using the website. The chat or talk is part of the website, and that is what makes it a web application.

Get the difference? Ok, let me test you. Tell me if the following examples below is a website or a web application:

1. A restaurant site that has Google Maps integrated with it. The user will have to input his location on how to get to the store from his current location.
2. Google.com
3. A newspaper website with no user activity, but hides all information first, until such time the user subscribes and pay before the user can read the news.

For the examples above, these are all described as web applications. The catch is there is no big difference from a website or a web applications, just the way how it is designed and developed on a functionality-wise need. Whatever the case maybe, the development of both websites and web applications should still go through the usual systems development life cycle (SDLC). You don’t know about SDLC? Well it would be a good time for you to go through our previous blog about SDLCs. 

 

 

 

 

Guys who have just gotten out of college and looking to have a career in programming or simply those guys who would just want to make programming a hobby are basically in a whirlwind these days due to the presence or availability of several programming languages that they would want to decide to use. However, it is noted that most programming languages these days are becoming more general and all-purpose compared to the programming languages available decades ago. They still have their own specializations and each language has its own pros and cons.

 

Programming languages can be divided into a few basic types, though languages support general programming styles that can be applied in basically all languages.

  1. Procedural type. This is the most common programming language type. This type of language executes a sequence of statements that lead to a result. This type typically uses many variables and heavy loops.
  2. Functional type. This is a contrast of the procedural type which makes minimal or no use of stored state (or data stored in RAM) which is typically used in the procedural type. The primary focus of this type is on the return values of functions. Normally these languages are simpler in syntax which makes it easier to work on problems.
  3. Object-oriented (or OOP). OOP views everything as a collection of objects that have specific data on their own and creating external means of accessing parts of data. Think of it as several databases with several fields inside, in which OOP extracts some fields on several databases and uses it to create results.
  4. Scripting is normally used outside of any compiler-based languages but uses components of OOP.
  5. Logic programming allows programmers to make declarative statements and allow the computer to reason about the consequences of those statements.

 

To call these types is misleading. An example is that it is possible to program OOP-style in C++ or a functional type in a scripting language. In reality, all modern languages have this features and ideas from multiple languages that serve to increase the richness and usefulness of these languages.

 

So what language are you in? In order to decide, you have to decide what platform or application would you prefer doing? Are you more into mobile applications? Or into enterprise applications? Or stand-alone applications that you may want to interface to some other applications in the future?

 

Image Source: www.freepik.com

 

 

 

Monday, 15 August 2016 13:43

Maternal Healthcare (WOMB)

Written by

 

 

In line with the Philippines' Millenium Development Goals (MDG), the Philippine Department of Health, together with Acuity Technologies, Inc. had concepted and implemented a maternal health and neonatal health tracking system acronymed as WOMB for Watching Over Mothers and Babies system, whose main purpose is to help reduce maternal and neonatal mortality, in order for the Philippines to achieve its target in reducing maternal and infant mortality in the country.

The WOMB system is used to establish baseline data, track progress and support assessment of the impact of various approaches via health indicators. Prior to the implementation of the WOMB system, data management problems are frequently encountered at the LGU or local government level due to data inaccuracies because of different interpretations of the definition of maternal mortality at the lowest or the community health level. Also, delayed reporting from local to regional to national level is addressed by the system.

The WOMB system is an IT system that supports registration of expectant mothers, schedules and records the provided and availed maternal and child healthcare services and monitoring their progress. It is a mobile device system that is used at the community health level that also reminds community health workers alert levels to remind expectant mothers services that they need to avail and are provided for by community health facilities prior and after delivery.

With the WOMB system in place, it can be assured that standard metrics are properly followed by front line community health workers, provide reminders to expectant mothers within their scope of services to avail of the necessary health programs required of the pregnancy to ensure a healthy delivery, reporting mechanisms are properly followed and submitted, and information is available to initiate specific maternal health programs in the community level.

The WOMB system was designed, developed, implemented and maintained by Acuity Technologies, Inc.,  a niche software development and systems integration company located in Makati City, Philippines.  The WOMB system was initially installed in the province of Mindoro and will be rolled-out to other provinces and municipalities in the Philippines starting 2016.

 

Most of us would think that software applications development is the actual programming of an application, and that the programming involves programmers that are slaving away on their keyboards doing codes and codes of stuff and compiling them to make an application. While this is true, few people or users are quite aware that prior to these programmers doing the codes, a systems analysis and design is very critical. Here are the following reasons:

A. A systems analysis process involves studying the actual business processes, understand where data is coming from, how it should be processed and what results are required.

B. This is to find the bottlenecks in data or in processing that results in performance degradation of an application software.

C. To sub-divide a more complex application system so that it can easily be managed.

One of the major objectives of systems analysis is to find answers for each business process so that efficiency of a software application can be achieved. What is being done? How is it being done? Who is doing it? Why are they doing it? When is it being done and how can it be improved? These are the questions that are often answered by systems analysts, and is more of a thinking process and involves creativity for the systems analyst. The goal is that it attempts to product a new efficient system that satisfies the current needs of the users and has vision for future growth within the organization. After an analysis process, then a systems design should be made.

Systems Design Process

Based on user requirements and the results of the analysis of the existing application or systems, a new system must be designed. This is the most crucial phase in the development of a system or an application because, any weak links in the design are carried over into the actual programming process and results may not be that beneficial to an organization if the software or application that was developed does not match perfectly with the needs of the organization. This is also where costs of implementing new features or functionalities and the benefits of these new functionalities are estimated. Likewise, the result of the systems design are passed on to the developers who develop the system. If the output of the systems design are incompatible with the needs of the organization, then the software or systems that are developed will be wasted, not to mention the resources that are incurred in the development of the system.

So in all cases, the developers or the programmers would not be just the core people in software development, everyone, from the business analysts, to the systems analysts, to the software testers, even the documentations analysts, not to mention the programmers themselves form part of the critical core in the process of systems development.

 

Page 2 of 3

Message Us Now

Loading, please wait..