如何开始一个更大的IT技术项目?

3
大部分时间,我编写小应用程序以供自己使用或为学习而编写。现在我的编程技能被认为是中级水平,我想知道如何处理一个大型编程项目。
假设我想要设计一个具有许多功能且供他人使用而不仅仅是我的应用程序; 我该如何计划这样的项目?
我只是开始编码还是有某种推荐的流程吗?
提前感谢: D

你可能想在你的问题中添加一个语言标签。因为答案的某些部分可能是特定于某种编程语言的。 - Steve Robillard
2个回答

2
尽管史蒂夫有一个很好的推荐,但我认为那个答案可能超出了你目前的能力范围。
如何超越你过去所做的事情的“简化”版本是:
1. 从用户那里收集需求。将它们写下来,以所需功能为单位。 2. 制作简单的屏幕布局。这里的主要部分只是将功能分组到正确的区域。 3. 构建数据模型 4. 构建实际的屏幕并将其与数据模型相结合。 5. 使用更多功能进行迭代。
在每个阶段都停下来做现实检查。例如,屏幕是否合理?信息是否以良好的方式组织?哪些方面可能会出问题等。
最重要的是,与实际使用该产品的人保持沟通。
此外,成功项目有两个关键点。第一是将其分解成可管理的部分。换句话说,将其分解成可以快速交付的每个部分,称之为完成,并移动到下一个部分。这将帮助您保持专注,不会陷入困境。
第二点,利用你已经掌握的技能。在晋升时,不要把这看作扩展编码技能的机会。相反,你的重点应该放在学习项目管理上。
完成一两个迭代后,再研究一下各种软件开发方法论,比如Scrum、Waterfall等,看看它们能为你提供什么样的帮助。
祝好运!

1
你需要考虑的一些事情包括工具链,包括源代码控制、单元测试、文档、自动化构建、持续集成、缺陷跟踪等。这个级别的程序很快就会变得非常复杂。所以你绝对不想只是开始编码。你需要列出程序应该做什么的清单。然后将此列表细化为必须具备、希望具备和在完美世界中具备的内容。从这个列表中,你可以开始设计数据库模式、屏幕设计和类结构(假设采用面向对象编程)。
这本书基于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

你还需要考虑沟通,大多数复杂程度达到这个级别的应用程序并不是单个人的作品,而是一个团队的成果。因此,有效的沟通和团队合作变得非常重要。

这远远不是你创建成功产品所需要的全部,但应该能为你指明正确的方向。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接