Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I checked all the relevant question's of my query and their answer's but my questions aren't exactly listed anywhere.

Basically i have just one year of web development experience using joomla , HTML , PHP etc.I have had .NET Training during my academics and now i have a requirement for a professional type .NET web application for a client.Since i don't have .NET production experience i want to ask and discuss few question's and have an advice from the expert's.

Scenario and Scope of the Project : I am required to develop a web application for hotel management in .NET with modules like

  1. User management ( actually roles like , administrator , reservation counter user , restaurant user etc ) with limited functionalities for each user except for the admin.

  2. Reservation Module ( includes reservation stuff , alloting room's etc )

  3. Billing Module (Includes pending bills from all department's at the time fo guest check out )

  4. Reporting Module ( I am confused with this module.i actually want to incorporate a graphical type of a view to show to the end user but i dont think i can get that done using crystal report's.Your Suggestion for this module would definitely help )

  5. Rates Setup.

So , now i want your suggestion as to what should i start first and their best practises ?

  • Database Designing.
  • GUI Designing.
  • Coding.

In my opinion , coding should be the last.isn't it ?

Also , please advise on security issues too as this is a web application so this must be safe and secure.I wont be using a SSL Certificate so the application would have to run on http only.

P.S we are two developer's both have same experience if you could also share about how we can distribute modules among each other and how we can work on the same application accessing it through two laptop's locally only ?

Thanks a lot and please dont get my question locked , removed as i couldn't find a relevant answer so this cant be a duplicate one or its context it too large.The question's have been clearly mentioned.Thanks again.

share|improve this question
    
Does your client know you haven't got any professional experience? –  AakashM Jul 17 '13 at 8:08
    
Yes he does know.So what do you want to point to ? Your helping hand or your arrogance ? –  Faheem Rasheed Jul 17 '13 at 9:23
    
I was just wondering. Generally when I'm paying people to do something, I want people who know how to do what I'm paying them to do, but maybe that's just my arrogance showing. –  AakashM Jul 17 '13 at 10:21
    
GUI design should come before database design, the GUI design should be a solution to the requirements, the database design should make the GUI possible. –  Marjan Venema Jul 17 '13 at 10:57
    
@AakashM With due repect , i am not new to programming i am just switching over to .NET for professional production and i have developed small projects during academics using .NET , Regards. –  Faheem Rasheed Jul 17 '13 at 15:15

1 Answer 1

up vote 3 down vote accepted

If you ask me (and you did) i wouldn't try to focus on the order of the steps (Database, GUI, Coding, DOCUMENTATION), because i'm a TDD/Agile advocate. Focus on writing one micro FEATURE at a time, and refactor/expand on a working mini system.

For example, start with an authentication portal where you only can login with a fixed username/password; next step is to add a database of users & roles, then add a feature to manage those users, etc. Another start would be to show a static map of room availability.

By doing it Agile, will stop you from over-designing a feature. It also helps to design your solution gradually. With most products, you only know what you really wanted to build at the end. With Agile, that effect is much less because after iteration 1 you have a working system.

EDIT: To answer your question on working as a team, I advise you to use a revision control system. Anything is better than none here. There's Subversion, SVN, Git, Mercury, and many more. For a closed-source project, i have very good experiences with the free BitBucket. It also comes with a free issue management tool.

share|improve this answer
    
Thanks a lot for your answer sir.Your version occurs very suitable to me.Thanks lot again. –  Faheem Rasheed Jul 17 '13 at 9:27

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.