30中有内存泄漏
什么是软件开发流程/p>
通过一系列步骤保证软件产品的顺利完成
软件产品的生命期内管理方法学
软件开发流程的本质:
开发流程与具体技术无关,开发流程是开发团队必须遵守的规则。
常见软件开发流程:
即兴模型(Build-and-Fix Model):没有规则
瀑布模型(Waterfall Model)
增量模型(Incremental Mode)
螺旋模型(Spiral Model)
敏捷模型(Agile Modeling)
即兴模型:与最终用户交流后立即开始进行开发,没有需求分析和需求发掘的过程,没有整体设计以及规划的过程,没有相关软件文档,维护性差。
瀑布模型:通过自上而下的步骤进行软件开发,每个开发步骤都是不可逆的
需求分析->架构设计->开发实现->系统测试->最终发布
增量模型:将系统功能分解为互不重叠的子功能,每次全力实现一个子功能,子功能全部完成后系统开发结束。
功能1:分析:设计:开发:测试
功能2:分析:设计:开发:测试
功能3:分析:设计:开发:测试
螺旋模型:
采用一种迭代的方法来进行系统开发,软件项目分解成多个不同的版本完成,每个版本的开发过程都需要用户参与,根据前一个版本的反馈计划下一个版本。跟用户多次交流
不足:对用户需求变化不够快,用户需求可能会改变
敏捷模型:一切从简,拥抱变化,高效工作,持续开发。
第一阶段:
主窗口界面分析->主窗口界面设计->开发->测试
检查内存泄漏:linux中valgrind内存分析器:只是可疑出现内存泄漏的地方
1、initFileMenu 中new没有指定父对象
new时指定父对象:QMenu* menu=new QMenu(“File(&F)”,mb);
2、initEditMenu中也是
QMenu* menu=new QMenu(“File(&E)”,mb)
3、initFormatMenu;
QMenu* menu=new QMenu(“File(&0)”,mb)
4、initViewMenu
QMenu* menu=new QMenu(“File(&V)”,mb)
5、initHelpMenu
QMenu* menu=new QMenu(“File(&H)”,mb)
6、makeAction
bool MainWindow::makeAction(QAction*& action,QWidget* parent,QString text,int key)
action=new QAction(text,parent)
增加第二个参数指定父对象
小结:软件开发流程是开发团队遵守的一系列规则,软件开发的意义在于保证产品的质量和进度,业界已经存在多种开发流程模型,每一种开发流程都有特定的使用范围,课程中统一采用增量模型进行项目开发。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!