我想问一下软件是怎样开发出来的
我知道首先学一门编程语言(以为是软件开发的工具),还有数据结构与算法这些基础知识,但是具体开发某一行业的软件,比如说photoshop,医疗软件这些是否要求程序员有这些方...
我知道首先学一门编程语言(以为是软件开发的工具),还有数据结构与算法这些基础知识,但是具体开发某一行业的软件,比如说photoshop,医疗软件这些是否要求程序员有这些方面的专业知识?如果没有的话那么程序有是怎么开发出来的?谢谢帮我释疑!
展开
4个回答
展开全部
首先你的问题问的极为模糊,我告诉你吧,我是学计算机的,快毕业了!~
做一个大型软件,例如visul stdio,不是一两个人活几十个人能做的出来的,其次,做软件的过程很漫长,并不是说开发软件的代码很困难,而是在做软件之前你必须做需求分析,详细了解客户的需求,这样作出来的软件才不会不实用,其次再有架构设计、详细设计、编码和调试、测试、安装部署及项目管理等,做医疗软件的程序员,除了扎实的基础知识外,必须对医疗的知识很了解,这样你在框架设计是才不会盲目的设计!~在经过的了漫长的过程后,等软件发布后你还得做一系列的维护工作,比如更新!~
所以软件的开发不是一朝一夕能完成的,其中有一个环节出现问题都是很要命的!~
我回答的还可以吗^呵呵!~我可不是复制粘贴的哦!~
做一个大型软件,例如visul stdio,不是一两个人活几十个人能做的出来的,其次,做软件的过程很漫长,并不是说开发软件的代码很困难,而是在做软件之前你必须做需求分析,详细了解客户的需求,这样作出来的软件才不会不实用,其次再有架构设计、详细设计、编码和调试、测试、安装部署及项目管理等,做医疗软件的程序员,除了扎实的基础知识外,必须对医疗的知识很了解,这样你在框架设计是才不会盲目的设计!~在经过的了漫长的过程后,等软件发布后你还得做一系列的维护工作,比如更新!~
所以软件的开发不是一朝一夕能完成的,其中有一个环节出现问题都是很要命的!~
我回答的还可以吗^呵呵!~我可不是复制粘贴的哦!~
展开全部
不需要!!
这样把,我提供一些软件开发的流程,我举一个例子:
你是一个软件开发的老板,我是一个软件开发的员工,翻然 你的公司还有很多从事其他业务的人员,一天的工作开始了
一个客户来到了我们的公司,首先由接待员接待,问请他要开发什么样的软件(类型),并把他的问题提交给程序策划人员,这还不够,第二天,策划人员要与客户面谈,内容就是软件需要什么样的功能,并给出合理的建议,以及针对某一个功能进行评估,(是否能够满足,因为客户的要求有的时候是不可能完成的,他毕竟是外行)。他了解了客户的要求以后,并对该软件进行详细的分解,并最后决定是否接受该软件的开发,分解的过程是这样的:
1 列出该软件的功能表:针对每一个问题,都有一个详细的说明
2 根据功能表,制定出软件的几大模块。
并切根据模块的复杂程度,决定是否继续划分出更详细的模块
3 详细分解模块之间的关系,并画出关系图纸。我门叫他《程序的流程图》
做好了以上的工作以后,就可以将各各模块分发给普通的程序设计者,设计者们根据模块的要求,设计自己的程序模块,具体的工作是:
1 分解模块的问题,并指定出可行的算法。
2根据算法,画出流程图,
3根据流程图及算法,编写程序代码
4上机运行。
5找出程序的错误。
6返回第3步,修改代码,继续第4步,5步
直到程序没有错误,
每个程序员都这样完成了自己的工作,
并把自己的模块的 代码,流程图,及其他稳当提交给程序策划人员,策划人员接过代码后编写主要的函数(既主程序)目的是将各模块主和在一起,形成一个完整的程序。在这一过程中也有返工和修改错误的可能。直到程序完好。
下面的工作就有测试人员完成了
要分别进行 嘿盒子测试,和白盒子测试。
黑盒子测试: 由非设计人员,提出一些极端的,苛刻的,以及错误的要求,看程序是否可以正常运行。如果不能,修该程序。
白盒子测试: 有程序设计者提供合理的,全面的要求,看程序是否可以正常运行,如果不能,修改。
经过测试,程序已经设计完毕。由接待人员把程序提交给客户,并客户调试,运行,满意以后,交钱。
程序的文挡要保留好,因为客户很可能继续提出跟高的要求,一旦事情发生,程序员根据历史文挡进行程序的功能扩葱,这就是人们常见的版本,例如 photoshop v1.2 ,photoshop v2.0
等等,
这是从人员的角度开发程序的过程。
一个程序是如何产生的呢 答案如下
愿代码 -》编译程序-》目标程序
原代码:
根据程序设计语言编写的文本
例
main()
{
printf("这就是一个程序,它的功能很简单,就是在屏幕成打印这句话!");
return(0);
}
计算机硬件是看不懂这样的字的,必须有相关的编译程序翻译成计算机硬件可以识别的 2进制文件例如
00110011 00111100 11001010 11001010
00001111 00010001 00011010 00101000
目标程序就是以上的 由 0 和 1 主成的目标程序,这样的程序就可以使用了。
这样把,我提供一些软件开发的流程,我举一个例子:
你是一个软件开发的老板,我是一个软件开发的员工,翻然 你的公司还有很多从事其他业务的人员,一天的工作开始了
一个客户来到了我们的公司,首先由接待员接待,问请他要开发什么样的软件(类型),并把他的问题提交给程序策划人员,这还不够,第二天,策划人员要与客户面谈,内容就是软件需要什么样的功能,并给出合理的建议,以及针对某一个功能进行评估,(是否能够满足,因为客户的要求有的时候是不可能完成的,他毕竟是外行)。他了解了客户的要求以后,并对该软件进行详细的分解,并最后决定是否接受该软件的开发,分解的过程是这样的:
1 列出该软件的功能表:针对每一个问题,都有一个详细的说明
2 根据功能表,制定出软件的几大模块。
并切根据模块的复杂程度,决定是否继续划分出更详细的模块
3 详细分解模块之间的关系,并画出关系图纸。我门叫他《程序的流程图》
做好了以上的工作以后,就可以将各各模块分发给普通的程序设计者,设计者们根据模块的要求,设计自己的程序模块,具体的工作是:
1 分解模块的问题,并指定出可行的算法。
2根据算法,画出流程图,
3根据流程图及算法,编写程序代码
4上机运行。
5找出程序的错误。
6返回第3步,修改代码,继续第4步,5步
直到程序没有错误,
每个程序员都这样完成了自己的工作,
并把自己的模块的 代码,流程图,及其他稳当提交给程序策划人员,策划人员接过代码后编写主要的函数(既主程序)目的是将各模块主和在一起,形成一个完整的程序。在这一过程中也有返工和修改错误的可能。直到程序完好。
下面的工作就有测试人员完成了
要分别进行 嘿盒子测试,和白盒子测试。
黑盒子测试: 由非设计人员,提出一些极端的,苛刻的,以及错误的要求,看程序是否可以正常运行。如果不能,修该程序。
白盒子测试: 有程序设计者提供合理的,全面的要求,看程序是否可以正常运行,如果不能,修改。
经过测试,程序已经设计完毕。由接待人员把程序提交给客户,并客户调试,运行,满意以后,交钱。
程序的文挡要保留好,因为客户很可能继续提出跟高的要求,一旦事情发生,程序员根据历史文挡进行程序的功能扩葱,这就是人们常见的版本,例如 photoshop v1.2 ,photoshop v2.0
等等,
这是从人员的角度开发程序的过程。
一个程序是如何产生的呢 答案如下
愿代码 -》编译程序-》目标程序
原代码:
根据程序设计语言编写的文本
例
main()
{
printf("这就是一个程序,它的功能很简单,就是在屏幕成打印这句话!");
return(0);
}
计算机硬件是看不懂这样的字的,必须有相关的编译程序翻译成计算机硬件可以识别的 2进制文件例如
00110011 00111100 11001010 11001010
00001111 00010001 00011010 00101000
目标程序就是以上的 由 0 和 1 主成的目标程序,这样的程序就可以使用了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我是软件开发专业的,主要是web,电脑桌面应用开发和APP开发,需要一定的代码基础。可以自己去找本或者买本书自学,遇到不会的可以百度,百度是大家的好老师。
中国最缺的就是软件开发人员,JAVA,SQL,C++等你随便学精一俩个就够你乐的了.
其次是网络,安全防护,多媒体和硬件方面的,这俩个没什么差别,关键是要做深.不是能组和局域网就算是网络工程师了,也不是能装个机能DIY一下就算是硬件专家了,无论哪方面都要往深里学了才有用.
中国最缺的就是软件开发人员,JAVA,SQL,C++等你随便学精一俩个就够你乐的了.
其次是网络,安全防护,多媒体和硬件方面的,这俩个没什么差别,关键是要做深.不是能组和局域网就算是网络工程师了,也不是能装个机能DIY一下就算是硬件专家了,无论哪方面都要往深里学了才有用.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Photoshop属于工具类软件,这个需要一定的专业知识,而我们国内目前还是处在应用这些软件的阶段,做工具类的不太多,蛛网时代倒是做这个的,可以了解一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询