Friday, June 19, 2009


Free website - Wix.com

Thursday, June 18, 2009

THE SOFTWARE DEVLOPMENTS IN AGES

THE AGING OF SOFTWARE



In 1975, Frederick Brooks wrote a classic book on software project management called The Mythical Man-Month. In the book, he famously argued that adding more people to a development project will hinder rather than help to get things done faster. The reason is that having more people working on the project introduces a non-linear overhead in communication.

Five years before Brooks' book, a software development methodology called the Waterfall Model was coined. This approach applied the insights from mature engineering disciplines (mechanical, civil, etc.) to software. The idea was to construct systems by first gathering requirements, then doing the design, then implementing it, then testing, and finally getting it out the door in one linear sequence.

We have come a long way since then and learned a lot about making software. The Waterfall Model is now considered a flawed method because it is so rigid and unrealistic. In the real world, software projects have ill-defined and constantly evolving requirements, making it impossible to think everything through at once. Instead, the best software today is created and evolved using agile methods. These techniques allow engineers to continuously re-align software with business and customer needs.

With the advent of modern programming languages (Java, PHP, Python and Ruby), rich libraries, and unprecedented infrastructure services like those from Amazon, we are arriving at yet another evolutionary step. Digg, del.icio.us, YouTube and other poster children of the new web era were developed by just a handful of programmers. To build software today all you need is a few good men (or women!). In this post we trace how we got here and where we are heading next.

Why The Waterfall Model Failed

Non-technical people tend to think that software is soft or easily changeable. Since there are no visible nuts and bolts and no hood to open people think that software can be tweaked and re-wired on a whim. Of course, this is not the case. Software, like any mechanical system, has a design and the structure; it is not as soft as it seems.

Yet the accelerating pace of business requires constant changes to software. Older development methods completely fail to address business needs. Using the Waterfall Model, these changes were impossible, the development cycle was too long, systems were over engineered and ended up costing a fortune, and often did not work right.

The problem was that the Waterfall Model was arrogant. The arrogance came from the fact that we believed that we could always engineer the perfect system on the first try. The second problem with it was that in nature, dynamic systems are not engineered, they evolve. It is the evolutionary idea that lead to the development of agile methods.

Agile Methods - Evolving Software

In the early nineties a number of agile software development methods emerged. While they differed in details, they agreed at large that software development needed a major rethinking. First, software has to embrace change. Today's assumptions and requirements may change tomorrow, and software needs to respond to changes quickly. To meet the challenge, agile approaches advocate focusing on simplicity. Make the simplest possible system that satisfies today's requirements and when tomorrow comes, be ready to adapt.

Two techniques pioneered by agile methods are worth particular attention - refactoring and developer testing. Refactoring, elegantly described by Martin Fowler in his classic book is the idea of improving the design of the existing code without changing how it works.

Refactoring is what allows agile systems to embrace change, while remaining elegant and free from rot. Like an interior decorator continuously changes and improves the layout of your furniture, agile developers move code around to improve the product as a whole. Code is constantly changed to make sure we end up with the simplest, and best possible system that reflects our current needs.

To make sure that changes do not break the code, agile methods introduced unit tests. As each agile project unfolds, it grows the base of unit tests. Each test is focused on a single component of the system and acts as an insurance that the component works as expected. Typically, the tests are run continuously against the code and require immediate fixes in case of a failure.

The software systems created using agile methods are much more successful because they are evolved and adapted to the problem. Like living organisms, these systems are continuously reshaped to fit the dynamic landscape of changing requirements. Without a doubt, agile methods made a major impact on how we think about building software today - dynamically and continuously.

It's The Libraries, Stupid!

While we discovered better way of making software, we also discovered better programming languages. C was replaced with C++, then came Java. Perl was great, but PHP and Python took its lessons further. More recently came Ruby, which has become very popular because of its natural way of expressing code. Because of this evolution, today we have a number of excellent, and virtually equivalent programming languages.

While the choice of programming language is typically a sensitive subject, the truth is that it is not the language, but the libraries that come with it that make a difference. C++ never had the standard libraries that Java has. Yes, Java is the simpler language, but people used C++ for a decade just fine. What gives Java the edge is its rich set of reusable libraries. The story is similar with PHP. It has been the language of choice for web developers precisely because it comes with such rich support for web and database processing.

In addition to the libraries that come with modern languages, the open source movement has also contributed a wealth of code towards global software infrastructure. Notably, just the Apache foundation on its own has created a huge amount of high quality reusable code. We have now arrived at an age where we have a strong foundation for building complex software systems. We know the methods and we have the tools, so what does that mean?

The Future of Software Development: Just a Few Good Men

Since early days of software development people struggled to build good systems. More and more people where thrown at the problem, making matters worse. But with the recent explosion of social web we've witnessed a new and interesting phenomenon: a handful of developers are now able to build systems that are used by millions of people. How can this be?

