Thursday, August 30, 2007

Illusion Technologies: Software Development

Software Product Development-the Unsolved Mystery of High Tech
By [http://ezinearticles.com/?expert=Phil_Morettini]Phil Morettini

One of the most puzzling things in high technology, especially for executives on the business side of things, is the software development process. It’s the high tech equivalent to the “Black Hole” phenomenon made famous in Astronomy. Endless resources can be poured into a software development project, yet there never seems to be an end in sight. Monitoring the progress of a software project can be like peering into the darkness of a seemingly bottomless pit.

And why is this so? It seems that in such a typically high tech, yet now familiar activity, we would have long ago figured it out. We’re in an age where PCs, with the power of supercomputers from just a few years back, are slapped together like bicycles, and don’t cost much more than a bike. You would think that the process of software development would, by now, amount to simply turning a crank—yet it seems it hasn’t advanced much since the dawn of the PC age.

I don’t mean to be overly dramatic here. But I have been in the high tech and software industries since 1983, and I have never been involved with—or even personally known of a software project—that came in on time and under budget. Never. Not even ONCE. That’s pretty incredible. Now, I realize that there are almost certainly examples of on-schedule projects out there, but they are in the overwhelming minority of all software that is developed.

THEY ALWAYS SLIP

It’s just accepted in the software business that projects will slip, particularly when the end result is an actual commercial product. The businesses I’ve been involved in have tried everything. When I’ve had direct responsibility, we’ve taken every approach imaginable. We’ve tried an approach of “No upfront planning”—starting coding as soon as possible. We’ve tried “extensive and laborious upfront planning”—with a detailed spec, and a prototype, completed prior to initiating production coding. I’ve seen many projects that tried using intermediate steps, falling between the two extreme approaches above. We’ve tried to start projects by purchasing as many “pre-written” modules as possible, used various languages and platforms, hired dedicated debugging personnel, tried code-generators, assembled both small teams & large teams, you name it—we’ve tried it. Project schedules have been written with the utmost conservatism, at the insistence of senior management. No matter. Across a number of different companies, EVERY project has slipped out beyond the wildest nightmares or everyone involved.

ONE LINE OF CODE, TWO WEEK DELAY

Once I asked our lead programmer to change ONE LINE OF CODE in a well-established product. He estimated it would take just a few seconds to make the change, and a few hours to test it. The change would be final by the end of the day, at the latest. Two weeks later I was still waiting for a solid product.

Now, don’t misunderstand. I’m not writing this to bash software developers. While not every developer I’ve worked with over the years has been a world-beater, I’ve had the fortune to work with quite a number whom I consider to be outstanding. Many have been extremely bright, dedicated and hard working. But no matter how much thought, time and effort went into it, our projects always slipped. A lot. We usually ended up with a commercially successful product, but how much better we could have done, had we figured out a way to bring the product to market on time? The only saving grace was the competition had the same problem.

MORE ART THAN SCIENCE

The reason, I believe, is that writing software remains much more of an art than a science. This statement is a bit surprising, until you look a little deeper. There is certainly much methodology available to guide a team to use sound, time-tested practices in developing software. However, a software program is really just a document written in a foreign language. That’s why C++ and Java are called Programming Languages. It's also interesting that many programmers who aren't classically trained in computer science come from an English, Music, or other language background. Just like in writing a novel you are guided by syntax, grammer and writing rules, writing a software program is very similar. In writing a novel you are essentially creating a unique work that has never been done quite the same way before. Also true for a software program. If you knew exactly how the writing of a novel or software program would go before you began, there would be no need to write it—it would have already been done. While there are plenty of rules (representing the science) to writing good software, at the end of the day it’s a unique, written creation (the art).

COMPLEXITY OVERWHELMS EXPERIENCE

Another key reason why conquering the software development process has appeared to be impossible, is the vastly increased complexity associated with software projects today. Let’s face it, the average piece of software today does a lot more, and is quite a larger in terms of the number of lines of code, than at the dawn of the PC era. The creation of graphical user interfaces really started the explosion in the size of software code. So much more code is needed, to bring the user-friendly products of today to life. And what enabled this, of course, was the dawn of the modern operating systems, especially the overcoming of the 640K limit that the original DOS operating system required PC programs to run in. Windows and other modern operating systems almost eliminated the need to write software efficiently, at least from a code size perspective. Today the embedded systems world is pretty much the last bastion where writing code efficiently lives on—it’s pretty much a lost art to most of the software world. It’s interesting to speculate—if we were still writing in the 640K box, would software development have evolved to a more predictable science today? Maybe, but the world would be a less productive as a result.

WHAT TO DO FROM A BUSINESS PERSPECTIVE?

As you can tell from this discussion, I don’t have a great set of answers on how to bring software to market on time. It’s one of the great frustrations of my career. I still strongly believe that getting the best people you can get will make the problem better, even if it can’t be solved completely. I also believe in keeping development teams small, with the minimum of structure necessary to run the project. It’s also wise, in my opinion, to structure your product releases to be more frequent, while adding fewer new features per release. This should at least minimize the pain of each release slipping, since the slip time of each release should be less. And knowing what you’re going to be coding, developing a spec document and sticking to it (no feature creep!) is also sound practice, although I’ve found it to be no panacea. Beyond that, I’m at a loss. Maybe one of you has a strong opinion on how to bring projects out on time? If so, send me a comment—this is a discussion worth having.

Phil Morettini is the Author and President of PJM Consulting, a Managment Consultancy to Software and High Tech Companies. PJM Consulting executes special, strategic projects and can also supply interim senior management in General Management (CEO, COO, Division Manager), Product Marketing, M&A, Distribution Channels and Business Development. You can contact Phil on the PJM Consulting Website ( [http://www.pjmconsult.com]www.pjmconsult.com) or via email at [mailto:info@pjmconsult.com]info@pjmconsult.com

Article Source: http://EzineArticles.com/?expert=Phil_Morettini http://EzineArticles.com/?Software-Product-Development-the-Unsolved-Mystery-of-High-Tech&id=373485

Wednesday, August 29, 2007

Illusion Technologies: Software Development

Software Development And Layout Designing Information For Non-Profit Organisations
By [http://ezinearticles.com/?expert=Ricki_Morelli]Ricki Morelli

To be a successful software development company one has to be familiar with the different aspects of the market (the latest software and tools available), idea of end user needs, be able to comfortably work in today’s viable landscape, and also to provide the clients the requisite practical proficiency to fulfill their expectations.We have quite an experience, working since 2001, of comprising a vibrant and motivated team, helping clients in software development and layout designing services India for edifying their business and identities.

Meeting IT applications is not a tough job for us, as we hold the most talented and efficient teams. Since 2001, we have successfully provided our clients with best of solutions. We focus on creating innovative software development and solutions for today’s computing industry.As a software developing company India, we lay great stress on client satisfaction. We provide them with services that are focused, enabling then to reap benefits to the maximum.Our services include in providing them with best of services, available in present IT market.

We work in the most organized and intended manner, starting from project planning, its execution, and balancing resources to give timely output. We monitor each and every phase (from start to end) of the project with same dexterity and agility. India layout designing company propounding complete layout designing services. Our approach is strictly client based. We have successfully made our forte in dynamically constructed contents, online shopping portals that are database-driven, e-commerce applications, online communities, cargo industries, product promotion and many others.

I am author(Rickimorelli) i want to provide information [http://www.commediait.com]Software Development in India and layout designing information for non-profit organisations if any person want layout designing information then [http://www.commediait.com/layout-designing.html]visit for non-profit organisations.

Article Source: http://EzineArticles.com/?expert=Ricki_Morelli http://EzineArticles.com/?Software-Development-And-Layout-Designing-Information-For-Non-Profit-Organisations&id=540203

Tuesday, August 28, 2007

Illusion Technologies: Software Development

Software Development And Layout Designing Information For Non-Profit Organisations
By [http://ezinearticles.com/?expert=Ricki_Morelli]Ricki Morelli

To be a successful software development company one has to be familiar with the different aspects of the market (the latest software and tools available), idea of end user needs, be able to comfortably work in today’s viable landscape, and also to provide the clients the requisite practical proficiency to fulfill their expectations.We have quite an experience, working since 2001, of comprising a vibrant and motivated team, helping clients in software development and layout designing services India for edifying their business and identities.

Meeting IT applications is not a tough job for us, as we hold the most talented and efficient teams. Since 2001, we have successfully provided our clients with best of solutions. We focus on creating innovative software development and solutions for today’s computing industry.As a software developing company India, we lay great stress on client satisfaction. We provide them with services that are focused, enabling then to reap benefits to the maximum.Our services include in providing them with best of services, available in present IT market.

We work in the most organized and intended manner, starting from project planning, its execution, and balancing resources to give timely output. We monitor each and every phase (from start to end) of the project with same dexterity and agility. India layout designing company propounding complete layout designing services. Our approach is strictly client based. We have successfully made our forte in dynamically constructed contents, online shopping portals that are database-driven, e-commerce applications, online communities, cargo industries, product promotion and many others.

I am author(Rickimorelli) i want to provide information [http://www.commediait.com]Software Development in India and layout designing information for non-profit organisations if any person want layout designing information then [http://www.commediait.com/layout-designing.html]visit for non-profit organisations.

Article Source: http://EzineArticles.com/?expert=Ricki_Morelli http://EzineArticles.com/?Software-Development-And-Layout-Designing-Information-For-Non-Profit-Organisations&id=540203

Monday, August 27, 2007

Illusion Technologies: Software Development

Software Development And Layout Designing Information For Non-Profit Organisations
By [http://ezinearticles.com/?expert=Ricki_Morelli]Ricki Morelli

To be a successful software development company one has to be familiar with the different aspects of the market (the latest software and tools available), idea of end user needs, be able to comfortably work in today’s viable landscape, and also to provide the clients the requisite practical proficiency to fulfill their expectations.We have quite an experience, working since 2001, of comprising a vibrant and motivated team, helping clients in software development and layout designing services India for edifying their business and identities.

Meeting IT applications is not a tough job for us, as we hold the most talented and efficient teams. Since 2001, we have successfully provided our clients with best of solutions. We focus on creating innovative software development and solutions for today’s computing industry.As a software developing company India, we lay great stress on client satisfaction. We provide them with services that are focused, enabling then to reap benefits to the maximum.Our services include in providing them with best of services, available in present IT market.

We work in the most organized and intended manner, starting from project planning, its execution, and balancing resources to give timely output. We monitor each and every phase (from start to end) of the project with same dexterity and agility. India layout designing company propounding complete layout designing services. Our approach is strictly client based. We have successfully made our forte in dynamically constructed contents, online shopping portals that are database-driven, e-commerce applications, online communities, cargo industries, product promotion and many others.

I am author(Rickimorelli) i want to provide information [http://www.commediait.com]Software Development in India and layout designing information for non-profit organisations if any person want layout designing information then [http://www.commediait.com/layout-designing.html]visit for non-profit organisations.

Article Source: http://EzineArticles.com/?expert=Ricki_Morelli
http://EzineArticles.com/?Software-Development-And-Layout-Designing-Information-For-Non-Profit-Organisations&id=540203

Saturday, August 25, 2007

Illusion Technologies: Software Development

Software Development in 2005 - Back to the Future
By [http://ezinearticles.com/?expert=Paul_Bellchambers]Paul Bellchambers

2005 – Back to the Future.

What does the future hold? A big question and initially the answer is anything and everything. The predictions are sometimes close but most of the time they are far from the reality. Technology has moves on apace and the core players in the various sectors of the computing industry invest in research and development which increases the rate of technology introduction with performance improvements or benefits outweighing the previous technology that customers/users/consumers must take advantage of, or so that is what they tell us. What is the truth? And what is the future?

For the developer community I believe that things have not changed all that much other than there a more defined lines to be drawn between types of developers i.e. games vs corporate applications, mobile vs military. These differences are reflected in the methodologies and tools used by each group. However, the principles remain the same, identify a requirement and then satisfy that with some code. The implementation various by user requirements. I spent four years in the late 1980s working on Software Engineering and Systems Engineering products at Digital Equipment Corporation (DEC). The focus of the team I was part of was to build an integrated environment that utilised Independent Software vendors products in a framework that enabled the output of one product to flow into the others as needed. This was done with customer input through a direct mechanism of regular meetings and information flow to create a generic specification that could be used in industries such as Aerospace, Defense and Telco. This was the time for quality processes, analysis and design methods and a burgeoning open standards movement. This developed into the Open Source movement and the associated issues that brings, but that is another story!

The premise of building an integrated environment that encapsulated a range or products from leading vendors in the key parts of the software development cycle was, and maybe still is, the holy grail for software and systems development. Incorporating the process model and flow into the environment enabled two of the critical elements of development, a controlled process management capability and the right tools for the right job. What you find today is an integrated development environment but you cannot use other tools that you currently use to do functions such a requirements tracking, documentation, code management, etc. The important thing to note is that the environment that DEC built, with a range of partners, was used to create the software on the then leading aerospace project, the F22 fighter. It was used in anger and it worked. It may have been ahead of its time but it did the job.

The non-technology element that an integrated environment does not adequately address is the people. This is the vital part of this process of any software development project. Instilling discipline across a team is not easy and does not get the focus it should. Many have tried to raise the awareness of the role people play in software development, such as Tom de Marco, and the issue is that developing software is still seen as an artisans job and not a true professional role. The British Computing Society Chartered Engineer status provides for individuals to be professionally qualified but my perception is that the number of people who have taken the time and trouble to qualify is limited. If more projects asked for chartered status of a significant proportion of the project team there would an improvement in the delivery of projects on time and in budget.

So what is my point. Well, it seems to me that we have gone backwards with regards to software development technology. The ability to integrate and get individual components from separate vendors to work together is one thing, to get them also to work together with a work flow model is another. There may be suites from individual vendors that offer this but if you want to retain your own environment you may not be able to. This then involves a major change in your development process and teams. No one likes change! So we all stick to our known quantities to keep in the comfort zone.

More importantly the role of the human in this complex and technology based process is not fully understood and nor is it managed in a way that achieves the best results. People need encouragement, they need motivation, guidance and above all the knowledge that what they are doing is of value. My view is that all projects now come down to money and time, and whilst these are important from a business perspective, the measurements miss the impact that these have on the people involved in the project. There are changes that must come from the business in terms of measuring quality such as the reliability, use-ability and flexibility of the software as well as the quantitative measurements of keeping to time-scales and budgets. The developer needs to do their bit too in this equation. They must become more professional, become a Chartered Engineer, and be prepared to change and understand the business dynamics, because after all they are paid by delivering code that works. And most people understand that premise.

Paul Bellchambers

Paul has over 25 years in the computer industry working in the area of software development. He has worked for Digital Equipment Corp, Sun Microsystems, Olivetti Systems and a number of companies developing software applications. He is currently running a new developers website - http://www.thedeveloperscatalogue.com - and he is also writing articles for the site and for other publications including International Developer Magazine.

Article Source: http://EzineArticles.com/?expert=Paul_Bellchambers
http://EzineArticles.com/?Software-Development-in-2005---Back-to-the-Future&id=65969

Friday, August 24, 2007

Illusion Technologies: Software Development

The Skills Needed for Software Design and Development
By [http://ezinearticles.com/?expert=James_Woodley]James Woodley

To get into software design and development, there are a few kill skills a person needs to know. As well as creating the concepts behind a computer program, those people with the skills in design will most likely create the graphics used in the software. In order to work correctly a piece of software requires a lot of code, for the person behind the keyboard writing this code, this can be tedious work indeed. The most in demand people in the world of software development are those that can create the conceptual models and graphics that make a piece of software work well but look bad to looking great, working well and flying off the shelves. Because these people generally have all the necessary skills, companies are more willing to get them in, they find it easier to work with and pay one person, than to integrate large development teams and have the hassle and cost that this will bring.

Before the completion of a software package is finalized, it will have gone through numerous development phases. The concept must first be realized. Then it will be thoroughly tested, ideally by a testing team that is separate from the developers. Once this phase is completed, the program, functionally at least, is complete. Now is the time the graphics designers get to work to make the software look great! This is often the part of the project that takes the most time, depending on the type of technology and graphics used, this can take as long as a year in some cases.

The program must now be tested again, to make sure the graphics implementation has not affected the functionality of the program, and to make sure all errors and problems are now resolved. People who can supervise this process are always in constant demand, because they are stressful positions that require a lot of time, energy and commitment. You will find many people willing to take up these positions however as it is an exciting career choice that will demand the brain, but be ultimately very rewarding.

James Woodley is the writer for the website [http://software-development.webinfo-site.com]http://software-development.webinfo-site.com. Please visit for information on all things concerned with [http://software-development.webinfo-site.com/Articles/Skills_That_are_Needed_for_Software_Design_and_Development.php]The Skills Needed for Software Design and Development

Article Source: http://EzineArticles.com/?expert=James_Woodley http://EzineArticles.com/?The-Skills-Needed-for-Software-Design-and-Development&id=485564

Thursday, August 23, 2007

Illusion Technologies: Software Development

A Career in Software Development
By [http://ezinearticles.com/?expert=James_Woodley]James Woodley

When looking for a job in software development, there are many different areas that one can look to go into. What a person wishes to create really dictates the direction their career goes in. Be it games, educational software, security software or computer management software that needs to be created, there is an angle of attack that a new budding software developer can take. As security and malicious attacks become more of an issue, new software will need to be created in order to stop these pieces of software that try and infiltrate a person’s personal computer. There are many careers within the I.T field that are open to someone who has a gift and aptitude for computing and the ways and means of creating a software program.

Software development not only means the code needed to be written in order to write the program, but of course the content that will appear to the user on the screen. Graphical User Interfaces are one of the new and exciting areas that people with an eye for design and pleasing aesthetics can get into. The best software developers have a sound understanding of both the user interfaces and the back end code that goes into creating the complete software package.

These days, software development is taught in many schools and colleges and is becoming a weapon of the masses rather than the old days of the few. Those fortunate and dedicated people that manage to achieve a degree in software development are able to work on many projects that will entertain yet challenge them. This is a field that can never get boring, as the challenges that face a programmer are varied and many, a lot of programmers say they never stop learning and this is one of the most appealing aspects of a career in I.T. There are many opportunities for those who are willing to create programs that other people will be interested in buying and that will entertain, teach, protect, and allow a computer to run better than before.

James Woodley is the writer for the website [http://software-development.webinfo-site.com]http://software-development.webinfo-site.com. Please visit for information on all things concerned with [http://software-development.webinfo-site.com/Articles/Finding_a_Career_in_Software_Development.php]A Career in Software Development

Article Source: http://EzineArticles.com/?expert=James_Woodley
http://EzineArticles.com/?A-Career-in-Software-Development&id=478984

Wednesday, August 22, 2007

Illusion Technologies: Software Development

Expose of Standard Software Development Processes
By [http://ezinearticles.com/?expert=James_Woodley]James Woodley

The standardized structure imposed by the software development market leaders are the development systems or processes strictly implemented in order to create a uniform development system anywhere in the world.

To understand software development systems fully a person would require a large amount of knowledge in the field of software engineering. However, if you are contemplating the leap into the unknown that is software development, it always helps to know some of the basics, even if you will not be heavily involved in the actual development. With this knowledge you will have in your armory the means to assess the stability and standards of the software being developed.

Today, there are three development systems that need consideration. Firstly is the Waterfall Process, secondly the Iterative Process and thirdly the Formal Method. The best known and most widely recognised among software developers is the Waterfall Process.

The waterfall model called as such because the manner in which the software development is executed can be likened to that of a waterfall: the eight (8) basic activity processes or steps are done from top to bottom like a falling waterfall. These eight (8) basic processes or steps are: (1) Requirement Analysis, (2) Specification, (3) Software Architecture, (4) Implementation (Coding), (5) Testing, (6) Documentation, (7) Software Training and Support, and (8) Maintenance.

In many software development systems, these 8 steps are interchanged and not all are done within the Waterfall Model. Some argue that this model is the most stable and suited model available, despite it's age! This is due to the ease of determining problems or bugs within the system, even as early as the specification requirements analysis and before any programming or coding begins. Through experience, a programmer will normally find it much harder to insert a fix into code that has already been written and finished, than it is to code that fix as part of the solution in the first place.

James Woodley is the writer for the website [http://software-development.webinfo-site.com]http://software-development.webinfo-site.com. Please visit for information on all things concerned with [http://software-development.webinfo-site.com/Articles/Waterfall_Processes_Bestknown_Among_Software_Development_Systems.php]The Expose of Standard Software Development Processes

Article Source: http://EzineArticles.com/?expert=James_Woodley http://EzineArticles.com/?Expose-of-Standard-Software-Development-Processes&id=477820

Tuesday, August 21, 2007

Illusion Technologies: Software Development

Dagstuhl Seminar End - User Software Engineering
By [http://ezinearticles.com/?expert=Peter_Hale]Peter Hale

I have been reading this abstracts paper from the Dagstuhl Seminar End-User Software Engineering and it has lots of interesting points to make.

In the Dagstuhl Seminar report (Burnett et al) it is stated that "The number of end users creating software is far larger than the number of professional programmers. These end users are using various languages and programming systems to create software in forms such as spreadsheets, dynamic web applications, and scientific simulations. This software needs to be sufficiently dependable, but substantial evidence suggests that it is not." This point relates to that of (Ko) (Carnegie Mellon University) who explains that the goals of end-users may be unrelated to production of code, but instead they are interested in their domain problem, this means they perceive programming barriers as distractions. Ko explains that end-user programmers must be allowed to focus on their goals, and an important part of the solution is to visualise the whole program execution not just the output. A further problem outlined by Ko is that of programs which were intended to be temporary and owned by a particular person becoming central to a company, this often happens with spreadsheets.

(Henry Lieberman) of MIT Media Laboratory asks "Why is it so much harder to program a computer than simply to use a computer application? I can't think of any good reason why this is so; we just happen to have a tradition of arcane programming languages and mystically complex software development techniques. We can do much better." He argues that researchers should use program transformation, and visualisation to make the end-user programming process as automatic as possible. In order that people can become End-User Software Engineers without their even realizing it. This needs to involve interdisciplinary research to combine different research approaches. (Blackwell) also argues the need for interdisciplinary research on the end-user programming problem to identify techniques within software engineering that can assist with this problem.

(Coutaz) explains how Model Driven Engineering and Service Oriented Architecture can be combined. Coutaz also explains that "An interactive system is a graph of models related by mappings and transformations." This would fit in well with the structure of RDF (Resource Description Framework) a Semantic Web standard, which is also a graph structure. Alexander Repenning of University of Lugano explains the need for enhancements to UML (Unified Modeling Language) to aid end-user programming. (Engels) of University of Paderborn also explains that UML should be extended to allow development of user interfaces in order to assist end-users to program. (Repenning) also argues that "Visual programming languages using drag and drop mechanisms as programming approach make it virtually impossible to create syntactic errors." So "With the syntactic challenge being – more or less – out of the way we can focus on the semantic level of end-user programming." (Rosson) of Pennsylvania State University also explains about creation of a web based drag and drop interface. Abraham and (Erwig) of Oregon State University integrate spreadsheet modelling into the UML modelling process. (Gerhard Fischer) of University of Colorado explains the concept of meta-design as aimed at creating infrastructures for collaborative design assuming future uses and problems cannot be completely anticipated during development of a system. (Dittrich) of University of Copenhagen argues that more research is needed into the software lifecycle and methods and tools needed for end-user developers, especially when they are collaborating. These end-users often need to adjust old software for new purposes. (Costabile and Piccinno) also explain that new methodologies and environments are required for supporting end-user collaborative development

(De Souza) argues that the goal of human-computer interaction (HCI) will evolve from making systems easy to use to making systems that are easy to develop. Lieberman also argues that HCI experts have concentrated on ease of use and should examine ease of programming. (Begel) of Microsoft Research explains that if programming is left only to programmers rather than allowing domain experts to be involved the program becomes a black box and the domain expert cannot trust or verify the results. He explains that text based computer languages are often too obscure for end-user programmers. Begel also explains that end-users may lack an engineering mindset to form mental models of how to make the computer do what they want. Segal of the Open University argues that professional engineers have a history of programming so can be distinguished from other end-user programmers as having less problems with coding. (Fischer) explains that it is the mismatches between end-users needs and software support that enables new understandings. Fischer also argues that software development can never be completely delegated to software professionals because domain experts are the only people that fully understand the domain specific tasks that must be performed. He also argues for an approach to enabling end-user programming that makes it interesting to end-users. He explains that often the problem is that end-users find programming boring rather than that they find it hard. (Spahn et al) explains that end-users of ERP (Enterprise Resource Planning) systems are domain experts not IT professionals, and this is forcing them to communicate their needs to IT developers. Spahn et al argue for the empowerment of users to customise software by providing an abstraction layer to hide technical details and allow for concentrating on business needs.

(Clarke) of Microsoft examines the characteristics of end-user developers in order to assist with meeting their needs. (Fischer) hypothesises that this emphasis on end-user development also changes the emphasis on testing "Software testing is conducted differently. Because domain expert developers themselves are the primary users, complete testing is not as important as in the case when the developers are not the users."

References

End-User Software Engineering - Dagstuhl Seminar - Summary - http://www.dagstuhl.de/en/program/calendar/semhp/?semnr=2007081 - PDF Abstracts and links to papers - http://eusesconsortium.org/docs/dagstuhl_2007.pdf - Margaret M. Burnett, Gregor Engels, Brad A. Myers and Gregg Rothermel - From 18.01.07 to 23.02.07, the Dagstuhl Seminar 07081 End-User Software Engineering was held in the International Conference and Research Center (IBFI), Schloss Dagstuhl. During the seminar, several participants presented their current research, and ongoing work and open problems were discussed.

Abraham, R., Erwig, M., 2007. Exploiting Domain-Specific Structures For End-User Programming Support Tools. In: End-User Software Engineering Dagstuhl Seminar.

Begel, A., 2007. End User Programming for Scientists: Modeling Complex Systems. In: End-User Software Engineering Dagstuhl Seminar.

Blackwell, A., 2007. Interdisciplinary Design Research for End-User Software Engineering. In: End-User Software Engineering Dagstuhl Seminar.

Burnett, M. M., Engels, G, Myers, B. A., Rothermel, G., 2007. End-User Software Engineering Dagstuhl Seminar.

Clarke, S., 2007. What is an End User Software Engineer?. In: End-User Software Engineering Dagstuhl Seminar.

Costabile, M. F., Piccinno, A., 2007. Software environments for supporting End-User Development. In: End-User Software Engineering Dagstuhl Seminar.

Coutaz, J., 2007. Meta-User Interfaces for Ambient Spaces: Can Model-Driven-Engineering Help?. In: End-User Software Engineering Dagstuhl Seminar.

De Souza, C., 2007. Designers Need End-User Software Engineering. In: End-User Software Engineering Dagstuhl Seminar.

Dittrich, Y., 2007. Rethinking the Software Life Cycle: About the Interlace of Different Design and Development Activities. In: End-User Software Engineering Dagstuhl Seminar.

Engels, G., 2007. Model-Driven Development for End-Users, too!? In: End-User Software Engineering Dagstuhl Seminar.

Fischer, G., 2007. Meta-Design: A Conceptual Framework for End-User Software Engineering. In: End-User Software Engineering Dagstuhl Seminar.

Gross, M. D., 2007. Designers Need End-User Software Engineering. In: End-User Software Engineering Dagstuhl Seminar.

Ko, A. J., 2007. Barriers to Successful End-User Programming. In: End-User Software Engineering Dagstuhl Seminar.

Lieberman, H., 2007. End-User Software Engineering Position Paper. In: End-User Software Engineering Dagstuhl Seminar.

Repenning, A., 2007. End-User Design. In: End-User Software Engineering Dagstuhl Seminar.

Rosson, M. B., 2007. Position paper for EUSE 2007 at Dagstuhl. In: End-User Software Engineering Dagstuhl Seminar.

Segal, J., 2007. End-User Software Engineering and Professional End-User Developers. In: End-User Software Engineering Dagstuhl Seminar.

Spahn, M., Scheidl, S., Stoitsev, T., 2007. End-User Development Techniques for Enterprise Resource Planning Software Systems. In: End-User Software Engineering Dagstuhl Seminar.

I am a Researcher in the final year of my PhD. I specialise in applying Semantic Web techniques. My current research is on a technique of 'User Driven Modelling/Programming'. My intention is to enable non-programmers to create software from a user interface that allows them to model a particular problem or scenario. This involves a user entering information visually as a tree diagram. I am attempting to develop ways of automatically translating this information into program code in a variety of computer languages. This is very useful for many employees that have insufficient time to learn programming languages.

Home Page - [http://www.cems.uwe.ac.uk/~phale/]http://www.cems.uwe.ac.uk/~phale/.

End-User History - [http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/EndUserHistory.htm]http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/EndUserHistory.htm.

End-User Programming - [http://www.cems.uwe.ac.uk/amrc/seeds/EndUserProgramming.htm]http://www.cems.uwe.ac.uk/amrc/seeds/EndUserProgramming.htm.

Article Source: http://EzineArticles.com/?expert=Peter_Hale http://EzineArticles.com/?Dagstuhl-Seminar-End---User-Software-Engineering&id=663202

Sunday, August 19, 2007

Illusion Technologies: Software Development

Drag and Drop Programming
By [http://ezinearticles.com/?expert=Peter_Hale]Peter Hale

This article examines how drag and drop programming and other forms of interactive software development can assist end-users to program via the web. AJAX (Asynchronous JavaScript And XML) software is used to provide a Web 2.0 style interactive interface. This can be linked to applications and to Semantic Web information.

Lieberman [1] blames end user programming difficulties on hard to understand programming languages and techniques and argues for visualisation and translation to code to enable end-user programming. To make end-user programming easier it is possible to develop high level visualised templates and translate these into program code. The Dagstuhl report [2] argues that existing programming languages are not sufficiently dependable for end-users to reliably use. De Souza [3] argues that the goal of human-computer interaction (HCI) will evolve from making systems easy to use to making systems that are easy to develop. A template system will assist in this. Ko [4] explains that end-user programmers must be allowed to focus on their goals, and an important part of the solution is to visualise the whole program execution not just the output, so it is necessary to show the user the whole program flow not just text based bug reports. A simple illustration of the techniques that can be used to further this research area is a demonstrator for meta-programming of XML (eXtensible Markup Language) based drag and drop trees [5], this example was created with AJAX (Asynchronous JavaScript And XML), a Java applet or Python were other options investigated.

The code acts as a translator between the XML representation of the trees and interactive graphical representations. This allows open standards platform independent end-user programming. The example is based on the Scand dhtmlxTree [6] and this makes it possible to enable many other programming actions such as adding and deleting nodes, and to create other controls. Repenning [7] argues that visual programming languages using drag and drop mechanisms as a programming approach make it virtually impossible to create syntactic errors, allowing for concentration on the semantics", and Rosson [8] also advocates this technique. Such techniques could be used with other Semantic Web-based information representations implemented with languages and structures such as XML, RDF (Resource Description Framework), and OWL (Web Ontology Language), and provision of other controls. These controls could then be used as graphical components of a simulation system made available over the web. As well as being used for web-based visual programming an environment such as this could also be employed as an interface to PC based software, or as a translator between systems. Semantic languages provide a higher level declarative view of the problem to be modelled. Coutaz [9] explains that "An interactive system is a graph of models related by mappings and transformations." This would fit in well with the structure of RDF, which is also a graph structure.

It is important to investigate new ways of enabling collaboration between all those involved in software creation and use. The use of Semantic Web languages for declarative programming can ease the translation between different representations of information, and ease interoperability between systems. This translation or 'Program Transformation' allows for writing in one representation or language, and translating to another. This is particularly useful for language independent programming, or for high level and end-user translation to a language more easily interpreted by computer systems. The solution to many interoperability and software problems involves programming with Semantic Web languages rather than just using them for information representation. This will make translation for interoperability easier and more reliable, and further improve the maintainability of software systems.

The research will involve using and building a visualised Semantic programming layer on languages such as AspectXML, XForms, SPARQL, and XQuery all explained in [10] and Meta languages [11][12] to create software and to build an environment for high level end-user programming. This programming environment can be used for creating programs and an environment for end-user programming. The environment can be computer language and system independent as one representation can be translated into many computer languages or Meta languages. Tools such as Amaya [13] can be used for creating and editing Semantic Web applications and documents. This research is a test case for an approach of collaborative end-user programming by domain experts. The end-user programmers can use a visual interface where the visualisation of the software exactly matches the structure of the software itself, making translation between user and computer, and vice versa, much more practical.

To enable generic end-user programming functionality it is important to develop ‘information representation languages’ based on Semantic Web declarative programming languages. Standardisation in XML/RDF enables use of declarative rules for web services. This environment also has to provide a visual development interface for end-users in a similar way to that of Unified Modeling Language (UML) for professional developers. Repenning [7] and Engels [14] argue this.

References

[1] Lieberman, H., 2007. End-User Software Engineering Position Paper. In: End-User Software Engineering Dagstuhl Seminar.

[2] Burnett M M, Engels G, Myers B A, Rothermel G, 2007, End-User Software Engineering Dagstuhl Seminar, http://eusesconsortium.org/docs/dagstuhl_2007.pdf.

[3] De Souza, C., 2007. Designers Need End-User Software Engineering. In: End-User Software Engineering Dagstuhl Seminar.
[4] Ko, A. J., 2007. Barriers to Successful End-User Programming. In: End-User Software Engineering Dagstuhl Seminar.

[5] Drag and Drop, 2007, [http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/components.html]http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/components.html.

[6] Scand dhtmlxTree, 2007, [http://www.scbr.com/docs/products/dhtmlxTree/index.shtml]http://www.scbr.com/docs/products/dhtmlxTree/index.shtml.

[7] Repenning, A., 2007. End-User Design. In: End-User Software Engineering Dagstuhl Seminar.

[8] Rosson, M. B., A., 2007. Position paper for EUSE 2007 at Dagstuhl. In: End-User Software Engineering Dagstuhl Seminar.

[9] Coutaz, J., 2007. Meta-User Interfaces for Ambient Spaces: Can Model-Driven-Engineering Help?. In: End-User Software Engineering Dagstuhl Seminar.

[10] Programming with XML, 2007, http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/XML/XML.htm#ProgrammingwithXML.

[11] Dmitriev S, 2007, Language Oriented Programming: The Next Programming Paradigm - http://www.onboard.jetbrains.com/is1/articles/04/10/lop/.

[12] Mens K, Michiels I, Wuyts R, 2002, Supporting Software Development through Declaratively Codified Programming Patterns, Expert Systems with Applications Vol 23.

[13] Quint V, Vatton I, 2005, Towards Active Web Clients, DocEng Bristol United.

[14] Engels, G., 2007. Model-Driven Development for End-Users, too!? In: End-User Software Engineering Dagstuhl Seminar.

My Research - http://www.cems.uwe.ac.uk/~phale/

I am a Researcher in the final year of my PhD. I specialise in applying Semantic Web techniques. My current research is on a technique of 'User Driven Modelling/Programming'. My intention is to enable non-programmers to create software from a user interface that allows them to model a particular problem or scenario. This involves a user entering information visually in the form of a tree diagram. I am attempting to develop ways of automatically translating this information into program code in a variety of computer languages. This is very important and useful for many employees that have insufficient time to learn programming languages. I am looking to research visualisation, and visualisation techniques to create a human computer interface that allows non experts to create software.

Article Source: http://EzineArticles.com/?expert=Peter_Hale http://EzineArticles.com/?Drag-and-Drop-Programming&id=671578

Saturday, August 18, 2007

Illusion Technologies: Software Development

Drag and Drop Programming
By [http://ezinearticles.com/?expert=Peter_Hale]Peter Hale

This article examines how drag and drop programming and other forms of interactive software development can assist end-users to program via the web. AJAX (Asynchronous JavaScript And XML) software is used to provide a Web 2.0 style interactive interface. This can be linked to applications and to Semantic Web information.

Lieberman [1] blames end user programming difficulties on hard to understand programming languages and techniques and argues for visualisation and translation to code to enable end-user programming. To make end-user programming easier it is possible to develop high level visualised templates and translate these into program code. The Dagstuhl report [2] argues that existing programming languages are not sufficiently dependable for end-users to reliably use. De Souza [3] argues that the goal of human-computer interaction (HCI) will evolve from making systems easy to use to making systems that are easy to develop. A template system will assist in this. Ko [4] explains that end-user programmers must be allowed to focus on their goals, and an important part of the solution is to visualise the whole program execution not just the output, so it is necessary to show the user the whole program flow not just text based bug reports. A simple illustration of the techniques that can be used to further this research area is a demonstrator for meta-programming of XML (eXtensible Markup Language) based drag and drop trees [5], this example was created with AJAX (Asynchronous JavaScript And XML), a Java applet or Python were other options investigated.

The code acts as a translator between the XML representation of the trees and interactive graphical representations. This allows open standards platform independent end-user programming. The example is based on the Scand dhtmlxTree [6] and this makes it possible to enable many other programming actions such as adding and deleting nodes, and to create other controls. Repenning [7] argues that visual programming languages using drag and drop mechanisms as a programming approach make it virtually impossible to create syntactic errors, allowing for concentration on the semantics", and Rosson [8] also advocates this technique. Such techniques could be used with other Semantic Web-based information representations implemented with languages and structures such as XML, RDF (Resource Description Framework), and OWL (Web Ontology Language), and provision of other controls. These controls could then be used as graphical components of a simulation system made available over the web. As well as being used for web-based visual programming an environment such as this could also be employed as an interface to PC based software, or as a translator between systems. Semantic languages provide a higher level declarative view of the problem to be modelled. Coutaz [9] explains that "An interactive system is a graph of models related by mappings and transformations." This would fit in well with the structure of RDF, which is also a graph structure.

It is important to investigate new ways of enabling collaboration between all those involved in software creation and use. The use of Semantic Web languages for declarative programming can ease the translation between different representations of information, and ease interoperability between systems. This translation or 'Program Transformation' allows for writing in one representation or language, and translating to another. This is particularly useful for language independent programming, or for high level and end-user translation to a language more easily interpreted by computer systems. The solution to many interoperability and software problems involves programming with Semantic Web languages rather than just using them for information representation. This will make translation for interoperability easier and more reliable, and further improve the maintainability of software systems.

The research will involve using and building a visualised Semantic programming layer on languages such as AspectXML, XForms, SPARQL, and XQuery all explained in [10] and Meta languages [11][12] to create software and to build an environment for high level end-user programming. This programming environment can be used for creating programs and an environment for end-user programming. The environment can be computer language and system independent as one representation can be translated into many computer languages or Meta languages. Tools such as Amaya [13] can be used for creating and editing Semantic Web applications and documents. This research is a test case for an approach of collaborative end-user programming by domain experts. The end-user programmers can use a visual interface where the visualisation of the software exactly matches the structure of the software itself, making translation between user and computer, and vice versa, much more practical.

To enable generic end-user programming functionality it is important to develop ‘information representation languages’ based on Semantic Web declarative programming languages. Standardisation in XML/RDF enables use of declarative rules for web services. This environment also has to provide a visual development interface for end-users in a similar way to that of Unified Modeling Language (UML) for professional developers. Repenning [7] and Engels [14] argue this.

References

[1] Lieberman, H., 2007. End-User Software Engineering Position Paper. In: End-User Software Engineering Dagstuhl Seminar.

[2] Burnett M M, Engels G, Myers B A, Rothermel G, 2007, End-User Software Engineering Dagstuhl Seminar, http://eusesconsortium.org/docs/dagstuhl_2007.pdf.

[3] De Souza, C., 2007. Designers Need End-User Software Engineering. In: End-User Software Engineering Dagstuhl Seminar.
[4] Ko, A. J., 2007. Barriers to Successful End-User Programming. In: End-User Software Engineering Dagstuhl Seminar.

[5] Drag and Drop, 2007, [http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/components.html]http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/components.html.

[6] Scand dhtmlxTree, 2007, [http://www.scbr.com/docs/products/dhtmlxTree/index.shtml]http://www.scbr.com/docs/products/dhtmlxTree/index.shtml.

[7] Repenning, A., 2007. End-User Design. In: End-User Software Engineering Dagstuhl Seminar.

[8] Rosson, M. B., A., 2007. Position paper for EUSE 2007 at Dagstuhl. In: End-User Software Engineering Dagstuhl Seminar.

[9] Coutaz, J., 2007. Meta-User Interfaces for Ambient Spaces: Can Model-Driven-Engineering Help?. In: End-User Software Engineering Dagstuhl Seminar.

[10] Programming with XML, 2007, http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/XML/XML.htm#ProgrammingwithXML.

[11] Dmitriev S, 2007, Language Oriented Programming: The Next Programming Paradigm - http://www.onboard.jetbrains.com/is1/articles/04/10/lop/.

[12] Mens K, Michiels I, Wuyts R, 2002, Supporting Software Development through Declaratively Codified Programming Patterns, Expert Systems with Applications Vol 23.

[13] Quint V, Vatton I, 2005, Towards Active Web Clients, DocEng Bristol United.

[14] Engels, G., 2007. Model-Driven Development for End-Users, too!? In: End-User Software Engineering Dagstuhl Seminar.

My Research - http://www.cems.uwe.ac.uk/~phale/

I am a Researcher in the final year of my PhD. I specialise in applying Semantic Web techniques. My current research is on a technique of 'User Driven Modelling/Programming'. My intention is to enable non-programmers to create software from a user interface that allows them to model a particular problem or scenario. This involves a user entering information visually in the form of a tree diagram. I am attempting to develop ways of automatically translating this information into program code in a variety of computer languages. This is very important and useful for many employees that have insufficient time to learn programming languages. I am looking to research visualisation, and visualisation techniques to create a human computer interface that allows non experts to create software.

Article Source: http://EzineArticles.com/?expert=Peter_Hale http://EzineArticles.com/?Drag-and-Drop-Programming&id=671578

Friday, August 17, 2007

Illusion Technologies: Software Development

Web Development, Software Development And SEO Forum
By [http://ezinearticles.com/?expert=Mansi_Aggarwal]Mansi Aggarwal

Web development is a broad term that incorporates all areas of developing a web site for the World of Internet ranging from developing the simplest static single page of plain text to the most complex web-based internet applications, electronic businesses, or social network services.

Now-a-days, many systems are available to the public free of charge to aid in web development (Linux, Apache, MySQL, PHP, etc.) There are other easy to use web development software, most prominently Microsoft FrontPage or Macromedia Dreamweaver.

E-commerce has transformed the way of shopping and bargainig with sites such as eBay, Amazon.com and Buy.com (among many, many others). Another good example of transformative communication led by web development is the blog. Web applications such as WordPress and b2evolution have created easily implemented blog environments for individual Web sites. Open source content systems such as Xoops, Joomla, and Drupal have extended web development into new modes of interaction and communication.

A web hosting service is a type of Internet hosting service that allows individuals and organizations to provide their own websites accessible via the World Wide Web. Web hosts are companies that provide space on a server they own for use by their clients as well as providing Internet connectivity, typically in a data center.

The scopes of hosting services vary widely. The most basic is webpage and small-scale file hosting, where files can be uploaded via File Transfer Protocol (FTP) or a Web interface. The files are usually delivered to the Web "as is" or with little processing. A complex site calls for a more comprehensive package that provides database support and application development platforms (e.g. PHP, Java, and ASP.NET). These facilities allow the customers to write or install scripts for applications like forums and content management. For e-commerce, SSL is also required. There are different types of web hosting services, some of which being Free web hosting service, Shared web hosting service, Reseller web hosting, Virtual Dedicated Server, Dedicated hosting service, Colocation web hosting service and Clustered hosting.

Software reliability is one of a number of aspects of computer software which can be taken into consideration when determining the quality of the software. With software embedded into many devices today, software failure has caused more than inconvenience. The factors which go into making a software reliable include detailed knowledge of the requirements of the client, designing a structured program with breaking a large program down into many smaller programs, such that those smaller pieces together do the work of the whole program, a complete understanding of a program's overall structure and functionality and performing manual or automated tests to determine if the program fulfills its behavioural requirements.

Mansi Aggarwal Recommends that you visit [http://www.discussweb.com/]http://www.discussweb.com for more information on [http://www.discussweb.com/] Web Development & [http://www.discussweb.com/] Software Development

Article Source: http://EzineArticles.com/?expert=Mansi_Aggarwal http://EzineArticles.com/?Web-Development,-Software-Development-And-SEO-Forum&id=485833

Thursday, August 16, 2007

Illusion Technologies: Software Development

Introduction To Software Development Lifecycle

By Shamsul Anuar Abdul Wahid

Software Development Lifecycle.

In order to understand what is Software Development Lifecycle (SDLC) let us break these words into two parts: Software Development , and LifeCycle.

Software Development.

Software Development is A PROCESS to create software.At first glance to a developer - this is the coding process. This is when you sit down with the computer and start to write codes that later processed (compiled,linked etc.) become the actual software that is used by the end user. This is might be the case for beginners or novice developer who are working on "garage" project.

In a small one person project its common for developers to go directly into coding and then testing their code. They are using common divide and conquer, then trial and error testing.But for a significant size software development trial and error method will be expensive.This is because large size project normally involved few developers. Any change in any part of the codes might requires other developers to change their code also.

Larger software development also requires better way to communicate, between the developers.The communication is to make sure developers understand what to be developed, when to start the development, when the other part of the software that they dependence to will be developed, when to test these parts together, what is considered pass..etc.etc. Lot of issues to synchronized the developers.

The larger the group, the harder it is to communicate to all the team members.

This can be worst if the team members are not located in the same place - which are common these day. The team that I am part of have people working in 4 different continents in different time zone.

To make it easier, a concept of "Lifecycle" is introduced.

Lifecycle

Common concept of lifecycle is communicated to a development team to synchronized all the team members - so that every one knows when are the important milestones.

Milestones are dates when certain important criteria or requirement has to be met.

Concept of lifecycle is not exclusive to software development.

For example a human being also has lifecycle. Start from the day a human being is born.

Then s/he grows become baby,teenager,adult, old and died. This lifecycle also can be traced differently based on different view -example if look from education lifecycle (of the same human being) it can start from pre-school,junior high, high school,college undergrad, and graduate.

To software lifecycle is look like normal products (cars,computers,furnitures) creation lifecycle.It can be splitted into 5 phases:

+ Requirement
+ Design
+ Implementation
+ Final test
+ Delivery

This phases actually applicable to the final product, or even into the individual component that make up the product. For example if you are creating a chair, then you have components such as the arm rest, legs,cushions, and back rest. Once the "high level" requirements (description, specification - lot of different names of the same thing) is defined the developer of each component should be able to continue on their own to produce the components. Each of the components will go through the same 5 phases lifecycle also.

This concept of "component" developement is that not far off from what is happening in software development. If you have been in the industry long enough I bet you have heard of "component based" development. The idea is to introduce generic requirement on how components can be handled, then as long as a component is developped in conformant to this standard it can be "plugged in" into another software that understand this standard with very little effort.

Even a lot of people say that software development should be the same as other product developement -- such as car and building constructions, but experience has proven that this is not true. The normal discipline that is used in building construction does not really work in software development.

From what the expert observation this is because in normal product construction such as a freeway, ideas and creativity are injected to the project only in very specific part of the phase -- early phase. In building construction creativity can come from the architect and also the civil engineers who has to figure out how to build what is envisioned by the architect. This is done in early stage (design) of the development phase. Once it is fixed the implementation, testing and delivery just need to follow the instructions.

In software development on the other hand, the injection of ideas is hard to controlled since its actually needed in every phase. From the high level architecture, down to low level programming, ingenuity and creativity is needed. Most software development actually depending on in development discoveries to come up with innovative products. New way of coding, new algorithm, new component can make the difference between on software to the other in term of feature offered,resource usage and performance.

Because of this software development process is normally "less rigid" compare to car or buiding construction. The side effect is that this can also caused two major problems:

+ project delay
+ low quality -- more bugs, untested code/features.

This is part of the challenge in software development.

About the Author: sawahid is a software developer and project lead by day and the owner of of http://www.dzikry.com a site dedicated with free information about software development.

Source: www.isnare.com

Tuesday, August 14, 2007

Illusion Technologies: Software Development

How To Choose Which Web Development Package Is Right For You
By Andrew Smith

There are plenty of options when it comes to web site creation
software and a wannabe web designer might have a hard time
deciding which to choose. We will have a look at the most
popular web creation programs: Front Page, Dreamweaver and Adobe
GoLive. All three offer a user-friendly interface and plenty of
beginner and advanced options that will allow you to create the
website of your dreams. A large majority of website hosting
companies accept the final outputs of the three programs, but
you will still need to check your web page for compatibility
with different web browsers.

Front Page
comes as a natural option to many web designers, partly because
being part of the Microsoft Office family this software offers a
familiar workspace. The interface is similar to the ones you
find in Word or Excel, with many identical buttons, keyboard
shortcuts and actions. Text formatting is piece of cake in Front
Page as it almost feels like you are using Word to do it. The
Insert/Picture command is also available here, allowing the user
to easily integrate images into the web page. Although many
experienced web designers see Front Page as a basic software,
you can still tweak your page to higher standards by using the
HTML view.

Dreamweaver
offers a lot more high-end features and is preferred by a large
community of web designers. You have more freedom using HTML
features and taking your web site closer to perfection. A very
useful option is the design and code split view – you see the
effects of the changes you make in the source code affect the
design in real time. Macromedia Dreamweaver allows you to create
from the simplest of web sites to very complex pages that
integrate Java applications and Flash elements. You may also
check the final result in different browsers, a very important
step that allows you to calibrate the web site for maximum
compatibility. It is also an excellent programme for beginners
because of its WYSIWIG (what you see is what you get) interface,
this allows the user to create web sites without having
knowledge of HTML coding. Some HTML coding knowledge will,
however, allow you to create better looking sites.

Adobe GoLive
is a favorite web creation software of designers that are used
to working with other Adobe products such as Photoshop or
Illustrator. The familiar Adobe workspace reduces the learning
curve for this program and allows easy integration of
cross-software elements. The graphic elements for the web site,
which are usually created in Photoshop, are effortlessly placed
into GoLive's workspace by a simple drag and drop move. The
excellent compatibility with other graphic design Adobe products
recommends GoLive as a great option when you want to create a
great looking website.

About the Author: Andrew Smith is a co-webmaster of HowToAll, a
site providing well researched information on accomplishing
tasks on various topics. http://www.howtoall.com

Source: http://www.isnare.com

Monday, August 13, 2007

Illusion Technologies: Software Development

Cross-platform Custom Software Development & Integration – It
Strategy For Large Corporation
By Andrew Karasev

Microsoft Business Solutions products: Great Plains, MS CRM,
Navision, Axapta, MS RMS integration with UNIX/Java based
platforms & non-Microsoft applications: Oracle, Lotus
Notes/Domino, DBII, PeopleSoft, SAP

The history of software application development indicates that
global trends to unification might be reversed in the future. If
you take a look at C programming language, intended as cross
platform solution (which resolves graphical interface cross
platform migration). Later on java was invented to encapsulate
the application within java virtual machine, and at the same
time we see thin client conception development, which can not be
done in C, due to the nature of the internet browser. So,
inevitably – large corporation, where system life cycle should
last at least a decade, should consider multiple platform
adoption: Unix, Microsoft, Linux, MS SQL Server, Oracle, DB2,
Lotus Notes/Domino, Microsoft Exchange, etc.

• Microsoft Business Solutions products integration. Project
Green will lead to Microsoft suites: Microsoft Financials,
Microsoft Distribution/Supply Chain Management, Microsoft Human
Resources. The interesting part is – which product will be the
base for the specific suite. At this point we don’t know the
answer

• Customization Tool evolution. If we look back to the history
of Microsoft Great Plains – Great Plains Dynamics/eEnterprise –
it had native programming language / IDE Great Plains Dexterity.
Today – Dexterity is concurring with such customization and
integration tools as eConnect – the set of stored procedures,
this is definitely the trend emphasizing SQL coding and
developing

• Cross Platform ODBC/JDBC calls. If we look at MS SQL Server
or Oracle Transparent Gateways and Generic Connectivity – we
will see that Database tools support cross platform
heterogeneous SQL requests and updates. The proof of the
co-existence trend – isn’t it?

• Java versus C#. The appearance of C# confirmed the fact, that
pure Java conception with its virtual machine and isolation
doesn’t satisfy Microsoft .Net development requirements. .Net
objects could not be isolated the same way as Java/EJB/J2EE.
This is where we again have to admit coexistence of two Worlds:
Microsoft Windows and Java

• The Stakes. Probably the mixture – and considering the fact
that cross-platform integration is addressed from both sides –
different platforms should be just integrated. Good balance
would be relatively inexpensive Microsoft Business Solutions ERP
application: Great Plains (USA, Canada, Latin America, Middle
East, Australia, New Zealand, UK), Navision (France, Germany,
Italy, Spain, Brazil, Japan, Russia and the rest of continental
Europe), Axapta – if you need rich ERP functionality – then your
business specific application: Freight Forwarding database,
Lease tracking, Consignment, etc. should be placed into
Oracle/DB2/Unix/Linux. Microsoft CRM - this is the temptation
and we do recommend it - it could be integrated with Java
applications

• Reporting. If you plan to deploy them from Windows side: use
Crystal Reports upon heterogeneous SQL views, in the case of
Java – it depends on the vendor: Oracle, PeopleSoft, SAP, IBM
Lotus Notes Domino, Siebel, etc.

We encourage you to analyze your alternatives. You can always
appeal to our help, give us a call: 1-866-528-0577 or
1-630-961-5918, help@albaspectrum.com

About the Author: Andrew Karasev is Chief Technology Officer at
Alba Spectrum Technologies ( http://www.albaspectrum.com ),
serving Microsoft Great Plains, CRM, Navision to mid-size and
large clients in California, Illinois, New York, Georgia,
Florida, Texas, Arizona, Washington, Minnesota, Ohio, Michigan
and internationally.

Source: http://www.isnare.com

Saturday, August 11, 2007

Illusion Technologies: Software Development

The Benefits of Custom Software Development vs. Generic Applications
By [http://ezinearticles.com/?expert=Gabriel_J._Adams]Gabriel J. Adams

In the world of computers being used for business, it is essential to have quality software regardless of the type of business you offer or the size of it. While technology is a great thing, it can be complicated especially when it comes to the issue of software. You don’t want to purchase general applications that are difficult to use and maneuver. You also don’t want to have additional features that you will never use. This is why custom software development is often a much better choice.

Custom software development starts with identifying your goals and the needs of your business. In many cases custom software development is less expensive than a general application because it is designed to meet your business needs. You also don’t have additional programs and features that you will never use. You will also get the software to do exactly what you need it to do, saving time for yourself and the other employees who may use the software.

It is important to choose a software programmer or developer who has taken the time to understand the type of business you conduct and what you want the software to do for your business. Check their references and that they are credible. You will want to find out about training, customer support, and a refund in the event you are not happy with your software. There are many reputable software programmers you can find in the newspaper, the yellow pages, and on the internet. It is a good idea to get an estimate for the work, what the software functions will be, and the completion date. All of this information as well as the training time and customer support should be in writing before you pay any money for services. [http://vectoronline.net/]Looking for a solution tailored to your needs? Look here: VectorOnline.net - Custom software development made easy! [http://vectoronline.net/]VectorOnline.net

Article Source: http://EzineArticles.com/?expert=Gabriel_J._Adams http://EzineArticles.com/?The-Benefits-of-Custom-Software-Development-vs.-Generic-Applications&id=414316

Friday, August 10, 2007

Illusion Technologies: Software Development

The Importance Of Software Testing Strategy
By [http://ezinearticles.com/?expert=Andrew_Winthorp]Andrew Winthorp

The software testing strategy is an essential process that comprises part of the software development lifecycle. Companies that fail to implement quality control standards and adequately define the range of tests for an application can destroy brand credibility, sabotage the overall project and create a cost blowout.

The test plan forms part of the project documentation. The goals, objectives and functional requirements of a software application are scoped and bounded by the project plan. The test documentation is designed to create test cases to qualify the application for functional fit, system stability, platform stability, usability and performance.

The initial functional test requirements are executed during the later stages of the first software build. The developer or development team puts the software through a series of tests to ensure that it meets the initial stakeholder requirements and to prepare the way for further test team, beta testing and end user testing. Specialized software is sometimes employed during the testing process. Regression software allows the development team to make modifications and record the changes along the way. This permits ‘rollback’ in the event that a change compromises existing code functionality.

The test phase allows a fresh set of eyes to subject the application to a range of ‘real world’ testing outside the formalities followed by the development team. This can include testing the software on different machines with different operating systems, functional testing and testing for ease of use. Feedback from this allows the development team to improve the applications performance and ease of use. In some cases an initial release of the software is provided to an intended audience to secure a wider range of feedback. This is commonly called beta testing. Large software companies frequently engage in this process to make use of the total skills and experiences that result from using a larger collective user base. Usability software is sometimes used during this process to collaborate and centralize the feedback from the testing phase.

Different software testing strategies are tailored to the business and cultural requirements of the software development company. An understanding of the software development lifecycle and the testing process is essential to any commercial software company. Implementing best practice standards is part of the ongoing commitment of industry professionals to the continual improvement paradigm.

Learn more about the essential aspects of [http://www.software-testing-strategy.com]software
testing strategy

Article Source: http://EzineArticles.com/?expert=Andrew_Winthorp http://EzineArticles.com/?The-Importance-Of-Software-Testing-Strategy&id=661580

Thursday, August 9, 2007

Illusion Technologies: Software Developers

Software Development And Layout Designing Information For Non-Profit Organisations
By [http://ezinearticles.com/?expert=Ricki_Morelli]Ricki Morelli

To be a successful software development company one has to be familiar with the different aspects of the market (the latest software and tools available), idea of end user needs, be able to comfortably work in today’s viable landscape, and also to provide the clients the requisite practical proficiency to fulfill their expectations.We have quite an experience, working since 2001, of comprising a vibrant and motivated team, helping clients in software development and layout designing services India for edifying their business and identities.

Meeting IT applications is not a tough job for us, as we hold the most talented and efficient teams. Since 2001, we have successfully provided our clients with best of solutions. We focus on creating innovative software development and solutions for today’s computing industry.As a software developing company India, we lay great stress on client satisfaction. We provide them with services that are focused, enabling then to reap benefits to the maximum.Our services include in providing them with best of services, available in present IT market.

We work in the most organized and intended manner, starting from project planning, its execution, and balancing resources to give timely output. We monitor each and every phase (from start to end) of the project with same dexterity and agility. India layout designing company propounding complete layout designing services. Our approach is strictly client based. We have successfully made our forte in dynamically constructed contents, online shopping portals that are database-driven, e-commerce applications, online communities, cargo industries, product promotion and many others.

I am author(Rickimorelli) i want to provide information [http://www.commediait.com]Software Development in India and layout designing information for non-profit organisations if any person want layout designing information then [http://www.commediait.com/layout-designing.html]visit for non-profit organisations.

Article Source: http://EzineArticles.com/?expert=Ricki_Morelli http://EzineArticles.com/?Software-Development-And-Layout-Designing-Information-For-Non-Profit-Organisations&id=540203

Wednesday, August 8, 2007

Illusion Technologies: Software Development

Top 10 Reasons Why Software Development Can Greatly Improve The Efficiency Of Your Business
By [http://ezinearticles.com/?expert=Richard_Zwinkels]Richard Zwinkels

In my life as a professional software engineer, I encounter many business owners whose business processes efficiency can greatly be improved upon.

Software development, using quality business software, training and advice can drastically improve the efficiency of your business when done right, because:

1. After knowing which existing business software on the market might be suited for your company you can save a lot of time and money for not having to develop your own customized software, which is much more expensive most of the time.

2. Repetitive tasks (like e.g. sending a fax or dialing a phone-number) can be automated, saving huge amounts of time.

3. Investing in the right additional hardware equipment (like scanners, barcode labels, radio-frequency identification tags, label printers, etc.) can streamline your business processes. For example: it's much easier to keep your inventory up to date and to find products easier in both your inventory and your business software.

4. By training you can learn how to do things differently and more efficiently. I often find people using Microsoft Software, like for example Microsoft Word and Microsoft Excel, but they only use the most basic functions. When I explain the more advanced functionality most often they quickly realize the benefits of it. I also talk to a lot of people who bought Microsoft Office, which also includes Microsoft Access, but they don't know what it is, the benefits of it or how it works. Once I explain, they want to know more.

5. It's much easier to quickly get an overview of the financial health of your company, where all the expenses went and which products or services brings the highest revenues.

6. Once the decision is made to invest in software development or buying existing business software, people usually think deeper about their business process, which often leads to new insights and improvements. For example, people often suddenly realise which business processes can be automated or improved upon. My experience is that this often leads to a huge increase in revenue in the future.

7. Most commonly, transactions are stored in a database, so it's easy to retrieve old data which is great for tracking and tracing purposes.

8. It's very easy to make all kind of reports, whatever the need.

9. More work can be done with less employees, saving lots of money. In some cases it's also easier to get a detailed overview of the productivity of your employees.

10. It's easier to set goals for your company and verify whether these goals were accomplished.

Author is a professional software engineer and has over 10 years of software development experience.

For more information visit his site [http://www.software-secrets.com/]http://www.software-secrets.com [http://www.software-secrets.com/]Computer Training - Microsoft Excel Tutorial - Software Secrets - Your Software Guide. Computer Training, Microsoft Excel Tutorial, Microsoft Word Tutorial, Microsoft Software Explained. Be more productive and save time and money.

Article Source: http://EzineArticles.com/?expert=Richard_Zwinkels http://EzineArticles.com/?Top-10-Reasons-Why-Software-Development-Can-Greatly-Improve-The-Efficiency-Of-Your-Business&id=664923

Template Design | Elque 2007