logo资料库

SSD5网上拍卖系统实验报告.docx

第1页 / 共36页
第2页 / 共36页
第3页 / 共36页
第4页 / 共36页
第5页 / 共36页
第6页 / 共36页
第7页 / 共36页
第8页 / 共36页
资料共36页,剩余部分请下载后查看
第一章需求分析
第二章系统设计
1.总体设计:
2.程序设计:
2.1.Advertisement:
2.2.Bid:
2.3.Date:
2.4.Client:
2.5.Group:
2.6.Listing:
2.7.Category:
2.8.Categories:
第三章系统的设计与调试
3.1.有关map的insert方法和count方法:
3.2.Advertisement:
3.3.Categories:
3.4.Listing:
第四章系统测试
4.1.Exercise 1的测试:
4.2.Exercise 2的测试:
4.3.Exercise 3的测试:
4.4.Exercise 4的测试:
4.5.Exercise 5的测试:
第五章结论
第六章参考文献
数据结构课程设计 总结报告 专 班 学 姓 日 业 级 号 名 期 东北大学软件学院
目录 第一章 需求分析.................................................................................................................3 第二章 系统设计.................................................................................................................4 1. 总体设计:.................................................................................................................... 4 2. 程序设计:.................................................................................................................... 5 Advertisement:.....................................................................................................5 2.1. Bid:........................................................................................................................5 2.2. Date:..................................................................................................................... 6 2.3. 2.4. Client:................................................................................................................... 7 2.5. Group:...................................................................................................................8 2.6. Listing:.................................................................................................................. 8 Category:.............................................................................................................. 9 2.7. 2.8. Categories:.............................................................................................................10 第三章 系统的设计与调试...............................................................................................11 3.1. 有关 map 的 insert 方法和 count 方法:...............................................................11 3.2. Advertisement:.......................................................................................................12 Categories:............................................................................................................. 12 3.3. 3.4. Listing:.................................................................................................................... 13 第四章 系统测试...............................................................................................................16 Exercise 1 的测试:.................................................................................................16 Exercise 2 的测试:.................................................................................................19 Exercise 3 的测试:.................................................................................................21 Exercise 4 的测试:.................................................................................................23 Exercise 5 的测试:.................................................................................................32 第五章 结论.......................................................................................................................36 第六章 参考文献...............................................................................................................36 4.1. 4.2. 4.3. 4.4. 4.5. Page 2 / 36
第一章 需求分析 随着信息化技术在生活中的应用越来越广泛,网上购物也逐渐成为人们的一种生活方式。 本系统正是基于这样一种环境下应运而生。计机网络为商务活动开辟了新的空间,提供了新 的手段,同时为公司业务发展赋予了更多的机会,成为现代商务的潮流。网上拍卖是建立在 电子网络技术上的一种全新的电子商务模式。它具有成本低廉,方式灵活,运行快捷等特点。 通过 Internet 将拍卖活动变成每一位网民都可以加入其中的交易方式。但它在给人们带来便 利的同时也带来了很多的问题。它的公平、公正、公开性受到大家的关注。其可靠性和安全 性更是大家关心的问题。这就要求不仅要在系统的设计上做到公平合理,也要在信息的传输 上做到安全可靠,以构建一个公平又安全的交易平台。[1] 而需求分析则是介于系统分析和软件设计阶段之间的重要桥梁。一方面,需求分析以系 统规格说明和项目规划作为分析活动的基本出发点,并从软件角度对它们进行检查与调整; 另一方面,需求规格说明又是软件设计、实现、测试直至维护的主要基础。良好的分析活动 有助于避免或尽早剔除早期错误,从而提高软件生产率,降低开发成本,改进软件质量。[2] 本软件设计需求分析图如下: Figure 1. Requirement Analysis
第二章 系统设计 1. 总体设计: 根据需求分析图,创建了 Advertisement, Bid, Date, Clien 四个基础类,有创建了 Category, Categories, Group, Listing 三个容器类对前四个基础类进行封装,并且定义实现 了迭代器操作,整体类图如下所示: Page 4 / 36
2. 程序设计: 2.1. Advertisement: Advertisement(void); 初始化并构造 Advertisement 对象 Advertisement(const Advertisement 拷贝构造与 a 相同的 Advertisement 对象 构造函数摘要 &a); Advertisement (string title, string seller_email, string body, Date start, Date close, int 初始化 Advertisement 对象,并对其中的 成员变量赋予特定值 quantity); Figure 3. The Constructor of Class “Advertisement” virtual void virtual void virtual void virtual void virtual void virtual void virtual void virtual Date virtual Date virtual string virtual string virtual string virtual int virtual int virtual priority_queue& virtual vector virtual bool 成员函数摘要 setStart (const Date &start) setClose (const Date &close) 设置广告张贴时间 设置广告结束时间 setTitle (string title) setBody (string body) setNumber (int number) setEmail (string email) setQuantity (int quantity) getStart() const getClose() const getTitle() const getBody() const getEmail() const getNumber() const getQuantity() const getBids(void) 设置广告标题 设置广告主体 设置广告编号 设置张贴人的电子邮箱 设置拍卖品数量 获得广告张贴时间 获得广告结束时间 获得广告标题 获得广告主题 获得张贴人电子邮箱 获得广告编号 获得拍卖品数量 获得广告的投标数 getTopDutchBids (void) const 获得“荷兰式”投标列表 判断该广告的编号与是否 传入广告的编号相等。如 相等,则视为两个广告相 Advertisement&) const operator==(const Figure 4. The Function of Class “Advertisement” 等 2.2. Bid: 构造函数摘要 Bid(void) Bid(const Bid &b) 初始化并构造 Bid 对象 拷贝构造与 b 相同的 Bid 对象 Bid (string email, float amount, int 初始化 Bid 对象,并对其中的成员赋予 quantity, Date date) 特定值。 Figure 5. The Constructor of Class “Bid” Page 5 / 36
virtual void virtual void virtual void virtual void virtual string virtual float virtual int virtual Date virtual bool 成员函数摘要 setEmail(const string&) setAmount(const float&) setQuantity(const int&) setDate(const Date&) getEmail() const getAmount() const getQuantity() const getDate() const operator< (const Bid &rhs) const 设置投标人的电子邮箱 设置单个标的金额 设置标的数量 设置投标日期 获得投标人的电子邮箱 获得单个标的金额 获得标的数量 获得投标日期 判断该标的单个金额是否 大于传入的标的单个金额 判断该标的单个金额是否 virtual bool operator== (const Bid &rhs) 相等传入的标的单个金 const 额,若相等,则视为两个 标相等 Figure 6. The Function of Class “Bid” 2.3. Date: 构造函数摘要 Date(void) 初始化并构造“Date”对象 Date (int month, int day, int year, int 初始化 Date 对象,并对其中的成员变量赋 hour, int minute, int second) 予特定值 Figure 7. The Constructor of Class “Date” virtual void virtual void virtual void virtual void virtual void virtual void virtual int virtual int virtual int virtual int virtual int virtual int virtual bool 成员函数摘要 setMonth(int&) setDay(int&) setYear(int&) setHour(int&) setMinute(int&) setSecond(int&) getMonth(void) const getDay(void) const getYear(void) const getHour(void) const getMinute(void) const getSecond(void) const operator== (const Date& 设置该日期的月份 设置该日期的天数 设置该日期的年份 设置该日期的小时 设置该日期的分 设置该日期的秒 获得该日期的月份 获得该日期的天数 获得该日期的年份 获得该日期的小时 获得该日期的分钟 获得该日期的秒 判断该日期是否与传入日 virtual bool operator<(const Date& 判断该日期是否早与传入 rhs) 期相等 left) 日期 Figure 8. The Function of Class “Date” Page 6 / 36
2.4. Client: 构造函数 Client(void) Client(Client const &c) 初始化并构造 Client 对象 拷贝构造与 c 相同的 Client 对象 Client (string &fname, string &lname, 初始化 Client 对象,并对其中的成员变量赋 string &email, string &passwd); 予特定值 Figure 9. The Constructor of Class “Client” virtual void virtual void virtual void virtual void virtual string virtual string virtual string virtual string virtual 成员函数 setFname(const string&) setLname(const string&) setEmail(const string&) setPasswd(const string&) getFname() const getLname() const getEmail() const getPasswd() const set::iterator beginOfferings() virtual set::iterator endOfferings() virtual set::iterator beginBids() virtual set::iterator endBids() 设置该用户的名 设置该用户的姓 设置该用户的电子邮箱 设置该用户的密码 获得该用户的名 获得该用户的姓 获得该用户的电子邮箱 获得该用户的密码 获得该用户用于记录所 有投标商品的容器的尾 迭代器 获得该用户用于记录所 有投标商品的容器的尾 迭代器 获得该用户用于记录所 有投标的容器的首迭代 器 获得该用户用于记录所 有投标的容器的尾迭代 器 virtual void virtual void addBid(int item) 添加该用户的投标编号 addOffering (int item) 添加该用户的投标商品 编号 virtual bool verifyPasswd(string passwd) 检查传入字符串是否为 Figure 10. The Function of Class “Client” 该用户名密码 Page 7 / 36
2.5. Group: Client* *operator[](const string& 成员函数 email) 以用户的电子邮箱作为 检索值从该组查找并获 得该用户 add(Client* ptr) 添加新用户到该组 获得该组存储用户的容 器的首迭代器 获得该组用户存储用户 的容器的尾迭代器 virtual void virtual map begin() ::iterator virtual map end() ::iterator Figure 11. The Function of Class “Group” 2.6. Listing: virtual operator[](const int& Advertisement* number) 成员函数 以广告的编号作为检索 值从该列表查找并获得 该广告 virtual void add(Advertisement* ptr) 添加新广告到该列表 virtual vector< Advertisement* >::iterator virtual vector< Advertisement* >::iterator begin() end() virtual Listing sort(string field) virtual Listing filter(string keyword) 获得该列表存储广告的 容器的首迭代器 获得该列表存储广告的 容器的尾迭代器 遍历整个列表,按照以 传入字符串为名称的 “Advertisement”类中成 员变量大小进行排序, 并将排序好的广告添加 进新的列表容器中病返 回列表容器。 以传入的字符串作为索 引值,遍历整个列表, 查找广告标题或主体中 含有该传入字符串,并 将所有的这样的广告添 加进新的列表容器并返 回该列表容器。 Figure 12. The Function of Class “Listing” Page 8 / 36
分享到:
收藏