The secret is that as with any good endeavor it only takes a few good men (and/or women!). With a bit of discipline and a ton of passion, high quality engineers are able to put together systems of great complexity on their own.

Equipped with a modern programming language, great libraries, and agile methods, a couple of smart guys in the garage can get things done much better and faster than an army of mediocre developers.


ITS THE TECHNOLOGY

We are likely to see a few changes over the coming years:

  • High-quality, passionate software engineers will be in very high demand and will make substantially more money.
  • The developers who do not have great programming skills are going to have to look for jobs elsewhere.
  • The changes that we are witnessing today in the social software market are going to reach the enterprise level.
  • Software off shoring will make less and less economical sense.
  • Computer science is going to remain a highly competitive and prestigious field.

Friday, June 5, 2009

WINDOWS VISTA A GENERATION AHEAD



WINDOWS VISTA ......


No matter what you do with a PC but Windows Vista can
make a big difference in your pc.
If u are using the older versions of
windows then change it to windows vista
and experience the better enhancement
of microsoft corporation.
windows vista is very reliable and efficient in use.
windows vista comes with different styles and extende graphics and lots of more...



Windows Vista
is a line of operating system developed by microsoft for use on personal computers including home and business desktops, laptops, tablet PCs, and media center PCs. Prior to its announcement on July 22, 2005, Windows Vista was known by its codename "Longhorn." Development was completed on November 8, 2006; over the following three months it was released in stages to computer hardware and software manufacturers, business customers, and retail channels. On January 30, 2007, it was released worldwide, and was made available for purchase and download from Microsoft's website.[5] The release of Windows Vista came more than five years after the introduction of its predecessor, Windows XP, the longest time span between successive releases of Microsoft Windows desktop operating systems.

Development

microsoft began its work on vista since from the 5 months of release of xp and vista is known by its code name longhorn.After Longhorn was named Windows Vista in July 2005, an unprecedented beta-test program was started, involving hundreds of thousands of volunteers and companies. In September of that year, Microsoft started releasing regular Community Technology Previews (CTP) to beta testers. The first of these was distributed at the 2005 Microsoft Professional Developers Conference, and was subsequently released to beta testers and Microsoft Developer Network subscribers. The builds that followed incorporated most of the planned features for the final product, as well as a number of changes to the user interface, based largely on feedback from beta testers. Windows Vista was deemed feature-complete with the release of the "February CTP", released on February 22, 2006, and much of the remainder of work between that build and the final release of the product focused on stability, performance, application and driver compatibility, and documentation. Beta 2, released in late May, was the first build to be made available to the general public through Microsoft's Customer Preview Program. It was downloaded by over five million people. Two release candidates followed in September and October, both of which were made available to a large number of users.

New or changed features

1>WINDOWS AERO
2>wi
ndows shell
3>instant search
4>windows side bar

5>windows internet explorer 7
6>windows media player 11
7>windows mail
8>windows calender
9>Backup and restore center
10>window
s photo gallery
11>windows DVD maker
12>windows media center
13>shadow copy
14>windows mobility center
15>windows meeting space
16>windows update
17>parental controls
18>windows security center
19>windows live messenger
20>windows defender
21>windows contacts

22>windows system assesment tool
23>problem reports and solutions

Visual styles

vista comes different and awesome looks that catch the eyes of user.It includes four visual styles
1>WINDOWS AERO
2>WINDOWS VISTA STANDARD
3>WINDOWS VISTA BASIC
4>WINDOWS CLASSIC.

Hardware requirements

Computers capable of running Windows Vista are classified as Vista Capable and Vista Premium Ready. A Vista Capable or equivalent PC is capable of running all editions of Windows Vista although some of the special features and high-end graphics options may require additional or more advanced hardware. A Vista Premium Ready PC can take advantage of Vista's high-end features.

Windows Vista system requirements

Vista Capable Vista Premium Ready
Processor 800 MHz 1 GHz
Memory 512 MB 1 GB
Graphics card DirectX 9.0 capable DirectX 9.0 capable and WDDM 1.0 driver support
Graphics memory 32 MB 128 MB
HDD capacity 20 GB 40 GB
HDD free space 15 GB
Other drives DVD-ROM



VISTA PRODUCTS

VISTA IS DIVIDED INTO DIFFERENT PRODUCTS ACCORDING TO THEIR USABILITY
1>VISTA ULTIMATE
2>VISTA HOME PREMIUM
3>VISTA HOME BASIC


WINDOWS VISTA IS BEST FOR ITS SECURITY AND THE NETWORKING AMONG DIFFERENT COMPUTERS IS ALSO VERY EASY IT WOULD AUTOMATICALLY SHARE WITH NETWORK AND WE SHOULDNT HAVE TO CHANGE ANY SETTINGS AS WE DO IN WINDOWS XP AND EARLIER VERSIONS OF WINDOWS .....SO
VISTA PROVES AS A PRODUCT OF TRUST BUT SOME CRITISMS ARISES DUE LACK OF SOME FEATURES...........