Saturday, 18 May 2013

New Trends in Software Development


The world is ever dynamical, and this is often very true once it involves software system development. IT professionals ar expected to require on new challenges as they seem, since being up to this point equals to staying productive and profitable within the IT business. the subsequent new trends in software system development ar expected to create a mark for the future years.

High performance computing moving to the cloud

There is a reason why cloud computing goes forward and additional and additional firms opt to move their high performance computing to the cloud. the flexibility the personal and therefore the public cloud offers for business applications takes this model of software system development to consequent level. Now, software system tools or applications is developed within the personal cloud, so as to point out effects and be effectively utilized in the general public cloud.

The most vital facet of cloud computing is that it permits firms to chop prices on hardware and development. With cloud computing, additional correct and economical prediction models ar expected to be developed.

Location primarily based apps

Being mobile has been fashionable for years currently, however with the mixing of GPS functionalities, location becomes even additional vital. the flexibility to develop applications with specialise in location are thought of of the utmost importance within the close to future. Knowing wherever shoppers ar so as to produce them with promptly out there data with reference to their location can facilitate businesses flourish within the following years. Facebook places and Foursquare represent simply the tip of the iceberg and a sample of what's to come back in terms of location primarily based applications.

Going agile

The recent model of developing software system tools from bottom to high is not any longer as economical as within the past. Agile methodologies ar currently most popular, as a result of they permit lowering any project in chunks referred to as iterations. The recent unidirectional  communication approach is not any longer in situ. groups will currently work on a similar project and exchange data and proposals on a daily basis, so as to make an improved, additional economical product, with a reduced time cycle.

Mobile: the new parcel of land

With additional and additional individuals feat mobile devices for human action, shopping, sharing and reading reviews, and for several different functionalities, it ought to return as no surprise that the parcel of land for software system development can move to the mobile market. the main target are placed on developing software system applications for shoppers victimisation their mobile devices on a daily basis.

Web 3.0

Web 2.0 has created a revolution within the method the globe Wide internet was being employed by shoppers. Now, the globe is prepared for internet three.0 or the linguistics internet because it is additionally referred to as. it's now not enough to possess access to an oversized amount of knowledge. This information should be coupled, created clear, and therefore the new technologies that ar getting to be developed within the years to come back should focus on their internet three.0 part.

IT professionals should reply to the new challenges for software system development for the subsequent years.

Sunday, 12 May 2013

Software - Old Software Is Just, Old Software


Remember the good old days when you fired up your PC, all 64K of it? Boy, they sure don't make them like that anymore, the PCs or the software that ran on them. If you're attempting to run any of those gems on a turbo 4 gigahertz Windows 2000 or XP model, you've got a very long wait before you see anything but a blank screen. But it sure was fun playing with some of those not so great pieces of, well, whatever they were.
Need some reminders?
Why don't we start with Visicalc for the Apple III? This was basically a Lotus 123 knock off. It ran in DOS, or the DOS equivalent for Apple and did basic spreadsheet functions. It wasn't too fancy and the only interface you had was your keyboard, so forget about drag and drop or anything like that. The color was a very ugly yellow border on a green background. You could only have one worksheet at a time as there was no windows. This was around 1984.
Then of course you had all the great IBM PC gems like Lotus 123 itself. The look was basically the same as Visicalc, except it did come first. This actually did run in DOS 3.0 when it first came out. Versions ran all the way until DOS 6.0 until they finally came out with Windows 3.1.
In 1985 a company by the name of Aldus came out with a piece of software called PageMaker. It was made for the MAC and was one of the first desktop publishing softwares made. PageMaker actually started a whole desktop publishing craze for the MAC. A couple of years later they did release a version for the IBM series.
Also that year, the C++ programming language came out. This was supposed to be an all purpose language that was more powerful than the BASIC language that came with your PC. C++ was supposed to be for the more "serious" programmer. While it was able to get more into the core of the machine, it still pales in comparison to the languages of today.
We now move on to 1987. That year a guy by the name of William Atkinson came up with a piece of software called HyperCard. This was something that was supposed to make it easier to design in house applications. The program was made interactive instead of language based. Basically, what programmers did was build stacks and links between pages. The software itself was actually given away free with every Apple computer until 1992.
Unlike old movies that just seem to get better with time, old software is just that, old. Almost none of it can be run any longer unless it's been updated, in which case it's not old anymore. And the truth is, a lot of the old software of the early 80s and 90s was pretty bad. It just about was able to do what you wanted it to and if you tried to push most of it even a little, it would crash and burn on you.
No, there is no need to keep any of this stuff around any longer.


