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.持续开发
A.Qt的IO操作的处理方式1.Qt通过统一的接口简化了文件与外部设备的操作方式2.Qt中的文件被看作一种特殊的外部设备3.Qt中的文件按操作与外部设备的操作相同B.IO操作中的关键函数接口1.打开设备:bool open2.读取数据:QByteArray read3.写入数据:qint64 write4.关闭设备:void closeIO操作的本质:连续存储空间的数据读写C.Qt中IO设备的类型1.顺序存取设备--只是从头开始顺序的读写数据,不能指定数据的读写位置2.随机存取设备--可以定位到任意的位置进行数据的读写Qt中IO设备的继承层次图QFile是Qt中用于文件操作的类QFile对象对应到计算机上的一个文件QFileInfo类用于读取文件属性信息D.Qt中提供了临时文件操作类QTemporaryFile1.安全地创建一个全局唯一的临时文件2.当对象销毁时对应的临时文件将被删除3.临时文件的打开方式为QIODevice::ReadWrite4.临时文件常用于大数据传递或者进程间通信的场合代码示例
#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(); }
生成的结果图