一.软件开发流程

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();
}

生成的结果图