Domanda

I hope this is okay to post here. A family friend of mine owns a pizza store, and asked me if I could develop him touch-screen point of sale software for his store. He says he wants something really simple, with no integration to a cash register. Basically, it just needs to calculate his order and print out his receipt.

I am currently in 3rd year of CS at University of Waterloo. All of the work I have done for school has been under a command line interface and I was hoping to maybe tackle this project as a way to further my development experience. When I was first told of the project, I assumed that it was too far over my head, but after a little bit of research, I felt like I wanted to see if I could do it.

I was thinking of using Microsoft Visual Studio for the GUI builder, and use a C++ backend since it is the language I am most versed in. I haven't really done anything like this, so I know I will have to do a lot more reading/learning/etc. From you guys, I guess I have a few questions:

  1. Is this project doable for someone thats really only worked/developed small little CUI scripts?

  2. Do you have any tips/ideas/tools/websites or anything that could perhaps help me along this project?

I hope this post is okay, as it is not really technical (yet), but I would love to hear some thoughts and ideas from you guys. I feel like getting this done is something that will be invaluable to my experience.

Thanks guys!

È stato utile?

Soluzione

  1. Yes, it's definitely possible, but GUIs are very different from CUIs.

  2. If you're a 3rd year student, you can probably learn how to drive the interface code somewhat easily, so I'll give you some generic tips:

    • GUIs are event-driven, which means you should wait to see what the user does and react accordingly, instead of prompting for input.
    • You should only prompt the user for specific input when absolutely necessary, and have a backup plan in case the user doesn't have the requested information.
    • Design the interface to work like your client expects it to, not how you think it should work.
    • Value ease-of-use above all else.
    • Don't make your program do anything the user doesn't expect it to, such as modifying files unnecessarily or modifying the user's input unnecessarily.
    • Since the goal is a touch-screen interface, use larger-than-normal buttons and try to avoid complex menus.

  3. And some tips for actual code:

    • Keep your event handling in a central location, and branch out from there.
    • You can get a ton of info directly from the environment, so you usually don't need to store things such as which tab is currently active or how big the window is.
    • Most interface code can be easily relocated, so don't be afraid to "hack in" a new button or something and then move it later (although make sure you don't forget about it!).

Altri suggerimenti

I recommend you to use C#, it is similar to C++ (i.e syntax) , and easy to connect to (sql server , MS Access) databases and (Crystal) reports .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top