软件工程基本原理的理解与感悟(刘吉喆)
- 格式:doc
- 大小:28.00 KB
- 文档页数:7
软件工程学习心得体会软件工程是一门涉及软件开发和管理的学科,通过学习软件工程,我不仅对软件开发的过程有了更深入的了解,还掌握了一些有效的管理和组织技巧。
在这篇学习心得中,我将分享我的体会和心得,希望对其他学习软件工程的人有所帮助。
首先,软件工程的学习需要全面的基础知识。
在学习软件工程之前,我需要掌握一些基础的编程技术,如编程语言、算法和数据结构等。
这些基础知识是软件工程的基石,只有掌握了这些知识,才能够更好地理解和应用软件工程的理论和方法。
其次,软件工程需要注重实践。
虽然理论知识很重要,但实践是巩固和应用理论的最有效方式。
在学习过程中,我会尽量多做一些实际项目,通过实践来掌握和运用所学知识。
同时,我也会参加一些软件工程实践研讨会和竞赛,与其他同行进行交流和合作,共同提高。
此外,团队合作是软件工程学习的重要一环。
在现实的软件开发中,很少有人独立完成整个项目,而是需要多个人协同工作。
所以,在学习过程中,我会积极参与团队项目,学习如何与他人合作,如何有效地分配任务和协调团队的工作。
另一个重要的方面是管理和组织技巧。
软件工程涉及到项目的规划、进度的管理、团队的协调等方面,所以需要学习一些管理和组织的技能。
我会学习一些项目管理方法和工具,如甘特图、敏捷开发等,以提高项目的管理效率和质量。
同时,软件工程也需要不断地学习和更新。
软件技术发展迅速,新的编程语言、框架和工具层出不穷。
为了保持竞争力,我需要不断地学习和更新自己的知识,了解行业的最新动态和趋势,并尝试运用新的技术和方法。
最后,软件工程不仅仅是一门学科,更是一种工程思维和方法的应用。
通过学习软件工程,我不仅学会了如何设计和开发软件,还学会了如何分析和解决问题,如何进行系统性的思考和管理。
这些思维和方法不仅在软件开发中有用,也可以应用到其他领域。
总结起来,软件工程是一门综合性很强的学科,需要全面的基础知识、注重实践、注重团队合作和管理技能。
通过学习软件工程,我不仅掌握了一些编程技术和开发工具,还培养了一种系统性思维和解决问题的能力。
软件工程专业导论心得体会在这门【软件工程】专业导论课程中,我深入了解了软件工程领域的基本概念、原理和方法,并对软件开发的过程、团队合作和质量保障等方面有了更深刻的认识。
通过这门课程,我逐渐认识到软件工程的重要性和挑战,同时也对未来学习和从事软件工程相关职业充满了信心。
软件工程是一门复杂而富有挑战性的学科。
它不仅仅涉及编码和程序开发,更重要的是强调在软件开发全过程中的系统化、规范化和工程化管理。
学习了软件工程的基本原理后,我意识到软件开发不是一项孤立的活动,而是需要通过团队合作来完成的。
在一个团队中,不同成员的角色和职责都是互补的,需要良好的沟通和协作能力,以便顺利完成项目。
同时,学习了项目管理和软件质量保障的相关知识,我深刻理解到如何在保证项目质量的前提下,高效地管理项目进度,合理分配资源,防止项目风险。
在本门课程中,我也了解到了软件开发的不同开发方法,例如瀑布模型、敏捷开发等。
每种开发方法都有其适用的场景和优势,我们需要根据项目的特点选择合适的开发方法。
同时,软件工程也强调软件的可维护性和可扩展性,这些都是在项目开发过程中需要注意的重要方面。
除了理论知识,本门课程还强调了实践能力的培养。
通过小组项目实践,我和我的团队成员共同完成了一个小型软件项目,从需求分析到设计再到实现,每一步都让我深刻认识到软件开发的复杂性和技术上的挑战。
同时,也让我体会到了团队合作的重要性,每个成员都有不可替代的作用,只有合作共赢,才能真正实现项目的成功。
本门课程还教授了一些软件工程的最佳实践,例如版本控制、代码审查、单元测试等。
这些实践在软件开发中起着至关重要的作用。
通过合理的版本控制和代码审查,可以有效地管理代码的质量和演进,确保团队成员之间的代码协作。
而单元测试则是保证代码正确性和稳定性的重要手段。
除了上述内容,本门课程还让我了解到软件工程领域的最新动态和发展趋势。
随着科技的不断发展,软件工程领域也在不断演进和创新。
2024年软件工程学习心得体会学习了这门课程,还有老师们的多元化教课,不但让我从理论上掌握软件工程,还有从不同的实例,让理论和实践得到了很好的结合。
整一个学期下来,总的来说还是学到了很多东西的,有很多地方是值得肯定的,其实在我看来,软件工程与其说是一门课程,不如说是一门思想。
是一个如何去分析和处理问题的过程,应该说其范畴已经远远不止局限于该门课程,成为了一个综合的一个能够解决问题的思想集合。
整本书的内容逻辑很清晰明了,由浅入深循序渐进,首先我就大概描述下我们所学的内容,第一章是从整体分析软件工程这门学科的发展和所处的社会环境,接着后面的几章深入分析了软件开放过程和模式、软件项目管理、计算机工程、需求分析、结构化分析建模以及基于UML面向对象分析建模等。
接着我就详细介绍下我对这门课程知识点的理解概括:软件:软件是能够完成预定功能和性能的可执行的计算机程序和使程序正常执行所需要的数据,加上描述程序的操作和使用的文档。
软件的特征:①软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。
②软件是通过人们的智力活动,把知识与技术转化成信息的一种产品。
③软件成为产品后,其生产只是简单的拷贝,不同于硬件制造。
④维护过程比硬件复杂的多,甚至会引发新的错误。
软件危机:指的是软件开发和维护过程中遇到的一系列严重问题。
出现软件危机的原因:①软件维护费用急剧上升,直接威胁计算机应用的扩大。
②软件生产技术进步缓慢。
软件工程是指导计算机软件开发和维护的工程学科。
软件生存周期:一个软件从定义到开发、使用和维护,直到最终被弃用,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期。
软件的生存周期可分为八个阶段:①问题定义;②可行性研究;③需求分析;④总体(概要)设计;⑤详细设计;⑥编码与单元测试;⑦综合测试;⑧软件维护;瀑布模式:是传统的软件开发模式,其中的“瀑布”是对这个模式的形象表达,由山顶倾泻下来的水,自顶向下、逐渐细化。
《软件工程》读书心得
在学习《软件工程》这门课程期间,我深深感受到了软件开发领域
的广阔和深刻,也加深了对软件工程的理解和认识。
在这里,我想分
享一下我对《软件工程》这门课程的读书心得。
首先,学习《软件工程》让我意识到软件开发的复杂性。
在软件工
程中,一个简单的功能可能需要经过多个模块的设计、开发和测试才
能实现,而且需要考虑到各种因素对软件的影响。
这让我明白了从事
软件开发需要具备系统性思维和综合素质。
其次,学习《软件工程》让我了解到软件开发的标准化和规范化。
在软件工程领域,有一系列的标准和规范,如ISO 9000系列、CMMI 等,这些标准和规范对于保证软件质量、提高开发效率和降低成本具
有重要的意义。
通过学习这些标准和规范,我明白了软件开发需要遵
循一定的流程和方法,才能够保证软件的可靠性和稳定性。
此外,学习《软件工程》还让我了解到软件开发中的团队合作和沟
通的重要性。
在软件工程中,一个优秀的团队可以高效地完成任务,
而一个团队中的沟通问题和合作问题往往会导致项目的延期和失败。
通过学习《软件工程》,我学会了如何与团队成员合作、如何有效地
沟通,这对我今后从事软件开发工作具有重要的帮助。
总的来说,学习《软件工程》这门课程给我带来了很多收获和启发。
通过学习这门课程,我不仅增加了对软件工程的了解,也提高了自己
的软件开发能力和团队合作能力。
我相信,在今后的学习和工作中,
我会更加深入地研究和实践软件工程领域,为我未来的发展打下坚实的基础。
软件工程的基本原理和理论软件工程是一门涉及软件开发、运行和维护的学科,它旨在通过系统化的方法和工具,提高软件的质量,保证软件项目的成功实施。
软件工程的基本原理和理论是软件工程师必备的知识体系,以下是软件工程的基本原理和理论的介绍。
一、软件生命周期管理软件生命周期是指从软件项目的规划、需求分析、设计、编码、测试到运行和维护的整个过程。
软件生命周期管理是软件工程实践的基础,它通过阶段划分、活动规划和质量保证等手段,确保软件项目按时交付、质量可控。
二、需求工程需求工程是软件工程的第一步,它涉及对用户需求的收集、分析、规范和管理。
在需求工程中,软件工程师需要与客户密切合作,确保设计和实现的软件系统能够满足用户的需求。
三、软件设计原理软件设计是指将需求转化为可执行的软件系统的过程,软件设计原理是指在设计过程中需要遵循的基本原则和规范。
软件设计原理包括模块化、高内聚低耦合、迪米特法则等,这些原理帮助软件工程师设计出结构清晰、易于维护的软件系统。
四、编码与测试编码是将软件设计转化为可执行代码的过程,测试是验证代码是否符合需求和设计的过程。
在编码和测试阶段,软件工程师需要熟悉编程语言、掌握良好的编码风格,同时进行单元测试、集成测试和系统测试等各个层面的测试工作。
五、软件质量保证软件质量保证是软件工程中非常重要的环节,它包括质量规划、质量控制和质量评估等方面。
软件工程师需要通过制定质量计划、进行代码审查、进行性能测试和安全漏洞扫描等手段,确保软件系统的质量符合要求。
六、软件项目管理软件项目管理是指对软件项目进行计划、组织、协调和控制的过程。
软件工程师需要掌握项目管理的基本理论和方法,对资源进行合理分配、制定时间表和风险管理来确保软件项目的成功实施。
七、软件配置管理软件配置管理是对软件开发过程中进行的各种变更进行有效控制的过程。
软件工程师需要使用版本控制工具和配置管理工具,对软件的开发、测试和发布进行管理,确保软件版本的一致性和可追溯性。
软件工程学习心得软件工程学习心得在我探索软件工程的旅程中,我逐渐理解了软件工程不仅仅是一门科学,更是一种艺术,一种需要结合逻辑思考、创新设计和实际操作能力的综合艺术。
通过不断的学习和实践,我对软件工程有了更深的理解,也积累了一些宝贵的经验。
在此,我愿意分享我的心得体会,希望能对同样热爱软件工程的朋友们有所启发。
首先,我想谈谈软件工程的基本概念和背景。
软件工程是研究计算机软件开发、维护和管理的科学。
它致力于在给定成本和时间内,通过系统方法、工具和技术来提高软件开发的效率和质量。
在信息时代,软件已经渗透到我们生活的方方面面,从手机应用、网站到复杂的业务系统,软件工程的价值愈发凸显。
在学习过程中,我逐渐领悟到软件工程并非简单地编写代码,而是涵盖了需求分析、设计、编码、测试和维护等多个环节的完整生命周期。
每个环节都需要精细打磨,以确保最终产品的质量和效益。
同时,我也意识到软件工程是一门实践性极强的学科,只有通过实践才能真正理解和掌握其中的知识。
在这个过程中,我经历了从对软件工程一无所知,到逐步了解并热爱上这个领域的转变。
我开始深入研究各种编程语言和开发工具,学习如何进行需求调研、分析和建模,以及如何进行有效的测试和缺陷管理。
每一次的项目实践都让我更加深入地理解软件工程的理念和方法,也让我更加确信软件工程是一门充满挑战和乐趣的学科。
然而,学习的过程中也遇到了许多困难和挑战。
例如,在理解一些复杂的概念和理论时,我有时会感到困惑和迷茫。
但正是这些挑战,让我更加明白学习软件工程需要不断思考、探索和实践。
在这个过程中,我逐渐培养了解决问题、团队协作和时间管理等多方面的能力。
这些经历让我更加深刻地认识到软件工程是一门需要综合素质的学科。
回顾我的学习历程,我深感软件工程的世界广阔而深奥。
我不仅学习了如何编写代码,更重要的是学会了如何思考问题、如何设计解决方案、如何与团队有效协作。
同时,我也认识到软件工程并非孤立的学科,它需要综合运用计算机科学、数学、经济学等多种知识。
软件工程读后感《软件工程》读后感《软件工程》是一本关于软件开发过程和管理的经典教材,我在阅读这本书后深受启发。
本书通过系统地介绍软件开发的各个环节和流程,帮助我进一步理解了软件工程的重要性和复杂性。
下面是我对这本书的一些个人感受和思考。
首先,本书对软件工程的定义和范畴进行了清晰的阐述。
它将软件工程定义为一门以工程原则、方法和工具为基础的学科,旨在构建高质量、可扩展和可靠的软件系统。
通过详细介绍了软件生命周期、需求分析、系统设计、编码实现、测试与维护等内容,我对软件工程的整体框架有了更加深入和全面的认识。
其次,在具体介绍软件开发过程的基础上,本书还强调了软件质量和风险管理的重要性。
作者指出,软件开发过程中存在诸多风险和挑战,如需求的不明确性、技术难题的解决、项目管理的困难等。
为了降低这些风险,书中提出了一系列有效的管理和控制方法,如软件度量、配置管理、风险管理等。
这些方法对于确保软件项目的成功具有重要意义。
此外,本书还介绍了软件工程中的一些经典方法和技术。
例如,敏捷开发方法在当前的软件开发中得到广泛应用,它强调团队合作、迭代开发和快速响应变化的能力。
我对敏捷开发的原则和实践有了更深入的了解。
另外,本书还提出了面向对象和结构化方法等软件设计的基本原则和思想,这些方法能够帮助开发人员更好地设计和组织软件系统。
在阅读本书过程中,我不仅了解了软件工程的基本理论和方法,还深感软件工程带来的巨大挑战和机遇。
随着社会对软件需求的不断增加和软件规模的不断扩大,软件开发已经成为一项复杂而庞大的工程。
而合理的软件开发过程和有效的管理方法可以帮助我们提高开发效率、降低成本,并且保证软件的质量和稳定性。
这让我对从事软件开发行业的前景充满信心。
最后,在读完本书后,我开始思考如何将书中的理论应用到实际的软件开发项目中。
例如,在项目启动阶段,我会更加重视需求分析的工作,与客户进行充分的沟通和理解,确保需求的准确性和完整性。
在项目开发过程中,我会注意团队的协作与沟通,遵循敏捷的开发原则,及时调整和优化开发计划。
软件工程的基本概念和原理软件工程是一门涉及软件开发、维护和管理的学科,它旨在应用工程的原理和方法来设计、构建和测试高质量的软件系统。
本文将介绍软件工程的基本概念和原理,以帮助读者对这个领域有一个全面的了解。
一、软件工程的概念软件工程是一种工程学科,它关注如何以系统化和可靠的方式开发和维护软件。
它涵盖了软件的开发过程、项目管理、质量控制和软件维护等方面。
软件工程旨在通过采用工程原理和方法来提高软件的开发效率和质量。
二、软件工程的原理1. 模块化:软件工程的一个基本原理是将复杂的系统划分为独立的模块,每个模块负责特定的功能。
这种模块化的设计使得软件更容易理解、设计、构建和维护。
2. 抽象与封装:软件工程强调抽象和封装的原则,即将复杂的系统功能抽象成可重用的模块,并封装其内部实现细节。
这使得开发人员可以专注于模块的使用,而不需要关注其具体实现。
3. 协作与沟通:软件工程强调团队合作和有效的沟通。
开发一个软件系统通常需要多人协作,因此沟通和协作能力对于项目的成功非常重要。
4. 迭代开发:软件工程的原则之一是采用迭代开发的方法,即通过多次迭代来逐步完善软件系统。
这种方法可以帮助开发团队更好地理解用户需求,并及时修复和改进软件。
5. 质量控制:软件工程注重质量控制,包括代码质量检查、测试和代码审查等。
这些控制措施可以提高软件的稳定性和可靠性。
三、软件工程的过程软件工程的开发过程通常包括以下几个阶段:1. 需求分析:在这个阶段,开发团队与用户讨论需求,明确软件的功能和性能要求。
2. 设计:在设计阶段,开发团队将需求转化为软件系统的设计,包括系统架构、模块划分和接口设计等。
3. 开发:在开发阶段,开发人员根据设计要求编写代码,并进行单元测试来验证代码的正确性。
4. 集成和测试:在集成和测试阶段,不同的模块将被组合在一起,并进行系统级别的测试来验证整个系统的功能和性能。
5. 维护:一旦软件系统发布,维护阶段将开始。
软件工程学习心得体会软件工程作为一门新兴的学科,旨在通过系统化、规范化的方法来开发和维护高质量的软件产品。
在我学习软件工程的过程中,我深刻体会到了软件工程的重要性和不断进化的特点。
下面是我对软件工程学习的心得体会。
一、系统化的学习方法学习软件工程需要具备一种系统化的学习方法。
首先,我们需要了解软件工程的基本概念和原理,掌握软件开发过程中的各个环节。
其次,我们需要学习并掌握各种软件开发工具和技术,包括需求分析、设计、编码、测试等。
最后,我们需要不断实践,通过实际项目的经验来提升自己的软件工程能力。
二、团队合作的重要性软件工程是一门团队合作的学科。
在软件开发中,一个人很难完成一个大型项目的开发,因此团队合作成为软件工程实践中的一个重要环节。
在团队合作中,我们需要与其他开发人员进行有效的沟通和协作,合理分工、互相支持,确保项目的顺利进行。
通过团队合作,我深刻意识到软件工程不仅仅是一个人的力量,而是整个团队的力量。
三、持续学习的重要性软件工程是一个不断进化的领域,新技术和新方法层出不穷。
因此,持续学习是软件工程师的必备素养。
在学习软件工程的过程中,我不仅仅学到了基本的软件开发知识,还学到了学习的方法和原则。
我学会了主动学习、积极思考和不断探索的态度,这些都对我今后的学习和工作起到了很大的帮助。
四、质量意识的培养软件工程最终的目标是开发出高质量的软件产品。
在学习软件工程的过程中,我不断强调质量意识的培养。
从需求分析到设计、编码、测试等各个环节,我都要始终保持对质量的高度敏感,确保每个环节都能够满足高质量的要求。
通过实践和不断改进,我逐渐形成了自己的质量意识,并将其运用到实际项目中。
五、问题解决能力的提升在软件工程学习的过程中,我遇到了许多问题和挑战。
但是,我通过不断的学习和实践,逐渐提升了自己的问题解决能力。
我学会了通过分析和归纳问题,找到解决问题的方法和途径。
我从错误中学习,从经验中吸取教训,不断提高自己的解决问题的能力。
软件工程心得体会
在软件工程的学习和实践中,我深刻体会到了许多重要的观点
和经验。
首先,软件工程是一门需要细心和耐心的学科,需要对问
题进行深入的思考和分析。
在实际的项目中,我学会了如何有效地
规划和管理项目的进度,如何与团队成员进行有效的沟通和协作,
以及如何在面临挑战和困难时保持冷静和寻找解决方案。
其次,软件工程是一个不断学习和不断进步的过程。
随着技术
的不断发展和变化,我们需要不断学习新的知识和技能,以适应新
的挑战和需求。
在实践中,我发现了自己的不足之处,并努力学习
和改进,以提高自己的能力和水平。
最后,软件工程是一个需要团队合作的领域。
在实际的项目中,我学会了如何与团队成员进行有效的沟通和协作,如何分工合作,
以及如何共同努力解决问题和实现目标。
团队合作不仅可以提高工
作效率,还可以促进团队成员之间的交流和学习,使整个团队更加
团结和有力量。
总的来说,软件工程是一门需要细心和耐心的学科,需要不断
学习和不断进步,需要团队合作和共同努力。
通过软件工程的学习
和实践,我不仅提高了自己的能力和水平,还学会了如何与他人合作和共同成长。
希望在未来的工作和学习中,我能够继续努力,不断进步,成为一名优秀的软件工程师。
软件工程基本原理的理解与感悟
一、软件工程基本原理
软件工程(Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。
概括地说,软件工程是指导计算机软件开发和维护的工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时问考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程.自从1968年提出“软件工程”这一术语以来,研究软件工程的专家学者们陆续提出了100多条关于软件工程的准则或信条。
美国著名的软件工程专家 BOehm 综合这些专家的意见,并总结了TRW公司多年的开发软件的经验,于1983年提出了软件工程的七条基本原理。
(一)用分阶段的生命周期计划严格管理
这一条是吸取前人的教训而提出来的。
统计表明,50%以上的失败项目是由于计划不周而造成的。
在软件开发与维护的漫长生命周期中,需要完成许多性质各异的工作。
这条原理意味着,应该把软件生命周期分成若干阶段,并相应制定出切实可行的计划,然后严格按照计划对软件的开发和维护进行管理。
Boehm 认为,在整个软件生命周期中应指定并严格执行6类计划:项目概要计划、里程碑计划、项目控制计划、产品控制计划、验证计划、
运行维护计划。
(二)坚持进行阶段评审
统计结果显示:大部分错误是在编码之前造成的,大约占63%;错误发现的越晚,改正它要付出的代价就越大,要差2到3个数量级。
因此,软件的质量保证工作不能等到编码结束之后再进行,应坚持进行严格的阶段评审,以便尽早发现错误。
(三)实行严格的产品控制
开发人员最痛恨的事情之一就是改动需求。
但是实践告诉我们,需求的改动往往是不可避免的。
这就要求我们要采用科学的产品控制技术来顺应这种要求。
也就是要采用变动控制,又叫基准配置管理。
当需求变动时,其它各个阶段的文档或代码随之相应变动,以保证软件的一致性。
(四)采纳现代程序设计技术
从六、七时年代的结构化软件开发技术,到最近的面向对象技术,从第一、第二代语言,到第四代语言,人们已经充分认识到:方法大似气力。
采用先进的技术即可以提高软件开发的效率,又可以减少软件维护的成本。
(五)结果应能清楚地审查
软件是一种看不见、摸不着的逻辑产品。
软件开发小组的工作进展情况可见性差,难于评价和管理。
为更好地进行管理,应根据软件开发的总目标及完成期限,尽量明确地规定开发小组的责任和产品标准,从而使所得到的标准能清楚地审查。
(六)开发小组的人员应少而精
开发人员的素质和数量是影响软件质量和开发效率的重要因素,应该少而精。
这一条基于两点原因:高素质开发人员的效率比低素质开发人员的效率要高几倍到几十倍,开发工作中犯的错误也要少的多;当开发小组为N人时,可能的通讯信道为
N(N-1)/2, 可见随着人数N的增大,通讯开销将急剧增大。
(七)承认不断改进软件工程实践的必要性
遵从上述六条基本原理,就能够较好地实现软件的工程化生产。
但是,它们只是对现有的经验的总结和归纳,并不能保证赶上技术不断前进发展的步伐。
因此,Boehm提出应把承认不断改进软件工程实践的必要性作为软件工程的第七条原理。
根据这条原理,不仅要积极采纳新的软件开发技术,还要注意不断总结经验,收集进度和消耗等数据,进行出错类型和问题报告统计。
这些数据既可以用来评估新的软件技术的效果,也可以用来指明必须着重注意的问题和应该优先进行研究的工具和技术。
二、软件工程基本原理感悟
学习了这门课程, 还有老师们的多元化教课,不但使我们从理论上掌握软件工程,还有从不同的实例,让理论和实践得到了很好的结合,老师主要是从六个方面来描述软件工程,分别是信息和多媒体,JAVA编程技术,数据库系统,布线系统,管理信息系统,网络编程.有很多都是老师们多年的工作经验的总结,下面是我听课后自己的一点心得和自己对软件开发一点感想,我知道还
有好多的不懂,只有通过不断的学习才能一一解开.
软件工程课程虽已结束,但我对于软件工程的学习才刚刚开始。
我体会到项目管理的重要性,随着软件规模、复杂度的不断增加,项目开发中更多的是协作、管理和控制。
我学习到很多一般性的方法,例如:需求获取、模块化、计划等等。
同时,我也认识到使用计算机解决实际问题的复杂性,人们认识表达的过程不断反复、逐步深化,软件工程方法要提供给程序员们一种更加有效的对客观世界问题域进行形式化的过程方法。
首先需要完善订立计划的方式,最开始的,是之前提到的订立里程碑计划的方式,要尽可能地把每个里程碑的内容做好详细规划,将所有的系统,内容,细节都列举出来,同时需要考虑到流程的因素,哪些工作是其他工作的前续,需要优先完成,哪些工作只能等到资源到位才能开始,都需要考虑在内,为每个里程碑订立具体可行的计划。
分隔里程碑时,应该按照迭代开发的原则,先从基本的框架做起,使之能够正确的运行,然后再逐步细化。
每个里程碑都应该是一个可供运行的集合体,并且相较上一个,能够有较大的突破,从框架到最终形态,逐步实现。
在开发之前就预想好所有的状况难以实现,因此在开发中需要对计划进行不断的改进与完善,这些甚至包括一些对计划进行改变的部分,只有有更好的想法而且时机和条件允许,就应该对计划和目标进行修正。
这一步和迭代开发同时考虑,就可以很有
针对性,在框架的搭建阶段不断思索和探讨框架的改进办法,在内容填充阶段不断完善对细节对品质的雕琢。
不过对计划进行改进,修正还是需要有一定的限度,必须要考虑到对项目周期和预算的影响,尤其不要更改一些已完成很久的工作,连带关系与影响都很难预计。
计划基本确定后,就需要开始一些保证计划实施的工作了。
只要计划足够合理,就应该能够按部就班地进行下去,这一阶段,没有大问题的话,只需要不断跟进各部门的开发进度,定期召开全项目组及各部门间的会议,确认工作进度的进展,并且得到一些对计划的反馈,在任何时候跟进游戏内容,保证游戏品质和内容向着预定的目标前进。
即使计划照常进行,各部门间也应该保持周期性的交流,了解本部门,其他部门的开发进展,充分地了解整个项目的状况。
如果出现一些意外状况,如未考虑到的难题,突发的大型BUG,需要加入一些之前漏掉的内容等,就需要立即召开相关人员的会议,和仍然需要完成的剩余工作放在一起,重新进行计划的制订工作。
由于各种不确定性的因素,所以在订立计划时,还需要预留一些应对风险的时间,过分压制开发时间,导致不得不延期对士气和项目的伤害都会很大。
在过程中,应该多听取一些团队成员的意见,而且我自认为很重要的一点,是不应该保密,有任何困难和需求都应该直说,
对常接触的团队成员来说,很多事情很难瞒住,不仅没有作用,而且会加深他们对项目的不信任感,有所保留能够换取的也只是别人的有所保留。
事实上,不同项目组的管理方式肯定不会完全相同,都会有一些符合自身特点的管理流程,以上的不过是我自己理想中的一套流程,并不可能适合大部分的情况。
但是,有一点我认为是不会有问题的:无论采用什么样的项目管理方式,确保团队成员明白这些管理方式每一个步骤的实施方法与原因是十分必要的,如果只是需求每天的日报而不去说明日报对开发进度把控的重要性,很可能能够得到的也就是一堆流水账似的表单罢了。
我认为的项目管理,不是一两个人的事,而是一个团队努力的结果,这点在漫长的开发过程中,尤为重要。
软件工程课程虽已结束,但我对于软件工程的学习才刚刚开始。
我体会到项目管理的重要性,随着软件规模、复杂度的不断增加,项目开发中更多的是协作、管理和控制。
我学习到很多一般性的方法,例如:需求获取、模块化、计划等等。
同时,我也认识到使用计算机解决实际问题的复杂性,人们认识表达的过程不断反复、逐步深化,软件工程方法要提供给程序员们一种更加有效的对客观世界问题域进行形式化的过程方法。
首先需要完善订立计划的方式,最开始的,是之前提到的订立里程碑计划的方式,要尽可能地把每个里程碑的内容做好详细规划,将所有的系统,内容,细节都列举出来,同时需要考虑到流程的因素,哪些
工作是其他工作的前续,需要优先完成,哪些工作只能等到资源到位才能开始,都需要考虑在内,为每个里程碑订立具体可行的计划。