Monday, 6 May 2013

Open Source Software: Benefits and Disadvantages


Open Source software has been responsible for several innovations in the tech world, including the Linux operating system and Mozilla Firefox browser, to name just a couple. Today, open source software is being regarded as more and more of a valuable asset to companies.
Open source software allows for complete collaboration to occur. Because this type of software allows anyone in information technology to dissect, examine and alter a product's source code, anyone can distribute their own version for sale and profit. The ability for such freedom in source code manipulation is what has allowed many companies to continuously improve their products, a move that's vital if the goal is to compete in the marketplace. But as with everything, open source has two sides, positive and negative.
Advantages
For users of this widely used technology, the ability to download and use software at no cost is a big positive. Open source software developers don't feel the same pressure to profit as those working with larger corporations. Therefore, improvements made to their code can be more focused toward what each user may need, and less to what will appeal to the mass market.
The benefit to developers is that more time can be spent on the improvement of existing software. This can mean much less risk for bugs, as time can be taken in solving issues before the software is released to the market instead of being quickly altered for stability prior to release.
Open source software can be installed numerous times and in numerous locations without the need for tracking or monitoring, such as is usually the case with licensed software. This is a definite benefit for companies.
And, this type of software can continue its existence even if the company who created it fails, as it can then become a part of the user and developer community to manipulate as they see fit.
Disadvantages
Competition is a definite con of open source. Because everyone can have access to the code, including developers, competing products can easily be created. As well, since the code is public, any mistakes made by developers can be as well, meaning a developer's reputation can become quickly tarnished.
In some cases, open source software may require specialized operating knowledge by the user. One good example is the Linux operating system, which requires much more than navigating menus and choosing options to configure. A user without this knowledge may also find no help in the software documentation, which can be vague if it exists at all.
And although it's largely offered at no cost, this doesn't necessarily mean that open source is completely free to develop or to use. Situations can arise which may require paid administration and support costs to be submitted.
Ultimately, it is the end-user who will judge the usefulness of the free technology. Therefore, every benefit and disadvantage should be carefully made when attempting to make the decision of switching to open source.

Friday, 3 May 2013

Why Do We Need Software Testing ?


For any company developing software, at some point pressure to reach the deadline in order to release the product on time will come into play. Additional pressure from project stakeholders, such as 'Marketing' will not want to delay the release date as significant effort and money may have already been spent on an expected release date.   
Quite often, planned time to test the software (e.g. ascertain its quality - QA) will become reduced so as not to impact the release date. From a pure business perspective, this can be seen as a positive step as the product is reaching the intended customers on time. Careful consideration should be taken though as to the overall impact of a customer finding a 'bug' in the released product. Maybe the bug is buried deep within a very obscure functional area of the software product, and as the impact only results in a typo within a seldom-used report, the level of impact is very low. In this case, the effect on the business for this software company would probably be insignificant. But what if the bug resulted in the program crashing and losing data? Maybe this software product is used within an air traffic control system? As you can imagine, the impact of this type of bug could be incredibly high and may result in loss of life and destroying the entire company responsible. So basically, the level of risk of a bug being found (likelihood) and what is the effect of the bug (impact) prove to be critical in how much software testing is performed prior to a products release.

Due to the complexity of modern software it is impossible to ensure that software is bug-free.......it really is!
Imagine a simple form on a software application that was designed to accept one of ten specific values, in order to test this completely, you would need to create a test case for each and every permutation of the entries that could be entered by the user, for example:
10(inputs) to the 10(values)th power
10 to the 10th power
Result = 10,000,000,000 test cases
So, if you were the tester hired to perform the testing, and it only took you one second to perform each test case, it would take around 317 years to complete. Therefore, the test planning should take into consideration what is actually 'achievable.'
Software testing (synonymous with the term Quality Assurance) itself can have many different purposes (quality assurance, validation, performance etc). This is a key decision when planning the QA /software testing, as not testing enough or testing in the wrong areas will inevitably result in missed bugs. The aim should be first ascertaining 'why' we are going to test and not simply 'what' we are going to test.
Software testing and or Quality Assurance is still a kind of art, mainly due to a limited understanding of the complexities of modern software. Recent years has seen the development of software testing certification such as ISEB and ISTQB. This is good news for the software industry as a whole, as the more experienced a software tester is then the level of quality of the software they are testing can only increase.
Software testing cannot ensure software is bug-free, but it CAN increase software quality.