Although Steve has a good recommendation, I think that answer is probably a bit beyond where you are at.
The "simplified" version of how to go beyond what you've been doing is:
gather requirements from the users. Write them down in terms of required functionality.
Do simple screen layouts. The main part here is just to get functionality grouped into the right areas.
Build a data model
Build the actual screens and tie them to the data model.
Iterate with more features.
At each point stop and do a reality check. For example, do the screens make sense? Is the information organized in a good way? What areas might you have a problem in? etc.
Above all, stay in communication with the people that will actually use this product.
Also, their are two keys to a successful project. The first is to break it down into manageable portions. In other words break it up so that you can deliver each piece quickly, call that piece done, and move to the next. This will help you to stay focused and not get in over your head.
Second, work with what you know. When moving up, refrain from taking this as an opportunity to expand your coding skills. Instead, your focus here is going to be on learning project management.
After you've done one or two iterations of this, then look into the various software development methodologies such as scrum, waterfall, etc and see what they have to offer you.
Some of the things your going to want to look at is a tool chain including source code control, unit testing, documentation, automated builds, continuous integration, bug tracking etc. Programs at this level become very complex very quickly. So you definitely don't want to just start coding. you are going to want to develop a list of things the program should do. Then refine this list to must haves, would be nice and in a perfect world. From this list you can start designing a database schema, screen designs, and a class structure (assuming OOP).
This book is based on web applications, but much of it applies equally well no matter what language you are working with:
You will also want to think about communication, most applications at this level of complexity are not the product of a single person, but rather a team. As a result effective communication and teamwork, become very import considerations.
This is by far not everything you will need to create a successful product, but should start you in the right direction.
发布评论
评论(2)
尽管史蒂夫有一个很好的推荐,但我认为这个答案可能有点超出你的范围。
如何超越您一直在做的事情的“简化”版本是:
在每个点停下来进行现实检查。例如,屏幕有意义吗?信息的组织方式是否良好?您可能在哪些方面遇到问题?等等。
最重要的是,与实际使用该产品的人保持沟通。
此外,它们是项目成功的两个关键。首先是将其分解为可管理的部分。换句话说,将其分解,以便您可以快速交付每个部分,称该部分已完成,然后移至下一个部分。这将帮助您保持专注,不会陷入困境。
其次,利用你所知道的知识。晋升时,不要以此为扩展编码技能的机会。相反,您在这里的重点将是学习项目管理。
完成一两次迭代后,请研究各种软件开发方法例如 scrum、瀑布等,看看他们能为您提供什么。
祝你好运!
Although Steve has a good recommendation, I think that answer is probably a bit beyond where you are at.
The "simplified" version of how to go beyond what you've been doing is:
At each point stop and do a reality check. For example, do the screens make sense? Is the information organized in a good way? What areas might you have a problem in? etc.
Above all, stay in communication with the people that will actually use this product.
Also, their are two keys to a successful project. The first is to break it down into manageable portions. In other words break it up so that you can deliver each piece quickly, call that piece done, and move to the next. This will help you to stay focused and not get in over your head.
Second, work with what you know. When moving up, refrain from taking this as an opportunity to expand your coding skills. Instead, your focus here is going to be on learning project management.
After you've done one or two iterations of this, then look into the various software development methodologies such as scrum, waterfall, etc and see what they have to offer you.
Good luck!
您需要查看的一些东西是工具链,包括源代码控制、单元测试、文档、自动构建、持续集成、错误跟踪等。这个级别的程序很快就会变得非常复杂。所以你绝对不想只是开始编码。您将需要制定一个程序应该执行的操作的列表。然后将这个清单细化为必备品,那就太好了,而且是在一个完美的世界里。从这个列表中,您可以开始设计数据库模式、屏幕设计和类结构(假设是 OOP)。
本书基于 Web 应用程序,但无论您使用哪种语言,其中大部分内容都同样适用:
http://www.amazon.com/Developing-Large-Web-Applications-Producing/dp/0596803028/ref=sr_1_1?ie=UTF8&s=books&qid=1273632445&sr=8-1< /a>
您还需要考虑沟通,这种复杂程度的大多数应用程序都不是一个人的产品,而是一个团队的产品。因此,有效的沟通和团队合作成为非常重要的考虑因素。
到目前为止,这并不是创建成功产品所需的全部内容,但应该让您朝着正确的方向前进。
Some of the things your going to want to look at is a tool chain including source code control, unit testing, documentation, automated builds, continuous integration, bug tracking etc. Programs at this level become very complex very quickly. So you definitely don't want to just start coding. you are going to want to develop a list of things the program should do. Then refine this list to must haves, would be nice and in a perfect world. From this list you can start designing a database schema, screen designs, and a class structure (assuming OOP).
This book is based on web applications, but much of it applies equally well no matter what language you are working with:
http://www.amazon.com/Developing-Large-Web-Applications-Producing/dp/0596803028/ref=sr_1_1?ie=UTF8&s=books&qid=1273632445&sr=8-1
You will also want to think about communication, most applications at this level of complexity are not the product of a single person, but rather a team. As a result effective communication and teamwork, become very import considerations.
This is by far not everything you will need to create a successful product, but should start you in the right direction.