Website development process step by step


I am working on developing a website for a start-up business, however I am trying ascertain the main steps needed to ensure that the website meets the business requirements.
I have listed the steps I believe are necessary to accomplish this below.
However, I will welcome feedback on any improvements that can be made to the process outlined.

Website Design Process:
Step 1 - Business Modeling
Step 2 - Business Process Modeling
Step 3 - Conceptual Data Modeling
Step 4 - Logical Data Modeling (Using UML)
Step 5 - Interface Prototyping
Step 6 - Coding (For Application and UI)

Could you please provide feedback on:
1. The order of the activities in the process,
2. Whether or not UML alone can be used for the Logical Data Modeling step and
3. Are there any other steps that can be included?
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Dave BaldwinFixer of ProblemsCommented:
I think that is way too sophisticated for most web sites.  Web sites are an exchange of information.  The client can find out about the business and contact the business.  Even Ecommerce is an information exchange.

The obvious things for a business web site, even a large one, are information on the business, contact forms for the client to contact the business, and then product related information and possibly ordering.

I would make a list of the things that the web site can do for that particular business and pare it down to the things it should do.
HonyaAuthor Commented:
Hi Dave
What exactly did you mean by "pare it down to the things it should do"?

Additionally I also noted your comments about the complexity of the website, however please note that the business will require a website which provides much more features listed.

We need the following features:
1.   Requirements CRUD (Customer and Internal)
2.   Request for Quotes CRUD
3.   Quote CRUD
4.   Order CRUD
5.   Invoice CRUD
6.   Shipment CRUD
7.   Customer CRUD
8.   Supplier CRUD
9.   Product Catalogue
10. A couple of web-services

Once a customer creates his or her requirements, he or she should be able to track all the Request for Quotes, Quotes, Orders, Invoices and Shipments, that are related to a particular requirement.

Our company is into distribution so in some cases we will be using web-services to request quotes and order products from suppliers.

Finally based on what I have just indicated, do you think that the approach that I initally suggested is too complex?
Dave BaldwinFixer of ProblemsCommented:
I think your feature list is much more important for the web site.  The web site does not normally represent all of what the business does.  Any of those items that the customer can access must be split between customer and internal access.  

And one of the biggest items will be SECURITY!  All caps because there is clearly money involved and that attracts hackers and thieves.  You may end up with two databases, one for internal use and a different isolated one for web access.  If you are collecting and storing credit card data, then you must implement PCI-DSS security which is both data and physical.
Build an E-Commerce Site with Angular 5

Learn how to build an E-Commerce site with Angular 5, a JavaScript framework used by developers to build web, desktop, and mobile applications.

HonyaAuthor Commented:
Finally, just a couple of questions based on what you mentioned:

1. Will you recommend placing the two databases on the same server?
2. How is the data transferred from the web database to the internal database?
Dave BaldwinFixer of ProblemsCommented:
1. Depends on needs, no particular recommendation... except that the web database should have only data that is used by the web site, nothing else.
2. Just an update or transfer procedure done daily or as needed.
HonyaAuthor Commented:
Hi Dave,

In your first comment, Posted on 2014-01-03 at 10:27:40 ID: 39754532, referring to the website design process I mentioned in the opening question you mentioned, "I think that is way too sophisticated for most web sites." However, considering that the business is a start-up, I believe that such steps are vital for success. Could you therefore comment on the two following questions?

1. Can UML alone be used for the Logical Data Modeling step?
2. Are there any other steps that can be included?
Dave BaldwinFixer of ProblemsCommented:
I have never used UML or "Logical Data Modeling" so I wouldn't know what other steps might be included.  After a little reading in Wikipedia, I can see where they might be useful.  But in doing 100 web sites, those concepts have never come up.  Though maybe they should have a few times.  It's hard to get small business owners to even list their requirements.  They are usually stuck on the "panic of the moment".

Please click on "Request Attention" above to get others to look at your question.
Scott FellDeveloper & EE ModeratorCommented:
Looking at your original question, it sounds like you have everything covered although to Dave's point about being overly complex, I could agree only because after doing enough of these things, we probably tend to think in terms of schemas and flowcharts in our head. I know when I am talking with a client for the first time even if they are a little confused as to what they are trying to say, I already have your first three steps in my head.  

What you are proposing is a good way of thinking everything through and by putting them on paper help get others on board.  Depending on who you are sharing with, you just may want to pare down the information so it is not confusing.  For yourself, having all this detail is a great help.

