1、軟件開(kāi)發(fā)流程
Q.什么是軟件開(kāi)發(fā)流程?
1.通過(guò)一系列步驟保證軟件的順利完成
2.軟件產(chǎn)品在生命期內(nèi)的管理方法學(xué)
軟件開(kāi)發(fā)流程的本質(zhì)
1.開(kāi)發(fā)流程與具體技術(shù)無(wú)關(guān)
2.開(kāi)發(fā)流程是開(kāi)發(fā)團(tuán)隊(duì)必須遵守的規(guī)則
常見(jiàn)的開(kāi)發(fā)流程–即興、瀑布、增量、螺旋、敏捷等
A.即興模型
1.與最終用戶(hù)交流后立即開(kāi)始進(jìn)行開(kāi)發(fā)
2.沒(méi)有需求分析和需求發(fā)掘的過(guò)程
3.沒(méi)有整體設(shè)計(jì)以及規(guī)劃的過(guò)程
4.沒(méi)有相關(guān)軟件文檔,維護(hù)性差
B.瀑布模型
1.通過(guò)自上而下的步驟進(jìn)行軟件開(kāi)發(fā)
2.每個(gè)開(kāi)發(fā)步驟都是不可逆的
C.增量模型
1.將系統(tǒng)能分解為互不重疊的子功能
2.每次全力實(shí)現(xiàn)一個(gè)子功能
3.子功能全部完成后系統(tǒng)開(kāi)發(fā)結(jié)束
D.螺旋模型
1.采用一種迭代的方法進(jìn)行系統(tǒng)開(kāi)發(fā)
2.軟件項(xiàng)目分解成多個(gè)不同的版本完成
3.每個(gè)版本的開(kāi)發(fā)過(guò)程都需要用戶(hù)參與
4.根據(jù)前一個(gè)版本的反饋計(jì)劃下一個(gè)版本
E.敏捷模型
1.一切從簡(jiǎn)
2.擁抱變化
3.高效工作
4.持續(xù)開(kāi)發(fā)
2、Qt中的文件操作
A.Qt的IO操作的處理方式
1.Qt通過(guò)統(tǒng)一的接口簡(jiǎn)化了文件與外部設(shè)備的操作方式
2.Qt中的文件被看作一種特殊的外部設(shè)備
3.Qt中的文件按操作與外部設(shè)備的操作相同
B.IO操作中的關(guān)鍵函數(shù)接口
1.打開(kāi)設(shè)備:bool open
2.讀取數(shù)據(jù):QByteArray read
3.寫(xiě)入數(shù)據(jù):qint64 write
4.關(guān)閉設(shè)備:void close
【領(lǐng)QT開(kāi)發(fā)教程學(xué)習(xí)資料,點(diǎn)擊→Qt開(kāi)發(fā)(視頻教程 文檔 代碼 項(xiàng)目實(shí)戰(zhàn))←莬費(fèi)領(lǐng)取,先碼住不迷路~】
IO操作的本質(zhì):連續(xù)存儲(chǔ)空間的數(shù)據(jù)讀寫(xiě)
C.Qt中IO設(shè)備的類(lèi)型
1.順序存取設(shè)備–只是從頭開(kāi)始順序的讀寫(xiě)數(shù)據(jù),不能指定數(shù)據(jù)的讀寫(xiě)位置
2.隨機(jī)存取設(shè)備–可以定位到任意的位置進(jìn)行數(shù)據(jù)的讀寫(xiě)
Qt中IO設(shè)備的繼承層次圖
QFile是Qt中用于文件操作的類(lèi)
QFile對(duì)象對(duì)應(yīng)到計(jì)算機(jī)上的一個(gè)文件
QFileInfo類(lèi)用于讀取文件屬性信息
D.Qt中提供了臨時(shí)文件操作類(lèi)QTemporaryFile
1.安全地創(chuàng)建一個(gè)全局唯一的臨時(shí)文件
2.當(dāng)對(duì)象銷(xiāo)毀時(shí)對(duì)應(yīng)的臨時(shí)文件將被刪除
3.臨時(shí)文件的打開(kāi)方式為QIODevice::ReadWrite
4.臨時(shí)文件常用于大數(shù)據(jù)傳遞或者進(jìn)程間通信的場(chǎng)合
代碼示例
#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("myloven"); file.write("dangdangxiaohain"); 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();}
生成的結(jié)果圖
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶(hù)自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。