我的个人软件是怎样炼成的?(详细说明一个软件的理论框架)
2012-01-05 13:41
363 查看
[作者]
网名: 猪头三
站点: http://www.x86asm.com
Email: pliceman_110@163.com
QQ: 643439947
编程生涯: 2001~至今[10年]
职业生涯: 9年
开发语言: C/C++; x86asm; Object Pascal; C#;
开发工具: VC++; Delphi;
研发领域: Windows应用软件安全; Windows系统内核安全; Windows系统磁盘数据安全;
技能种类: 逆向 驱动 磁盘 文件
[为什么要写这篇文章呢?]
很多初学者都在不停的困惑,学好了编程语言到底怎么去开发软件呢?一个软件到底是怎么构建起来的?
那么我针对这个疑问画了一个图。本人开发过大大小小的产品或者软件,但由于都不属于个人的,所以我在2010年下定决心开发一款属于自己的软件.结束自己没有个人软件的时代.
名为: 卸载天尊
官方网站:http://www.x86asm.com/ku_site/index.html
[看图说话]
以卸载天尊为例,开发这款软件需要哪种理论:
首先要有各种<Windows应用技术>,比如注册表,COM组件,安装和反安装的原理.熟悉了这些理论.然后就需要先决定好软件到底具备什么功能和什么样的人性化界面,这就需要<Photoshop>预先规划产品/软件的基本界面.功能规划和软件界面规划完成了,这时我们需要决定需要什么开发工具来开发,什么不同的开发工具开发的效率侧重点不同,这里我选择了使用<Delphi开发工具>,因为我看上他的界面开发效率,代码内核效率并不是我的重点考虑,因为这是一个比较简单的系统维护工具,暂时不考虑高性能运作.那么既然采用了这个开发工具,就得熟悉<Object
Pascal语言>,因为这个开发工具是为Object Pascal程序员准备的,所以需要学习它.下面我们开始编码,一个软件要能运转,那么<数据结构算法>是灵魂,因为你需要把很多数据组织起来,然后进行各种操作,比如搜索排序查询等.下一步就是要提高软件对Windows系统兼容性,以及运行的稳定性等,那么这些需要开发人员具备扎实的Windows系统理论知识,我们可以从<Windows核心编程>这本书获取.万事俱备只欠东风,只要我们懂得前面的理论和流程,那么开发一个软件实际上就是调用Windows系统已经提供好的功能接口,这里专业术语是<Windows
API>,一个Windows下系统运行的软件大部分会使用Windows功能接口,我们不会重新去开发这些的已有的功能,直接使用就OK了.但如何学好这些功能接口、Windows系统理论的应用、数据结构算法的使用呢?那么这些就离不开C/C++语言了,因为现在很多基础理论资料都是用这2种语言来描述的,所以我们得学习这2种语言.
[显示图片]
由于CSDN的博客问题,图片过大会显示不完整,你可以直接查看下面链接查看完整图片.
http://www.x86asm.com/x86asm_new/howcreateku/howcreateku.jpg
网名: 猪头三
站点: http://www.x86asm.com
Email: pliceman_110@163.com
QQ: 643439947
编程生涯: 2001~至今[10年]
职业生涯: 9年
开发语言: C/C++; x86asm; Object Pascal; C#;
开发工具: VC++; Delphi;
研发领域: Windows应用软件安全; Windows系统内核安全; Windows系统磁盘数据安全;
技能种类: 逆向 驱动 磁盘 文件
[为什么要写这篇文章呢?]
很多初学者都在不停的困惑,学好了编程语言到底怎么去开发软件呢?一个软件到底是怎么构建起来的?
那么我针对这个疑问画了一个图。本人开发过大大小小的产品或者软件,但由于都不属于个人的,所以我在2010年下定决心开发一款属于自己的软件.结束自己没有个人软件的时代.
名为: 卸载天尊
官方网站:http://www.x86asm.com/ku_site/index.html
[看图说话]
以卸载天尊为例,开发这款软件需要哪种理论:
首先要有各种<Windows应用技术>,比如注册表,COM组件,安装和反安装的原理.熟悉了这些理论.然后就需要先决定好软件到底具备什么功能和什么样的人性化界面,这就需要<Photoshop>预先规划产品/软件的基本界面.功能规划和软件界面规划完成了,这时我们需要决定需要什么开发工具来开发,什么不同的开发工具开发的效率侧重点不同,这里我选择了使用<Delphi开发工具>,因为我看上他的界面开发效率,代码内核效率并不是我的重点考虑,因为这是一个比较简单的系统维护工具,暂时不考虑高性能运作.那么既然采用了这个开发工具,就得熟悉<Object
Pascal语言>,因为这个开发工具是为Object Pascal程序员准备的,所以需要学习它.下面我们开始编码,一个软件要能运转,那么<数据结构算法>是灵魂,因为你需要把很多数据组织起来,然后进行各种操作,比如搜索排序查询等.下一步就是要提高软件对Windows系统兼容性,以及运行的稳定性等,那么这些需要开发人员具备扎实的Windows系统理论知识,我们可以从<Windows核心编程>这本书获取.万事俱备只欠东风,只要我们懂得前面的理论和流程,那么开发一个软件实际上就是调用Windows系统已经提供好的功能接口,这里专业术语是<Windows
API>,一个Windows下系统运行的软件大部分会使用Windows功能接口,我们不会重新去开发这些的已有的功能,直接使用就OK了.但如何学好这些功能接口、Windows系统理论的应用、数据结构算法的使用呢?那么这些就离不开C/C++语言了,因为现在很多基础理论资料都是用这2种语言来描述的,所以我们得学习这2种语言.
[显示图片]
由于CSDN的博客问题,图片过大会显示不完整,你可以直接查看下面链接查看完整图片.
http://www.x86asm.com/x86asm_new/howcreateku/howcreateku.jpg
相关文章推荐
- 一个简单RPC框架是怎样炼成的(II)——制定RPC消息
- 一个简单RPC框架是怎样炼成的(V)——引入传输层
- 一个简单RPC框架是怎样炼成的(I)——开局篇
- 怎样从0开始搭建一个测试框架_9——抽取器
- 快速构建一个简单的个人框架系列
- Java Annotation认知(包括框架图、详细介绍、示例说明) (转)
- 一个QQ好友的个人说明
- 软工阅读作业之二------真正“有用”的软件是怎样炼成的
- WebService(一):详细步骤带你编写第一个简单的CXF框架实现WebService程序
- 我就是一个香港导演---走出软件作坊:三五个人十来条枪 如何成为开发正规军(三十八)
- 使用struts、hibernate、spring进行框架整合流程详细说明(完整版)附:开发规范
- 怎样才算是一个好的windows forms 应用程序框架?
- 使用struts、hibernate、spring进行框架整合流程详细说明(完整版)附:开发规范
- 转:怎样做一个优秀的软件模型设计者
- Tangram:一个基于MFC框架的柔性软件开发系统
- 个人软件过程4 功能说明和用户体验设计
- 软件开发者面试百问-----怎样知道一个数字是不是2的乘方?怎样判断一个数是不是奇数?
- 怎样从0开始搭建一个测试框架_10——数据生成器
- 一是关于怎样找出和去除重复数据,这在另一个帖子利已有详细介绍。二是关于找出某一列里最大或最小的前几个,或是大于或小于某一个值(最大值或平均值)的数据
- 个人写的一个偷懒的软件,有兴趣的拿去用用(更新).