没有合适的资源?快使用搜索试试~ 我知道了~
数据结构课程设计报告-拍卖管理系统.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 2 浏览量
2023-05-11
22:53:23
上传
评论
收藏 684KB DOCX 举报
温馨提示
试读
36页
而需求分析则是介于系统分析和软件设计阶段之间的重要桥梁。一方面,需求分析以系统规格说明和项目规划作为分析活动的基本出发点,并从软件角度对它们进行检查与调整;另一方面,需求规格说明又是软件设计、实现、测试直至维护的主要基础。良好的分析活动有助于避免或尽早剔除早期错误,从而提高软件生产率,降低开发成本,改进软件质量。[2]本软件设计需求分析图如下:
资源推荐
资源详情
资源评论
数据结构课程设计
总结报告
目录
第一章 需求分析 ................................................................................................................3
第二章 系统设计 ................................................................................................................4
1. 总体设计:....................................................................................................................4
2. 程序设计:....................................................................................................................5
2.1. Advertisement: ....................................................................................................5
2.2. Bid:.......................................................................................................................5
2.3. Date: ....................................................................................................................6
2.4. Client:...................................................................................................................7
2.5. Group:..................................................................................................................8
2.6. Listing:..................................................................................................................8
2.7. Category:..............................................................................................................9
2.8. Categories:............................................................................................................10
第三章 系统的设计与调试 ..............................................................................................11
3.1. 有关 map 的 insert 方法和 count 方法:...............................................................11
3.2. Advertisement: ......................................................................................................12
3.3. Categories:.............................................................................................................12
3.4. Listing:....................................................................................................................13
第四章 系统测试 ..............................................................................................................16
4.1. Exercise 1 的测试: ................................................................................................16
4.2. Exercise 2 的测试: ................................................................................................19
4.3. Exercise 3 的测试: ................................................................................................21
4.4. Exercise 4 的测试: ................................................................................................23
4.5. Exercise 5 的测试: ................................................................................................32
第一章 需求分析
随着信息化技术在生活中的应用越来越广泛,网上购物也逐渐成为人们的一种生活方式。
本系统正是基于这样一种环境下应运而生。计机网络为商务活动开辟了新的空间,提供了新
的手段,同时为公司业务发展赋予了更多的机会,成为现代商务的潮流。网上拍卖是建立在
电子网络技术上的一种全新的电子商务模式。它具有成本低廉,方式灵活,运行快捷等特点。
通过 Internet 将拍卖活动变成每一位网民都可以加入其中的交易方式。但它在给人们带来便
利的同时也带来了很多的问题。它的公平、公正、公开性受到大家的关注。其可靠性和安全
性更是大家关心的问题。这就要求不仅要在系统的设计上做到公平合理,也要在信息的传输
上做到安全可靠,以构建一个公平又安全的交易平台。[1]
而需求分析则是介于系统分析和软件设计阶段之间的重要桥梁。一方面,需求分析以系
统规格说明和项目规划作为分析活动的基本出发点,并从软件角度对它们进行检查与调整;
另一方面,需求规格说明又是软件设计、实现、测试直至维护的主要基础。良好的分析活动
有助于避免或尽早剔除早期错误,从而提高软件生产率,降低开发成本,改进软件质量。[2]
本软件设计需求分析图如下:
Figure 1. Requirement Analysis
网上拍卖系统
用户操作
创建用户
张贴广告
投标操作
查找用户
广告操作
投标管理
查询日期
投标查询
分类操作
添加成员
查询成员
遍历成员
Page 4 / 36
第二章 系统设计
1. 总体设计:
根据需求分析图,创建了 Advertisement, Bid, Date, Clien 四个基础类,有创建了
Category, Categories, Group, Listing 三个容器类对前四个基础类进行封装,并且定义实现
了迭代器操作,整体类图如下所示:
Advertisement
-number:int
-quantity:int
-title:std::string
-seller_email:std::string
-body:std::string
-start:Date
-close:Date
-bids:std::pirority_queue<Bids>
+Advertisement(void)
+Advertisement(const Advertisement&)
+Advertisement (std::string, std::string,
std::string, Date, Date, int)
+setStart(const Date&):virtual void
+setClose(const Date&):virtual void
+setTitle(std::string):virtual void
+setBody(std::string):virtual void
+setNumber(int):virtual void
+setEmail(std::string):virtual void
+setQuantity(int):virtual void
+getStart():virtual Date const
+getClose():virtual Date const
+getTitle():virtual std::string const
+getBody():virtual std::string const
+getNumber():virtual int const
+getEmail():virtual std::string const
+getQuantity():virtual int const
+getTopDutchBids():virtual vector<Bid>
const
+operator==(const
Advertisement&):virtual bool const
Bid
-email:std::string
-amount:float
-quantity:int
-date:Date
+Bid(void)
+Bid(const Bid&)
+Bid(std::string, float, int, Date)
+setEmail(std::stirng):virtual void
+setAmount(float):virtual void
+setQuantity(int):virtual void
+setDate(const Date&):virtual void
+getEmail():virtual std::string const
+getAmount():virtual float const
+getQuantity():virtual int const
+getDate():virtual Date const
+operator<(const Bid&):virtual bool
const
+operator==(const Bid&):virtual bool
const
+getBids():virtual
std::priority_queue<Bid>
Date
-month:int
-day:int
-year:int
-hour:int
-minute:int
-second:int
+Date(void)
+Date(int, int, int, int, int, int)
+setDay(int):virtual void
+setMonth(int):virtual void
+setYear(int):virtual void
+setHour(int):virtual void
+setMinute(int):virtual void
+setSecond(int):virtual void
+getMonth():int virtual const
+getDay():virtual int const
+getYear():virtual int xonst
+getHour():virtual int const
+getMinute():virtual int const
+getSecond():virtual int const
+operator<(const Date&):virtual bool
+operator==(const Date&):virtual bool
-
Client
-Fname:std::string
-Lname:std::string
-Email:std::string
-passwd::std::string
-offerings:set<int>
-bids:set<int>
+Client(void)
+Client(const Client&)
+Client(std::string, std::string,
std::string, std::stirng)
+setFname(std::string):virtual void
+setLname(std::string):virtual void
+setEmail(std::string):virtual void
+setPasswd(std::string):virtual void
+getFname():virtual std::string const
+getLname():virtual std::string const
+getEmail():virtual std::string const
+getPasswd():virtual std::string const
+addBids(int):virtual void
+addOfferings(int):virtual void
+verifyPasswd(std::string):virtual bool
+beginOfferings():virtual
set<int>::iterator
+endOfferings():virtual set<int>::iterator
+beginBids:virtual set<int>::iterator
+endBids():virtual set<int>::iterator
Listing
-objects:vector<Advertisement*>
+operator[const int]:virtual
Advertisement*
+add(Advertisement*):virtual void
+begin():virtual
vector<Advertisement*>::iterator
+end():virtual
vector<Advertisement*>::iterator
+sort(std::string):virtual Listing
+filter(std::string):virtual Listing
Group
-objects:map<string,Client*>
+operator[const std::string]:Client*
+add(Client*):virtual void
+begin():virtual
map<string,Client*>::iterator
+end():virtual
map<string,Client*>::iterator
Categories
-objects:map<int,Category*>
+TOP_LEVEL:const static int
+NO_PARENT:const static int
+findOfferings(int,
vector<Advertisement*>::iterator,
vector<Advertisement*>::iterator,
Listing)
+findOfferingsRecursive(int,
vector<Advertisement*>::iterator,
vector<Advertisement*>::iterator,
Listing)
+add(Advertisement*):virtual void
+operator[const int]::Advertisement*
+begin():virtual
map<int,Category*>::iterator
+end():virtual map<int,Category*>
-
Category
-number:int
-parent:int
-name:std::string
-sub_categories:map<int,Category*>
-items:set<int>
+Category(void)
+Category(int,std::string)
+setNumber(int):virtual void
+setParent(int):virtual void
+setName(std::string):virtual void
+getNumber():virtual int
+getParent():virtual int
+getName():virtual std::string
+addSubCategory(int):void
+addItem(int):void
+itemsBegin():virtual set<int>::iterator
+itemsEnd():virtual set<int>::iterator
+subCategoryBegin()::virtual
map<int,Category*>::iterator
+subCategoryEnd():virtual
map<int,Category*>::iterator
+operator==(const Category&)::virtual
bool
2..2
1..1
0..*
0..*
0..*
Figure 2. Class Diagram
Page 5 / 36
2. 程序设计:
2.1. Advertisement:
构造函数摘要
Advertisement(void);
初始化并构造 Advertisement 对象
Advertisement(const Advertisement
&a);
拷贝构造与 a 相同的 Advertisement 对象
Advertisement (string title,
string seller_email, string body,
Date start, Date close, int
quantity);
初始化 Advertisement 对象,并对其中的
成员变量赋予特定值
Figure 3. The Constructor of Class “Advertisement”
成员函数摘要
virtual void
setStart (const Date &start)
设置广告张贴时间
virtual void
setClose (const Date &close)
设置广告结束时间
virtual void
setTitle (string title)
设置广告标题
virtual void
setBody (string body)
设置广告主体
virtual void
setNumber (int number)
设置广告编号
virtual void
setEmail (string email)
设置张贴人的电子邮箱
virtual void
setQuantity (int quantity)
设置拍卖品数量
virtual Date
getStart() const
获得广告张贴时间
virtual Date
getClose() const
获得广告结束时间
virtual string
getTitle() const
获得广告标题
virtual string
getBody() const
获得广告主题
virtual string
getEmail() const
获得张贴人电子邮箱
virtual int
getNumber() const
获得广告编号
virtual int
getQuantity() const
获得拍卖品数量
virtual
priority_queue<Bid>&
getBids(void)
获得广告的投标数
virtual vector<Bid>
getTopDutchBids (void) const
获得“荷兰式”投标列表
virtual bool
operator==(const
Advertisement&) const
判断该广告的编号与是否
传入广告的编号相等。如
相等,则视为两个广告相
等
Figure 4. The Function of Class “Advertisement”
2.2. Bid:
构造函数摘要
Bid(void)
初始化并构造 Bid 对象
Bid(const Bid &b)
拷贝构造与 b 相同的 Bid 对象
Bid (string email, float amount,
int quantity, Date date)
初始化 Bid 对象,并对其中的成员赋予
特定值。
Figure 5. The Constructor of Class “Bid”
剩余35页未读,继续阅读
资源评论
等天晴i
- 粉丝: 3535
- 资源: 10万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功