It does sound like you have this well thought out.  And understanding each step is very important.  I like to verify your step 2 - Business Process Modeling with client because this is  the basis that you create your schema and all your CRUD http:#a39755844.  

It is very common that even after I get past Step 5 - Interface Prototyping and after coding and people are using they realize what they meant to say in step 2 is different than what they actually said and now the changes needed require changes down the entire line.    

It even happens on this site.  Somebody asks a seemingly simple question on how to code js/css to do xyz based on a sample they have.  After I have created the code, "Oh, your code does not work, I meant to tell you the piece in the middle that is now hidden needs to stay".

The point is no matter how well you think you have this planned out, you still need to plan for final testing.  After saying all of this, Step 7 is very important, testing and recoding.

Good luck on your project, it sounds like you have this well thought out.
Ray PaseurCommented:
I got a neglected question alert on this one.  The question is far too broad and deep for any really good answer in a Q&A forum like EE.  It spans the breadth and depth of a bachelors degree in computer science, so about the best I can do is offer a little philosophy.  

In my experience, these details evolve as the web site is built.  And since the business is a start-up, they probably don't know what they need from a web site yet.  Trying to do everything "behind closed doors" preparing for a "reveal" (like a real estate renovation) is at best a big time-waster, or at worst a sure path to catastrophe.  

The better path is always the iterative path, developing web site elements and capabilities step-by-step, working in concert with the client.  This is often called "agile" development.  A daily stand-up meeting identifies the goals and obstacles for the next 8 hours, then work proceeds, then at the end of the day we all have a beer and review our progress and our plans for tomorrow.

It's quite reasonable to have two or more instances of the web site.  One of them is "live" with a site map, public hosting, etc.  The other is "dev" where you can make all the mistakes you want, try out ideas for the client, etc.  Your deployment strategy would dictate what makes the move from dev to live.

This little book is helpful:

Best of luck with it, and I hope they make it to the mezzanine! ~Ray

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Bernard SavonetCIOCommented:
You have already had lots of good stuff above.
I will just add my 2 cents:
1 - you plan on site building; however you must also anticipate what will happen when the site will be up and running: is your customer aware of all the tasks that will need to be done sitewise (add new products, change prices, make season promos etc.) and for delivery (ie stocks, delivery, tracking, etc);
-- some of this is not your turf, however you must ensure of their awareness;
-- some of this is your turf: who will update? whether it is you or not, some work is involved from you and should be billed (even if you do not handle updates, you will need to train the updaters!)
2 - For design, just to insist on Dave's comment: consider that you web database might be destroyed or hacked... so place there as few info as possible; and your order/ stock / customers database should be accessable ONLY thru 1 or 2 machines
greetings Honya, , I have read this question and responses, And you do not say things that someone that has done web site development would say like - Business Process Modeling - Conceptual Data Modeling - Logical Data Modeling.
You do say this -"Product Catalog wid web-services where a customer creates an account for his or her requirements."
There are thousands of web sites that sell products and services, who do this very thing now, very successfully, so you may can look to some ideas that others have used to do this without re-inventing it from the start.
As to web development, I feel that "Result and Goal oriented web site development" wins at every turn, where you (or some one In Charge, that has web design experience) defines the Site that the whole team will work towards "creating and coordinates and guides", , all module and pieces and parts of team development towards a unified easy-to-use Client-Attractive result web site.  Simplify the pages and client view, to easy navigation and understanding, touch access, whenever possible. Remember that without Clients you make no profit, when you set your design goals. In the "Interface Prototyping" be sure to have several many "typical user" testers, where you listen to their trouble navigating your Prototype, or finding and using EXACTLY what they came to your site to get. And change the Prototype from "normal people" NOT the pro web developers that "know too much", to have good opinions about interface crap and normal user happiness. Do Not handle the important security code requirements with someone inexperienced! ! ! as you seem to be by your response about Dave Baldwin suggestion about "two databases". Web security is now extremely complex, and even Large Businesses with great security setups get "Hacked" and have financial losses. Pay the price required to get significant web security.

I think these apply more to software development.
By experience even long time company don't take the time to do the things correctly because they need money (fast money).
These steps are overkilled for website development to my opinion.

Most of the time Website are marketing tools to attract new customer.
Know the domain, client, competitor (the market).
Use your own code try not depend of CMS or Framework.
Think about visual, mobile, responsive aspect, navigation, security, social network
and the content.

Good luck
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
DB Dev Tools

From novice to tech pro — start learning today.