一.软件开发流程
Q.什么是软件开发流程?
1.通过一系列步骤保证软件的顺利完成
2.软件产品在生命期内的管理方法学
软件开发流程的本质
1.开发流程与具体技术无关
2.开发流程是开发团队必须遵守的规则
常见的开发流程--即兴、瀑布、增量、螺旋、敏捷等
A.即兴模型
1.与最终用户交流后立即开始进行开发
2.没有需求分析和需求发掘的过程
3.没有整体设计以及规划的过程
4.没有相关软件文档,维护性差
B.瀑布模型
1.通过自上而下的步骤进行软件开发
2.每个开发步骤都是不可逆的
C.增量模型
1.将系统能分解为互不重叠的子功能
2.每次全力实现一个子功能
3.子功能全部完成后系统开发结束
D.螺旋模型
1.采用一种迭代的方法进行系统开发
2.软件项目分解成多个不同的版本完成
3.每个版本的开发过程都需要用户参与
4.根据前一个版本的反馈计划下一个版本
E.敏捷模型
1.一切从简
2.拥抱变化
3.高效工作
4.持续开发
二.Qt中的文件操作
A.Qt的IO操作的处理方式
1.Qt通过统一的接口简化了文件与外部设备的操作方式
2.Qt中的文件被看作一种特殊的外部设备
3.Qt中的文件按操作与外部设备的操作相同
B.IO操作中的关键函数接口
1.打开设备:bool open
2.读取数据:QByteArray read
3.写入数据:qint64 write
4.关闭设备:void close
IO操作的本质:连续存储空间的数据读写
C.Qt中IO设备的类型
1.顺序存取设备--只是从头开始顺序的读写数据,不能指定数据的读写位置
2.随机存取设备--可以定位到任意的位置进行数据的读写
Qt中IO设备的继承层次图
QFile是Qt中用于文件操作的类
QFile对象对应到计算机上的一个文件
QFileInfo类用于读取文件属性信息
D.Qt中提供了临时文件操作类QTemporaryFile
1.安全地创建一个全局唯一的临时文件
2.当对象销毁时对应的临时文件将被删除
3.临时文件的打开方式为QIODevice::ReadWrite
4.临时文件常用于大数据传递或者进程间通信的场合
代码示例
#include <QtCore/QCoreApplication>
#include <QFile>
#include <QByteArray>
#include <QDebug>
#include <QFileInfo>
#include <QDateTime>
void write(QString f)
{
QFile file(f);
if( file.open(QIODevice::WriteOnly | QIODevice::Text) )
{
file.write("mylove\n");
file.write("dangdangxiaohai\n");
file.close();
}
}
void read(QString f)
{
QFile file(f);
if( file.open(QIODevice::ReadOnly | QIODevice::Text) )
{
QByteArray ba = file.readLine();
QString s(ba);
qDebug() << s;
file.close();
}
}
void info(QString f)
{
QFile file(f);
QFileInfo info(file);
qDebug() << info.exists();
qDebug() << info.isFile();
qDebug() << info.isReadable();
qDebug() << info.isWritable();
qDebug() << info.created();
qDebug() << info.lastRead();
qDebug() << info.lastModified();
qDebug() << info.path();
qDebug() << info.fileName();
qDebug() << info.suffix();
qDebug() << info.size();
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
write("C:/Users/59673/Desktop/test.txt");
read("C:/Users/59673/Desktop/test.txt");
info("C:/Users/59673/Desktop/test.txt");
return a.exec();
}
生成的结果图