精华内容
参与话题
问答
  • 开发都有那些岗位呢?

    千次阅读 多人点赞 2018-10-17 13:41:29
    昨天和大家说了,要分享一下项目的开发流程。不过在此之前我们先了解一下开发标准岗位都有那些以及他们的工作职责是什么?也方便在接下来的过程中能够很好的理解。 一、项目经理 简称:PM   企业建立以项目经理...

    昨天和大家说了,要分享一下项目的开发流程。不过在此之前我们先了解一下开发标准岗位都有那些以及他们的工作职责是什么?也方便在接下来的过程中能够很好的理解。

    一、项目经理       简称:PM      

         企业建立以项目经理责任制为核心,对项目实行质量、安全、进度、成本管理的责任保证体系和全面提高项目管理水平设立的重要管理岗位。职责:

    1、负责软件项目管理及计划实施;
    2、具备较强管理、协调及沟通能力,帮助开发人员解决开发过程中遇到的技术问题,做好日常的开发团队管理工作;
    3、与各团队协同工作,确保开发工作正常顺利的开展;
    4、具备较强的分析问题、解决问题的能力,能够解决项目团队在开发过程中遇到的技术难题。

    在项目经理这一块根据公司的需求不同可以主要分为:懂技术并能够参与到开发中来、了解技术主要负责管理,这两类。项目经理的职责当然不仅仅只有上面那些。这部分是日常项目经理所需要做的工作大家不妨进行参考,文章有多篇这里先提供一篇的链接大家去翻阅即可:https://blog.csdn.net/A_BlackMoon/article/details/83045650

    二、技术经理       简称:TM

         参与技术方向研究和总体规划,发展新项目,并且能够带领技术团队进行项目攻关。职责:

    1、确定企业系统架构的演进方向和路线图;
    2、开发过程的规范化管理;
    3、通过开发技术和过程管理能力的提升,提升开发效率和质量;
    4、能够对开发的交付质量进行量化管理;
    5、根据IT技术发展趋势,如移动互联、BI、大数据、云计算等,组织IT新技术研究,推进IT技术在宇通的落地应用

    三、产品设计经理       简称:PDM

           企业中专门负责产品管理的职位,产品经理负责调查并根据用户的需求,确定开发何种产品,选择何种技术、商业模式等。并推动相应产品的开发组织,他还要根据产品的生命周期,协调研发、营销、运营等,确定和组织实施相应的产品策略,以及其他一系列相关的产品管理活动。职责:

    1. 根据公司产品及用户需求,结合市场调研情况,进行产品规划;
    2. 负责用户沟通、需求分析诊断;
    3. 负责产品定位、用户体验流程定位及产品设计;
    4. 推动、协调与控制产品策划及研发工作,保证产品需求的有效实现;
    5. 负责产品持续升级,不断提升用户满意度及忠诚度;
    6. 对行业及竞争产品的分析,跟踪最新发展趋势,并提交分析报告。

    四、运营经理       简称:POM

           计划、指导或协调公司或公共和私营机构的运营活动。职责包括制定政策、管理日常活动、对物资和人力资源使用进行计划。职责:

    1、负责IT部门的日常管理工作;
    2、建立信息系统的开发技术标准、流程,信息系统运维制度;组织进行相关的系统培训工作;
    3、组织进行相关信息系统的开发工作。

    五、测试经理       简称:QAM

           测试经理的职责是有效的领导一个测试团队。测试经理必须理解测试的基本原则,在履行一个传统的领导角色的同时还应懂得该如何有效地实现一个测试流程。也就是说,测试经理应该管理、贯彻和维护一个有效的测试流程。这包括搭建一个能够支持良好沟通和有效成本控制的测试环境,创建一个有效的测试团队。职责:

    1、熟练使用测试工具如:TD、loadrunner、QTP等;
    2、制定测试过程的文档模板和规范;
    3、测试工具的选择、测试环境的搭建及使用培训;
    4、负责建立和维护有效的测试流程;
    5、负责制定和安排测试计划、测试工作;
    6、组织实施软件测试,对软件缺陷进行确认、跟踪分析和报告,推动测试中发现缺陷及时合理解决;
    7、负责与其他部门的人员沟通协作,例如与开发人员和项目管理人员进行沟通,共同推动项目的顺利进行;

    六、客服经理       简称:CSM

           职责:主要是监管客服的工作,以及客户直接反馈的对象。是项目的来自于客户需求的管理者,也是项目DEMO演示时的主要参与者之一。

    七、开发组组长     简称:TL

           其实就是个更小一点的项目经理。其职责:

    1、 参与软件的设计负责系统需求的分析,进行系统设计和数据库设计;
    2、 解决开发过程中技术问题和提供解决办法;
    3、 能够带领小组负责模块的功能开发;
    4、 负责项目组代码的审查工作,有效地控制项目的质量风险。

    八、架构师       简称:PA

           确认和评估系统需求,给出开发规范,搭建系统实现的核心构架,并澄清技术细节、扫清主要难点的技术人员。主要着眼于系统的“技术实现”。因此他/她应该是特定的开发平台、语言、工具的大师,对常见应用场景能马上给出最恰当的解决方案,同时要对所属的开发团队有足够的了解,能够评估自己的团队实现特定的功能需求需要的代价。 系统架构师负责设计系统整体架构,从需求到设计的每个细节都要考虑到,把握整个项目,使设计的项目尽量效率高,开发容易,维护方便,升级简单等。职责:

    1.主导产品的软件架构,保证架构设计能够满足产品的功能需求、性能需求、可靠性需求、可维护性需求和可扩展性需求;
    2.负责技术选型(包括:语言选择、框架选择、公共模块等);
    3.与产品经理沟通,分析需求,分析产品需求,起草并维护架构设计文档,培训工程师并且保证架构设计得到执行;
    4.制定技术文档和开发规范,并对开发过程进行持续改进;
    5.对团队开发人员进行代码质量审核、技术指导和监督;
    6.解决技术难题;
    7.承担关键攻关任务的同时,能够指导初级工程师,组织团队技术分享,促进团队成员共同进步。

    九、开发工程师       简称:DE

           根据软件概要设计、详细设计、编码、单元测试工作及说明文档的进行代码的编写。职责:

    1.熟悉各大常用框架;
    2.公司业务流程理解;
    3.能够很好的根据代码规范编写程序;
    4.有很好的学习和应用新技术的能力。

    十、数据库管理员       简称:DBA

           是从事管理和维护数据库管理系统(DBMS)的相关工作人员的统称,属于运维工程师的一个分支,主要负责业务数据库从设计、测试到部署交付的全生命周期管理。
    DBA的核心目标是保证数据库管理系统的稳定性、安全性、完整性和高性能。职责:

    1、全面负责各类数据库系统(如ERP、OA、网站等)的管理工作,保证其安全、可靠、正常运行;
    2、负责数据库的建设,做好服务器的维护、数据库软件的安装、数据库的建立工作,定期对数据进行备份;
    3、负责中心机房的数据库服务器的管理工作,做好服务器的日常运行记录;
    4、负责数据库服务器的安全防范管理。

    十一、系统管理员      简称:SA

               主要分为网络系统管理员和信息系统管理员。网络系统管理员主要负责整个网络的网络设备和服务器系统的设计、安装、配置、管理和维护工作,为内部网的安全运行做技术保障。服务器是网络应用系统的核心,由系统管理员专门负责管理;信息系统管理员则负责具体信息系统日常管理和维护,具有信息系统的最高管理权限。职责:

    1、负责公司云服务器的管理与维护, 保障公司网站,数据库服务器,应用服务器的正 常运行与数据的备份,同步;
    2、负责公司网络平台,网站域名等网络资源的维护,能进行J2EE应用的部署与配置;
    3、负责公司内部系统的安装、配置、管理、优化及日常运维工作;
    4、负责公司IT硬件设备、网络维护与管理,能够处理常见的系统、软硬件及办公设备故障,确保正常运行;
    5、完成上级安排的其它工作任务。

    十二、界面设计师      简称:UI

               对软件的人机交互、操作逻辑、界面美观的整体设计。职责:

    1、负责公司产品PC端和移动端的UI界面设计工作;
    2、配合完成校样修改和界面调整;
    3、深入了解负责的产品,并通过各种设计形式和视觉语言让用户感受到产品的优点和特性;
    4、跟进设计的变化和需求,注重相关文档的整理、资料的收集;能独立完成界面设计工作。

    十三、产品运营师       简称:PO

               产品运营师是一项从内容建设,用户维护,活动策划三个层面来管理产品内容和用户的职业。职责:

    1、行业应用和行业方案研究总结;
    2、客户技术交流和相关方案支持,确保产品配置的正确性和完整性;
    3、对友商产品和方案进行竞争分析和对比,对市场竞争形势进行动态总结;
    4、销售工具输出,并对内部销售人员进行培训;
    5、配合销售团队培养代理商/合作伙伴,并提供相关培训和长期支持;
    6、研讨会演讲、销售团队市场拓展活动支持;
    7、公司重点存储项目投标阶段的技术部分支持。

    十四、产品设计师        简称:PD

               一个创造性的综合信息处理过程,通过线条、符号、数字、色彩等把产品显现人们面前。它将人的某种目的或需要转换为一个具体的物理形式或工具的过程,把一种计划、规划设想、问题解决的方法,通过具体的载体,以美好的形式表达出来。职责:

    1、调查市场并研究需求,形成市场需求文档;
    2、负责新产品设计,拟定设计规划和方案;
    3、负责新产品的原型设计;
    4、组织产品开发团队,协调资源,跟进产品的开发,保证日程进度;
    5、分析产品运营数据,收集运营意见,及时调整产品形态,优化产品,并提出合理的运营建议;
    6、 以用户体验为中心,改进现有产品,或设计新产品。

    十五、测试工程师       简称:QA

               测试工程师,软件质量的把关者,工作起点高,发展空间大。职责:

    1.理解、分析需求文档,挖掘、细化需求;
    2.根据软件需求及设计文档编写测试用例,参与文档评审并维护相关文档;
    3.准备测试数据,执行测试用例,记录测试结果,整理测试报告;
    4.负责BUG的提交、跟踪、验证、关闭;
    5.负责测试部门测试环境及BUG系统管理与维护。
    6.对产品进行必要的功能,性能,安全,兼容性及其它方面的测试工作;
    7.公司安排的其它工作。

    有句话说,测试呢就是程序员的天敌。为什么会这么说呢?你们会觉得我好好的写得程序,那里有那么多的bug。测试他会全方位的审查你做的产品和代码,看看是不是步骤不一样了是否就会除问题等。他的主要工作就是给你做的东西挑毛病,挑到基本没有为止!就跟你谈恋爱的时候老是会挑你对象的毛病一样。还有一点,项目上线了,出了问题,是会扣他的钱的。一般来说,他们找到bug之后,可能面对面的跟你说bug是什么,再有就是在公司内部的网站上给你提交一个bug。

    十六、配置管理员       简称:PCM

              职责:

    1 .搭建代码管理服务器、编译和版本发布,并负责维护配置库的用户、权限、备份、项目初始化等工作;
    2 .管理和维护配置管理系统,编译环境的维护,自动构建脚本的编写;
    3 .负责配置库、配置管理系统、流程发布系统的配置部署;维护项目环境及项目状态信息,定期输出配置管理相关数据状态、报告;
    4 .进行配置管理审计,发现问题并推动问题及时合理地解决;
    5 .构建产品基线用于测试发布、产品发布;维护基线的变更历史记录等;
    6 .优化研发效率,与产品经理与研发经理一起提升团队的工作效率。

    十七、发布员       简称:PB

               负责发布程序到:开发环境,测试环境,线上环境。

    这一部分很多时候相关的开发人员或项目经理、架构师等会进行发布。

    十八、软件过程专员       简称:SQA

               职责:
    1、 协助项目的规范化以及风险告警;   
    2、 负责监督项目经理对项目管理制度、规范的执行;  
    3、 负责监控项目执行过程,包括项目立项、过程及结项,及时发现并协助项目经理解决项目重大问题,以保证项目按项目质量、成本及时间进度要求顺利完成;
    4、 负责协助项目经理或实施负责人,制定项目计划,协调项目资源,减少项目风险;
    5、 负责对项目进展进行测量及分析,定期发布相关项目分析报告;
    6、 负责提供项目管理相关的咨询、培训和项目管理方法、工具应用指导与支持;
    7、 负责对项目管理人员进行培训,提高其在项目管理方面的能力及技巧;
    8、 负责对项目管理经验、数据、模板进行建立、完善及总结,并在企业内推广使用。

    十九、运维工程师       简称:SRE

              运维工程师最基本的职责都是负责服务的稳定性。

    1. 产品发布前:负责参与并审核架构设计的合理性和可运维性,以确保在产品发布之后能高效稳定的运行;
    2. 产品发布阶段:负责用自动化的技术或者平台确保产品可以高效的发布上线,之后可以快速稳定迭代;
    3. 产品运行维护阶段:负责保障产品7*24H稳定运行,在此期间对出现的各种问题可以快速定位并解决;在日常工作中不断优化系统架构和部署的合理性,以提升系统服务的稳定性。

    以上基本便是相关的岗位了可能不是很完善,下面将会进一步介绍项目的开发。

    展开全文
  • 2019腾讯校园招聘开发岗面经(一面+二面+HR面) 背景: 华为实习结束前两天,突然接到腾讯的邮件,邀请我现场面试,但面试前需要我做道题,这道题的回答内容将作为一面时的沟通话题(当时整个人是懵的,咋还有这操作...

    2019腾讯校园招聘开发岗面经(一面+二面+HR面)

    背景:

    华为实习结束前两天,突然接到腾讯的邮件,邀请我现场面试,但面试前需要我做道题,这道题的回答内容将作为一面时的沟通话题(当时整个人是懵的,咋还有这操作)。暑期实习投的腾讯是安卓岗,华为实习期间是软件开发岗,最后拿到腾讯offer的岗位是专项技术测试开发(我以为和软件测试岗一样,看到题目以及最后和面试官的沟通才发现这根本就是开发,为啥呢?慢慢往下看)

    初面前的题目

    一共有四道题,任选其一进行回答。第一题是有关语音识别的,不会;第二题是有关云计算服务的,不会;第四题是有关安卓的,本人做过一些安卓项目,对安卓比较熟悉,但早就不想走这个方向了,因此也放弃;第三题是有关后台开发和架构的,这是我喜欢的,于是选择了这道题(每个题目都是实际工程中需要解决的问题,给答题者非常大的发挥空间,做完题非常期待腾讯大佬当面指点我一下)。

    题目及解答思路(题目太长,只写我选择的题目):

    一、题目:现在后台开发可选择语言很多,从历史悠久的PHP到新兴的GO;可选择框架更多,Python下常用的就有Django、Tornado等等。 至于部署方案,从apache、nginx时代到容器时代,更是发生了天翻地覆的变化。 另外,一个后台系统离不开数据库存储。从上世纪70年代起,关系型数据库一直独占鳌头,但NoSQL的出现结束了前者一枝独秀的局面。比如,MongoDB、Redis、ElasticSearch都是近几年DB引擎用户量排名TOP 10的常客,在不同应用场景下发挥着独特的价值。 那么,你所开发的后台系统,选择该种框架、部署方案和数据库的根据是什么呢? 如果要求这个系统实现1000次/秒并发访问+100G/天数据库存储,你会考虑何种优化方案,或者何种技术选择呢?

    二:我的思路:通过审题,首先这是一个高并发、高数据量的系统,这两个特点是选择语言、数据库的重要依据。我从数据库选择(选了MongoDB)、并发模型选择(选了基于go的GSP模型)、通信框架选择(选了grpc)和部署(选择了Nginx)四个方面进行了分析和解答;其次,关于优化方案,我认为提高效率,能复用的尽量多复用就是优化,我的方案是使用go的协程池进行优化。(看完所有题目以及提交完我的答案后,对这个岗位和面试充满了好奇和期待,第二天就收到了面试地点和时间的通知,开心又紧张)

    一面

    下午4.30到了面试九点,但前面还有好多人。5.15进去了。
    一面面试官很和蔼,喝了点水,边喝边问了问我的家乡,明显感觉不紧张了。他说我们开始吧。

    面试官:介绍下你自己

    我:请问有时间限制么?

    面试官:我面了一下午,你是最后一个了,你尽管说,我们就像聊天一样。
    我:省略一堆。。。(一直在讲自己做过的项目)

    面试官:你在这个项目中遇到的印象最深刻的问题是什么?
    我:项目最后有一个数据去燥处理的过程,我们把数据进行了两次取平均值。

    面试官:为什么要这么做?

    我:当时为了效果好,临时想了这个办法,取一次平均效果不好就继续取了一次。(说了一下具体怎么做的)

    面试官:这么做好像不太合理啊。(看到面试官有点皱眉,赶紧继续说)

    我:其实还有别的算法,还没来得及实现。

    面试官:什么算法?

    我:设两个阙值,设定上下限(详细说了下该怎么做)

    面试官:可以这么做,但还有什么算法,你再想想

    我:用KNN

    面试官:机器学习里的也可以用,但太麻烦了,你再想想,还有什么算法(这时候我整个人紧张到爆炸)

    我:那我大致说一个,但不知道靠谱不(面试官安慰我说别紧张,慢慢说)。 先清洗数据为乱序,把数据分成不同的部分,对于每部分来说,找到数据的峰值,对这个峰值的两边其他数据进行排序,离这个峰值距离很远的地方就去掉。(在纸上大概画了画)

    面试官:你所表达的这个方法,其实就是我一开始就想到的,找峰值就是为了呈现数据满足正态分布。我一直在等你说这个答案。
    面试官:我看你简历里挺多东西的,说一个你想和我讨论的东西

    我:我研究生方向是区块链,您感兴趣么?

    面试官:区块链和深度学习是我比较持中立态度的,这样吧,我也了解过但不是很懂,你想办法让我明白这到底是什么。

    我:那我拿一个区块链平台——以太坊的架构给您说(在纸上bla~bla笔划了一堆)

    面试官:那我差不多懂了,具体细节我得找些书来看学习啦。那你总结下区块链的特点及核心

    我:。。。(总结了几个点就不具体说了)

    面试官:你都擅长什么语言?说一下其特点

    我:以前搞安卓用的java,比较熟悉。但我对后台架构感兴趣,而go语言天生支持并发,恰好区块链底层需要用go语言,最近就一直在学习go语言。go语言您了解么?

    面试官:我们的云平台百分之40以上都是用go写的(撞枪口上了,我觉得他此时内心只想对我说句“呵呵”,哈哈哈),那你解释下他怎么天生支持并发的。

    我:主要体现在go中的协程以及底层的调度原理。。。(和面试官讨论了好久,面试官还给我讲了他们看中go其实主要原因是他对protobuf支持的比其他语言好,中间在一个地方提到了grpc的框架,于是继续往下问了)

    面试官:为什么grpc效率高?

    我:第一次听说grpc是参加hackathon比赛时候接触的,区块链底层通信也有用到这个框架,他基于tcp/ip层。。。(说了一堆)

    面试官:讲一下你在hackathon比赛时候做的项目。

    我:。。。(说了一堆)

    面试官:你们用到了GAN,你对GAN有了解么?

    我:不会强化学习相关知识

    面试官:好吧,你要是知道我们又有的聊了。那你手写个排序算法,冒泡写的太多,想个别的写。

    我:。。。(写了快排,我的字迹一塌糊涂,表现特别不好,写完后面试官说其实主要想看看你代码风格)

    面试官:操作系统你了解多少?用一个你熟悉的领域来解释操作系统里的一个知识点。

    我:MongoDB里用到了mmap ,内存映射文件(在纸上画了画,这时候给自己挖了个坑)

    面试官:你提到MongoDB,你说下为什么MongoDB查询快?

    我:因为mmap?

    面试官:mmap很多数据库都用到,不是它独有的地方。

    我:那我不会了,这方面不熟悉。

    面试官:看你有安卓开发经验,再问你最后一个问题吧。使用相册时涉及到图片的处理,如果UI给你把界面做好了,现在你需要设计传输图片的API,你会关注哪些点?

    我:。。。(说了几个点,这个问题和初面前出的关于安卓那道题差不多,实习回来之前刚好和学弟讨论过,还算有思路)

    面试官:你有什么要问我么?

    我:这个岗位是测试岗么?我想做开发,但和您聊下来感觉不像是测试岗。我理解的测试就是黑盒白盒测试。

    面试官:这个岗我都是从开发、数据挖掘方向招人,其实就是开发,你说的测试是自动化测试。我们的业务主要是对云产品进行性能的优化和提供解决方案,刚和你聊的方向我们都有涉及。

    我:感觉您什么都懂,移动开发到后台,还有数据处理。好强

    面试官:现在不都讲究全栈么,哈哈哈,我做过很多方向的开发。

    面试结束,一共两个多小时,感觉学到很多,酣畅淋漓。面试官太强了,总结能力表达能力各方面都让人佩服。一直在引导我,特别感谢他。

    二面(压力面)

    一面结束后当天晚上就收到了二面邀请,这次约的时间是下午两点半,我到的时候前面有五六个人在等。一面结束的那天晚上和第二天早上一直在想一面回答的不好的地方,尤其操作系统很薄弱,临时恶补了几个小时,怕二面被问到。

    一进来面试官就拿了张白纸和笔
    面试官:我给你出两道题,40分钟内完成,开始计时
    我此刻非常懵,也太干脆了,上来就出题,我都没说话的时间,手都在出汗。

    题目一:
    在这里插入图片描述
    上图中的9个五角星都是1-9中的数字,但不能重复,写出最后的答案(不用写代码)

    我只能想到暴力求解,其实枚举几次就能出结果的,我绕了一圈才找到,如果大家有好的解法告诉我噢。

    题目二:
    从左到右一共有100张牌,牌面是不重复的值,且能看到每个牌的值是多少。A和B玩这样的游戏:每人一次拿一张牌,一个人拿完另一个人再拿,直到所有牌拿完。
    条件是:1、第一次拿牌,A必须先拿,A拿完B才能拿;2、每次只能从整套牌的两头拿,不得从中间拿。
    问:有没有一种策略,使得最终A拿到的牌面总值总是大于 B?如果有,该怎么拿。

    我先想到的还是暴力解,枚举每一种牌面可能出现的排序状态。面试官很快阻止我说你不可能想到每一种结果,给你个提示,用数学归纳法。最后在面试官的引导下说出了答案。全程压力贼大,难怪都把二面称作压力面。后面还聊了下我学校做的项目和华为实习期的项目,以及我的兴趣和技能,面试官觉得我挺符合他们部门的标准。还了解到二面面试官是一面面试官的boss,虽然比较严厉,但还是超耐心,很nice,出门的时候长舒一口气,感觉应该稳了。面试时长差不多1个半小时。

    HR面

    不出所料,当天晚上收到了终面邀请,这次是第一场,下午两点开始。去的时候面试官还没到,也没面试的人,心里有点慌。脑子一热就去问了助理小姐姐:请问今天是HR面么?怎么没人来面试呀。小姐姐说:同学,走到终面的同学可不多噢。当时也说不出什么感觉,一个渣硕在战场上幸运的活到了最后?哈哈,皮一下。

    来之前做了一些攻略,发现HR面刷人也是常事,内心还是很紧张的。面试官是一个很成熟的女士,感觉是那种御姐范的职场女强人。具体的不说了,光上问题吧。

    1、简单介绍下自己。
    2、你是哪里人?
    3、你父母是做什么的?
    4、你父母对你的事业是持怎么样的态度?
    5、本科是哪个学校?
    6、考研成绩是多少?排名多少?
    7、你女朋友是哪个学校的?工作了还是在读研?
    8、你和你女朋友谁学习好?
    9、高中时期谈恋爱,你是怎么平衡学习和恋爱的?(我太实诚了,现在想想真不该提早恋的事,呜呜呜)
    10、为什么喜欢深圳?以前都去过哪些城市?
    11、你在华为实习做的项目是什么?
    12、你在做交接的时候有没有提前预知完不成的风险?给上级提前说好了么?
    13、华为的导师最后给你什么评价?
    14、你说你抗压,举个例子说明一下。
    15、当你碰到自己不太懂的任务,你如何处理?

    全程面试官面带微笑,一双大眼睛目不转睛的看着我。脑子保持八核运转,好几次险些掉进坑里。总之这一面保持一颗坦诚的心就够了,坦诚对人对事,是对待这个世界最好的方式,世界也会温柔对你吧。

    总结

    总体感觉自己很幸运与这次的技术面试官们非常聊的来,虽然他们表面在无限的探索我的知识边界,实际一步步在引导我发散思维,也让我在总结自己的不足。三天时间里感觉自己成长了好多,作为一个渣硕能得到梦想的公司大佬的认可和指点,对我是莫大的鼓励。很幸运,很开心。

    10月16号面试,18号面试结束,30号收到offer call,31号收到邮件offer。

    路还很长,沉下来,慢慢走。。。

    展开全文
  • 软件开发基本流程【一】

    万次阅读 多人点赞 2019-02-14 10:45:49
    它是一个对用户的需求进行去粗取精、去伪存真、正确理解,然后把它用软件工程开发语言(形式功能规约,即需求规格说明书)表达出来的过程。本阶段的基本任务是和用户一起确定要解决的问题,建立软件的逻辑模型,编写...

    分析 


    软件需求分析就是回答做什么的问题。它是一个对用户的需求进行去粗取精、去伪存真、正确理解,然后把它用软件工程开发语言(形式功能规约,即需求规格说明书)表达出来的过程。本阶段的基本任务是和用户一起确定要解决的问题,建立软件的逻辑模型,编写需求规格说明书文档并最终得到用户的认可。需求分析的主要方法有结构化分析方法、数据流程图和数据字典等方法。本阶段的工作是根据需求说明书的要求 ,设计建立相应的软件系统的体系结构,并将整个系统分解成若干个子系统或模块,定义子系统或模块间的接口关系,对各子系统进行具体设计定义,编写软件概要设计和详细设计说明书,数据库或数据结构设计说明书,组装测试计划 。


    设计 


    软件设计可以分为概要设计和详细设计两个阶段。实际上软件设计的主要任务就是将软件分解成模块是指能实现某个功能的数据和程序说明、可执行程序的程序单元。可以是一个函数、过程、子程序、一段带有程序说明的独立的程序和数据,也可以是可组合、可分解和可更换的功能单元。模块,然后进行模块设计。概要设计就是结构设计,其主要目标就是给出软件的模块结构,用软件结构图表示。详细设计的首要任务就是设计模块的程序流程、算法和数据结构,次要任务就是设计数据库,常用方法还是结构化程序设计方法。 


    编码 


    软件编码是指把软件设计转换成计算机可以接受的程序,即写成以某一程序设计语言表示的"源程序清单"。充分了解软件开发语言、工具的特性和编程风格,有助于开发工具的选择以及保证软件产品的开发质量。 
    当前软件开发中除在专用场合,已经很少使用二十世纪80年代的高级语言了,取而代之的是面向对象的开发语言。而且面向对象的开发语言和开发环境大都合为一体,大大提高了开发的速度。 


    测试 


    软件测试的目的是以较小的代价发现尽可能多的错误。要实现这个目标的关键在于设计一套出色的测试用例(测试数据和预期的输出结果组成了测试用例)。如何才能设计出一套出色的测试用例,关键在于理解测试方法。不同的测试方法有不同的测试用例设计方法。两种常用的测试方法是白盒法测试对象是源程序,依据的是程序内部的的逻辑结构来发现软件的编程错误、结构错误和数据错误。结构错误包括逻辑、数据流、初始化等错误。用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果。白盒法和黑盒法依据的是软件的功能或软件行为描述,发现软件的接口、功能和结构错误。其中接口错误包括内部/外部接口、资源管理、集成化以及系统错误。黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。黑盒法。 


    维护 


    维护是指在已完成对软件的研制(分析、设计、编码和测试)工作并交付使用以后,对软件产品所进行的一些软件工程的活动。即根据软件运行的情况,对软件进行适当修改,以适应新的要求,以及纠正运行中发现的错误。编写软件问题报告、软件修改报告 。 
    一个中等规模的软件,如果研制阶段需要一年至二年的时间,在它投入使用以后,其运行或工作时间可能持续五年至十年。那么它的维护阶段也是运行的这五年至十年期间。在这段时间,人们几乎需要着手解决研制阶段所遇到的各种问题,同时还要解决某些维护工作本身特有的问题。做好软件维护工作,不仅能排除障碍,使软件能正常工作,而且还可以使它扩展功能,提高性能,为用户带来明显的经济效益。然而遗憾的是,对软件维护工作的重视往往远不如对软件研制工作的重视。而事实上,和软件研制工作相比,软件维护的工作量和成本都要大得多。


    在实际开发过程中,软件开发并不是从第一步进行到最后一步,而是在任何阶段,在进入下一阶段前一般都有一步或几步的回溯。在测试过程中的问题可能要求修改设计,用户可能会提出一些需要来修改需求说明书等。

     

    1、项目设计 


    项目设计的主导思想,我觉得可以理解为两种,一种是完全设计,一个是简单设计。 
    完全设计是指在具体编写代码之前对软件的各种方面都调查好,做好详细的需求分析、编写好全部的开发文档,设计出程序全部流程后再开始写代码。 换句话说,就是全部的计划好了,能看到最终的样子,再开战。这好像也是很多“软件工程”书里要求的那样。开始的时候,我觉得这种方法不错也。什么都计划好了,照着做就是了。不过这里有个明显的问题,就是谁来做这个完美的计划?估计只有及其BT的人了,但是大部分人的想要完全设计,并且没有错误,或者已经有几种后备的容错方案,并能准确无误的推行。以达到最终目标。这样的境界,没有很多年的工作经历是不可能的。我也没有这样的本事,所以我也就放弃了这种想法。 
    简单设计:简单设计一种概念,一种可以接受的简单的设计,最起码数据库已经定下来,基本流程已经确定的方案,来作为程序设计的开始,并随时根据实际情况的进展来修正具体的功能设计,但这种功能修改不能是修改数据库结构。也就是说数据库结构是在编程之前经过反复论证的。这种方法减少了前期设计的时间,把代码编写工作和部分设计工作放在了一起,实际缩短了项目开发的时间。如果说完全设计方法要求有很厉害的前期设计人员,那么简单设计要求有很有设计头脑的编程人员。编程人员不仅仅是K代码的人而且要负责程序架构的设计。所以对程序员的要求就很高了。 简单设计的成功的一个基点是编程人员设计的逻辑结构简单并能根据需要来调整其逻辑结构,就是代码结构灵活,简单设计带来的另外一个变化就是会议会比较多,编程人员之间的交流就变的很重要。现在一般的中小型软件公司基本上都是采用简单设计的,除非那些很大型的软件公司。 
    总结,简单设计考验的是开发人员的能力。完全设计考验的是前期设计人员和整个项目组完整能力。(各种文档的编写,开发人员一定会要写一部分的。)


    2、设计变化和需求变化 


    开发人员最怕的是什么呢?设计变化,还是需求变化?我觉得需求变化是最最致命的。当你的一个项目数据库都定下来后,而且已经开发了若干个工作日,突然接到甲方公司提出,某个功能要改变,原先的需求分析要重新改,如果这个修改是涉及的数据库的表结构更改的话,那真是最致命的。这就意味着项目的某些部分得重新推倒重来,如果这个部分跟已完成的多个部分有牵连的话,那就后果更可怕了。所以当碰到这种情况发生,作为项目经理的你就应该考虑先查责任人,究竟是自己的需求分析做的不够好,还是客户在认同了需求分析后做出的修改,如果是后者的话,你完全可以要求客户对他的这个修改负责任!那么,呵呵,客户先生,对不起了,本次新增加的需求将归入另外一个版本。如果是改变前面某个需求的定义,那么说不定就要推倒重来了,不过这个时候到不用太在意,毕竟错的是客户。(项目正式开始前没有没有说清楚其需求)。所以,各位看客,在需求分析做好后,在开工之前一定要叫客户认可签字,并且在合同上要注明,当由客户原因引起的需求改变而造成开发成本的增加,客户要为此买单地。 
    如果在需求不变的情况之下,设计发生了变化,这个仅仅是我们内部之间的矛盾,商量一下就能解决。在简单设计中,因为前期的设计是不完整的,那么当进入任何一个新的模块进行开发时,都有可能引起设计的变化。开发人员的水平的高低就基本上决定了软件的好坏。


    3、代码编写

     
    当需求定下来数据库也定下来后, 其实我们就可以进行实质性的编码了,按照我的看法,一个人单独编程最好,能随时偷懒。(上网,和MM聊聊),但是现在的软件项目越来越大,工期也越来越紧,事实上我们一个小组里面,一般有3-5程序员,所以我们要强调团队合作性。那么你写的代码使得别人要能够看懂,我们必须在实际的编写代码过程中要有详细的编码规范,编码规范在很多书籍里面都提到过。但最起码以下的一些规范是我们必须要遵守的: 
     

    一)源程序文件结构: 
    每个程序文件应由标题、内容和附加说明三部分组成。 
    (1)标题:文件最前面的注释说明,其内容主要包括:程序名,作者,版权信息,简要说明 等,必要时应有更详尽的说明(将以此部分以空行隔开单独注释)。 
    (2)内容控件注册等函数应放在内容部分的最后,类的定义按 private 、 protected 、 pubilic 、 __pubished 的顺序,并尽量保持每一部分只有一个,各部分中按数据、函数、属性、事件的顺序。 
    (3)附加说明:文件末尾的补充说明,如参考资料等,若内容不多也可放在标题部分的最后。 
     

    二)界面设计风格的一致性: 
    由于采用可视化编程,所有的界面均与Win32方式类似,相应采用的控件等也大都为Windows操作系统下的标准控件,而且参考了其他一些市面上相关的企业内部管理的应用软件。 
    基于简单易操作的原则,贴近用户考虑,用户界面采用Windows风格的标准界面,操作方式亦同Windows风格,这样在实施过程,可以降低对客户的培训,也可以使用户容易上手,简单易学。 
     

    三)编辑风格: 
    (1)缩进:缩进以 Tab 为单位,一个 Tab 为四个空格大小。全局数据、函数 原型、标题、附加说明、函数说明、标号等均顶格书写。 
    (2)空格:数据和函数在其类型,修饰(如 __fastcall 等)名称之间适当空格并据情况对 齐。关键字原则上空一格,不论是否有括号,对语句行后加的注释应用适当空格与语句隔开并尽可能对齐。 
    (3)对齐:原则上关系密切的行应对齐,对齐包括类型、修饰、名称、参数等各部分对齐。 
    另每一行的长度不应超过屏幕太多,必要时适当换行。 
    (4)空行:程序文件结构各部分之间空两行,若不必要也可只空一行,各函数实现之间一般空两行。 
    (5)注释:对注释有以下三点要求: 
    A、必须是有意义; 
    B、必须正确的描述了程序; 
    C、必须是最新的。 
    注释必不可少,但也不应过多,以下是四种必要的注释: 
    标题、附加说明; 
    函数说明:对几乎每个函数都应有适当的说明,通常加在函数实现之前,在没有函数实现部分的情况下则加在函数原型前,其内容主要是函数的功能、目的、算法等说明,参数说明、返回 值说明等,必要时还要有一些如特别的软硬件要求等说明; 
    在代码不明晰或不可移植处应有少量说明; 
    及少量的其它注释。 
     

    四)命名规范: 
    坚持采用匈牙利变量命名惯例,所有标识符一律用英文或英文缩写,杜绝采用拼音,标识符中每个单词首字母大写,缩写词汇一般全部大写,只在必要时加“_”间隔词汇。


    4、BUG修补 


    程序出现了BUG谁来修补呢,嘿嘿嘿…… 
    最好的办法是谁编写谁修补,谁改坏谁修补。一个人改坏的代码一人去修。两个人一起改坏的代码两人一起修。


    5、开发人员的测试 


    开发人员的测试是保证代码能正常运行,在开发时候发现的错误往往比较容易修正。(另外一个好处就是没有人来骂你。因为只有你自己知道)。但是一旦软件到了测试小组那里出了问题,那么就多了很多时间来修正BUG,如果到了客户哪里才发现的BUG,那么时间就更长了,开发人员本身受到的压力也是到了最大话了。客户->公司->测试小组->开发人员。 这个完全是倒金字塔型的,承受能力差的一环很容易出事情的。 
    另外开发人员的测试除了保证代码能正常运行以外,还有一个很重要的方面就是要保证上次能正常运行的代码,这次还是能正常运行。如果做不到这点,那么BUG就不断的会出现,很多BUG也会反复出现。于是软件看上去就有修补不完的BUG了。如果出现这种情况,那么开发人员有必要再教育。一般公司教育的方式有四种。第一种,扣工资,第二种,加班,反复加班+精神攻击。 第三种,开除。第四种,调动人员来帮助那个出了麻烦的家伙。 但愿看这个文章的人不要受到前面三种教育。

    展开全文
  • 一个软件完整的开发流程介绍

    万次阅读 多人点赞 2018-03-29 19:11:28
    刚开始写博文的时候就应该将这个文章更新一下,虽然不是什么大牛,但是对于软件的开发流程还是比较了解的,毕竟大大小小做过了好几个项目了,今天就大概的说一下,用我做过的一个项目来说吧,写的不好的,请多多见谅...

    刚开始写博文的时候就应该将这个文章更新一下,虽然不是什么大牛,但是对于软件的开发流程还是比较了解的,毕竟大大小小做过了好几个项目了,今天就大概的说一下,用我做过的一个项目来说吧,写的不好的,请多多见谅,毕竟小生不才。

    开发流程百度的解释是:


    不是我懒得写,而是觉得写出来也不是自己的,还不如直接告诉你们我是百度的概念...但是下面的我们就不要百度了,因为百度说的太专业,让你看了很烦,最起码我是很烦(都是些什么玩意).


    进入正题

    我们分公司性质来说一个软件的开发流程,

    软件公司和非软件公司

    非软件公司

    需求分析-概要设计-程序编码-程序测试-软件交付-客户验收-码农维护

    软件公司

    需求分析-概要设计-详细设计-程序编码-程序测试-软件交付-客户验收-码农维护

    我们一步一步的说:

    需求分析

    一个软件没有出现之前,只是有一部分人有一个想法,我需要一个这样的东西(想要一个孩子了)用来管理我的什么什么,这个时候一个想法出现了,就会有这个需求,他会找软件公司需求分析师来商量,这个时候一个软件就怀孕了,相当于开始发育了.需求分析是听完要求以后会将大概的功能描述一下,用Word或者Axure画出一个简单的Demo给用户看,经过几次确认以后需求分析师会最后确认功能是不是完善的,确认了以后进行我们的下一步,概要设计

    概要设计

    这个功能主要是干嘛的呢?很多的公司觉得没必要,其实是很有必要的,这个就是相当于先规划一下怎么平安度过怀孕期,对于软件来说就是软件的处理逻辑,大概的一个流程是怎么走的,大概需要哪些模块,怎么运行,需要大概多少接口,后期怎么维护等问题,做这些干呢吗?为了下一步-详细设计

    详细设计

    有人说,详细设计是很麻烦的一步,其实不是很麻烦的一步,我觉得是最难的一步,详细设计主要是用来确认细节的,接口的名字啊,控制器的名字啊,多少个控制器,谁来调用谁,这个不可以有错,因为后期码农是需要看这个开发的,你怎么起名字,他们就怎么写,所以这里出错也就意味着编码的时候也会错,最后会有一份详细设计书出现,这个就是告诉孕妇具体吃什么,怎么吃,多少量。

    码农编码

    很多人觉得这个就是搬砖,看着设计书就直接写就可以了,理论是这样的,但是为什么还有很多的bug出现呢?很大一部分原因并不是设计的原因(当然也有可能),很大原因是不规范造成的,还有就是是不是一个项目组的人可以协作处理代码,怎么做可可以提高编码的效率,这些问题都是在编码的时候出现的问题。这个是相当于孕妇实施那一套套餐的时候具体是不是按规范来吃的。

    程序测试

    这一步是里面很重要的一步,测试,我们不可能说写好直接就给用户用了,这个是不现实的,我们需要做的是先给测试部门进行系统的测试,当然这个测试不是按照用户的想法来的,他们会很暴力,举个栗子,一个按钮,正常的用户使用的时候会直接点击一次,看到效果就可以了,但是测试的时候不是,他们会疯狂的点击,知道他们觉得这个世界上不会有人比他们暴力的时候他们会停止,当然这是一个好的测试人员,很多的测试不会是这样的,他们觉得正常使用没问题就是没事的,其实一个软件好不好,很大一部分在于测试人员的测试力度。最后写一份测试报告就可以了。

    软件交付

    测试结束以后没有任何的问题的话,就可以写安装手册了,这个其实就是用户使用指南。

    客户验收

    交付后客户简单的测试以后觉得是和自己想的一样的,就收货,交钱.

    码农维护

    是不是验收以后就没事了呢?当然不是,一个软件很多时候是在用一段时间以后才会出问题的,所以会一直需要人来维护他们,当然不是说只是出问题才会维护的,主要的原因是软件会根据不同的需要更改功能,这样的过程也是维护的过程,QQ已经更新多少代了,是不是,这也是一个维护的过程。

    项目重构

    这个是一个项目如果出现了新的技术,功能没有改变的时候,为了用户体验,例如之前是SSH写的,但是运行的速度很低,用SpringBoot,大家都在用,用户反映很好,那么这个时候就需要项目重构了,用新的技术将之前的功能重新实现。

    基本那就是这些了,另外细心的人也看到了非软件公司是没有详细设计的,这个解释一下,为什么呢?很简单,其实详细设计是和耗费时间的,非软件公司的人不会花费这个时间在设计上,他们就是直接告诉你需求,码农只需要直接编码就可以了,一般这样的对你用什么技术,什么框架是没有要求的。




    展开全文
  • 其实游戏开发本质上是软件开发的一种,因为游戏开发也需要用编程语言。这两者之间的区别就是侧重点不同,一个游戏开发出来实际上也是一款软件,如果你认为软件开发跟游戏开发是两种,那么我的观点是是前端的不同,...
  • 什么是软件开发模式?

    千次阅读 2019-04-09 00:05:43
    软件开发模式简介 1. 边做边改模型(Build-and-Fix Model)  好吧,其实现在许多产品实际都是使用的“边做边改”模型来开发的,特别是很多小公司产品周期压缩的太短。在这种模型中,既没有规格说明,也没有经过...
  • 点击上方蓝色“程序猿DD”,选择“设为星标”回复“资源”获取独家整理的学习资料!前言随着腾讯、阿里等一线大企业的发展,为这些企业工作的部分员工也得到了颇为丰厚的薪水回报。网上经常传闻阿里...
  • 个人博客系统开发记录

    千次阅读 2019-05-27 13:45:38
    1.用户登录、注册 目前使用bootstrapt模态框简单实现。 (1)个人信息栏默认不加载; (2)登录时会根据用户名、密码,经过md5加密算法处理后去数据库验证,成功则将用户信息保存到... ...2.动态发布 (1)在发布动...
  • 软件开发实施

    2020-11-23 08:49:49
    软件开发实施 1、前期准备  公司开发人员对系统开发前期进行充分的用户调研、需求分析和系统体系结构的设计准备工作。  公司开发人员以及业务需求人员共同组建项目组,一名或两名项目经理负责监控项目的整体实施,...
  • 个人博客-首页后台开发(一)

    千次阅读 2019-02-21 23:07:59
    声明:本渣渣部分代码参考自TendCode其实有很多代码是不需要自己一行行码出来,生产力是第一位。只有研究型人才需要生产代码,作为一名渣渣拿来用是最高效的做法。程序员都有一个开源的精神,码出来的代码本身是希望...
  • 本课程适合从事音视频,网络通讯开发的程序员。实战案例可用于 音视频处理,无人机,安防,直播等所有音视频领域。课程从Linux音视频采集,到TCP/IP UDP Socket服务器,客户端编程, 如何去定义...
  • 软件开发合同模板范本

    万次阅读 2018-08-23 10:17:48
    其它《软件开发合同模板范本》下载链接: https://download.csdn.net/download/daqiang012/10621400 合同编号:_________甲方(委托人):_________ 法定住址:_________ 法定代表人:_________ 职务:________...
  • 软件开发文档模板

    万次阅读 多人点赞 2018-08-13 15:55:49
    2.2 软件开发平台要求 2.3 软件项目的开发实施过程管理要求 2.3.1 软件项目实施过程总体要求 2.3.2 软件项目实施变更要求 2.3.3 软件项目实施里程碑控制 3. 软件开发 3.1 软件的需求分析 3.1.1 需求...
  • 软件开发工作总结

    万次阅读 2016-05-16 21:49:20
    软件开发工作总结  1、分享第一条经验:“学历代表过去、能力代表现在、学习力代表未来。”其实这是一个来自国外教育领域的一个研究结果。相信工作过几年、十几年的朋友对这个道理有些体会吧。但我相信这一点也很...
  • 自考总结——软件开发工具

    千次阅读 热门讨论 2015-10-17 16:56:09
    1.【简答题】软件开发工具: 在高级程序设计语言的基础上,为提高软件的质量和效率,从规划、分析、设计、测试、成文和管理各方面,对软件开发者提供各种不同程度帮助的一类广泛的软件。 2.【简答题】如何理解软件...
  • 软件开发入门自学指南

    万次阅读 多人点赞 2019-03-25 20:16:24
    每天都看到很多对编程感兴趣的人在问是不是可以自学软件开发,或者应该怎么自学 编程才能入门。在这篇文章里,我将尝试重现一个初学者在学习计算机编程时可能会 碰到的问题,并尽量提供相应的解决思路,希望对初学者...
  • 云开发:未来的软件开发方式

    千次阅读 多人点赞 2019-12-23 20:58:00
    我知道这篇文章你可能读不懂,但是它值得你去分享,未来就在那。如你所见,在过去的几年里,发生了快速的变化(这句话,我已经说烂了)。好比如说:编程门槛的降低。大量的低编程能力水平可以进入这个...
  • 软件开发流程与模式

    万次阅读 2018-01-26 10:18:33
    软件开发角色与流程软件生命周期: 制定计划,需求分析,设计,编码实现,测试,运行维护模型与演进主要模型介绍1. 边做边改模型(Build-and-Fix Model) 其实现在许多产品实际都是使用的“边做边改”模型来开发的...
  • 软件开发必看书籍

    千次阅读 2018-12-30 16:46:17
    编者按:人生如逆水行舟,不进则退。开发者想要保持自身的竞争力,做到所向披靡,知识储备必不可缺。这就意味着,简单的代码阅读远远不够。 快速迭代的信息社会,技术前进的速度远超人类历史上的任何时期,技术攫取...
  • 软件开发管理与质量控制

    万次阅读 2018-11-12 19:51:48
    软件开发管理与质量控制
  • 统一软件开发过程——RUP

    千次阅读 多人点赞 2014-01-27 15:44:29
    RUP(rational unified process)是一个面向对象且基于网络的程序开发方法论。它是以面向对象方法为基础的方法,RUP坚持以用例驱动,以架构为中心,迭代和增量的开发方法。  下面以思维导图为依据简单介绍一下RUP:...
  • 软件开发流程(Software development process)
  • 软件开发合同纠纷的律师随笔

    千次阅读 2014-11-06 20:33:28
    软件开发合同纠纷的律师随笔 吴国平 北京市隆安律师事务所 笔者曾经承办多起软件开发合同纠纷,部分案件由法院判决,部分案件在仲裁委员会仲裁结案。笔者发现仲裁委员会在认定软件纠纷案件时的思路与法院存在...
  • 软件开发书籍推荐

    万次阅读 2017-08-30 09:01:05
    软件开发书籍推荐学而不码则罔,码而不学则殆。针对软件开发(语言C++、Java、Python,平台:Android),推荐一份能修炼内功提高编程素养的书单。 难度等级1~5:1级最容易,5级最难 重点推荐:《代码大全2》+《重构...
  • 软件开发技术文档编写规范

    万次阅读 多人点赞 2017-12-29 09:40:14
     ◇可行性分析报告:说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。  ◇项目开发计划:为软件项目...
  • 计算机软件开发国家标准(GB)

    千次下载 热门讨论 2008-02-17 09:13:30
    该压缩包内含:《GB8566-88计算机软件开发规范》、《GB8567-88 计算机软件产品开发文件编制指南》、《GB9385-88 计算机软件需求说明编制指南》、《GB9386-88计算机软件测试文件编制规范》
  • 软件开发报价计算方式

    千次阅读 2019-01-30 15:10:35
    1.软件开发价格估算方法  软件开发价格与工作量、商务成本、国家税收和企业利润等项有关。为了便于计算,给出一个计算公式:  软件开发价格 = 开发工作量 × 开发费用/人·月 1.1开发工作量  软件开发工作量...
  • 软件开发模式

    千次阅读 2019-03-01 09:42:28
    迭代开发 螺旋模型 敏捷开发 瀑布模型 瀑布模型是最典型的预见性的方法,严格遵循预先计划的需求分析、设计、编码、集成、测试、维护的步骤顺序进行。步骤成果作为衡量进度的方法,例如需求规格,设计文档,测试计划...
  • 转自: https://www.cnblogs.com/unruledboy/p/DevCareer.html简介网名灵感之源,智能实验室创始人,从事软件开发超过10年,写过千万下载量软件,热衷开源,写过多个爆栈项目(系统开发技术栈、.Net技术栈、数据库...
  • 问答 | 我适合做软件开发吗?

    千次阅读 2016-01-20 07:10:53
    一套实操方法,帮助确认自己是否适合走上软件开发的道路……

空空如也

1 2 3 4 5 ... 20
收藏数 6,196,878
精华内容 2,478,751
关键字:

开发