超市管理系统分析与设计——以O2O的线上超市管理系统为例

摘要

本文主要研究传统零售商店在电商趋势冲击下如何转型的问题,目的在于帮助传统零售商店线上功能的实现。在研究O2O线上超市管理系统情况的基础上,从实际情况出发,采用面向对象方法、B/S结构和python开发语言,基于pycharm开发平台、微信开发者工具、SQL数据库,完成对系统的设计和实现。系统主要分成两大部分,一、前台购物模块:这一模块主要通过微信小程序来实现,顾客通过这一微信小程序可以浏览、查看商品信息,可以将商品添加到购物车,可以完成对商品的线上支付,可以对商品进行评价,可以申请售后服务。二、后台管理模块:这一模块主要通过网页来实现,管理员在这一后台模块可以通过仪表盘查看超市的各种总营业数据、可以通过账号管理修改新增账号信息、可以通过商品管理对商品及商品分类进行增删改查、可以通过会员列表查看会员评价及部分个人信息、可以通过订单管理对订单状态进行修改,达到备货发货的效果、可以通过统计管理查看超市各种详细营业数据。

本文介绍了系统从设计到怎么实现的过程,介绍了系统背景、系统开发目的及意义、开发工具选择、系统需求分析、系统功能分析、系统总体设计、系统详细设计,并对过程中遇到的问题和解决方法进行总结。

 关键词:O2O;B/S模式;超市;微信小程序;面向对象

第1章绪论

  (一)系统开发背景及目标

1.系统开发背景

在近几年的时间里,电子商务在中国发展得如火如荼,在一定程度改变人们生活方式、购物习惯的同时,也对线下实体店产生了冲击,甚至引发了人们对实体店存亡的讨论。但我觉得无店铺的电子商务只是在影响着实体店的传统经营模式(好地段+好装修+好进店率+好体验+好成交率),并不会影响实体店的存亡。中团网副总裁刘新成就曾说过:“门店实体店不会消失,网络不可能取代实体店”。其实从古至今,无论时代如何变化,本质意义上的实体店是一直存在的,只是主流的经营模式在不断改变,或许只是你我不曾留意而已,从最开始的流动小摊、流动集市、固定门店、官方旗舰店到现在的体验店,这些从本质意义上来说都是实体店的不同存在形式[1]。

O2O即Online To Offline,是线上/线下的意思,这个商业概念最早出现于X,是指将线下的消费需求与互联网进行结合。简单点来说就是通过在线支付的方式,消费者和经营店家在线上已经完成了初步的交易活动,也就是让互联网成为线下商务机会的交易前台。通过这个新的商业模式,实体店可以打破传统经营理念带来的一些弊端,同时也吸收了来自电商的一些经营优势,从而在这个飞速发展的互联网时代走出一条属于实体店的出路。

所以鉴于实体店的优势及O2O商业模式发展趋势的研究分析,本课题以O2O的线上超市管理系统设计与实现作为我的毕业设计主题。设计一个线上线下选购、体验感好、在线支付、线下取货等功能的超市管理系统,以小小的力量推动O2O商业模式的发展。

2.系统开发的目标

设计的系统主要运用于传统的零售型超市,系统在对超市的商品进行信息录入,可以让顾客在线浏览商品,在线进行支付,把原先的传统单线业务流程进行分割,让顾家可以随时随地进行商品浏览,把业务流程进行多线并进,如原先的超市购物要先进入店面,然后再选购商品,然后支付。但有了系统,顾客可以利用移动端在任何时间及任何空间进行商品的选购、支付,然后可以由商家进行打包,顾客到店即取(甚至可以由商家进行配送)。这样可以帮助实体超市突破时间空间的限制。同时把种类繁多的商品以新的方式展示给顾客,方便顾客的挑选,注重顾客购物体验。也在超市、顾客间搭起了一个桥梁,可以让超市收集到顾客脱敏的购物数据,也让顾客知道超市有什么,同时各种促销活动可以线下、线上同时开展,传播人群更广。通过这些业务场景的实现来帮助一些传统销售模式的零售超市实体店完成转型。

(二)系统的主要功能和特点

系统设计理念基于O2O模式,主要结合传统的零售型超市,来完成在线上下单,线下取货、送货的购物流程。系统本质是一个购物管理系统,所以必须考虑顾客的购物体验,因此系统需要拥有完善的购物流程、良好的操作界面来保证顾客在选购商品时的购物体验。

首先后台管理系统为管理员提供验证登陆功能,因为不开放注册功能,账号新增只能通过管理员的账号管理来实现,系统也应向管理员提供基础的商品管理功能、订单管理功能,管理员可以通过商品管理功能对商品进行增删改查,此功能可以实现商家对商品的操作。也可以通过订单管理功能对订单进行查询修改,以实现购物流程中商家备货的业务需求[2]。

在微信小程序系统中,系统作为一个购物平台,应能支撑完整的购物业务流程。因此系统应有登陆注册功能、商品展示查询功能、商品下单功能、和核心的在线支付功能,这四个主要功能支撑着系统最核心的购物流程。

 第2章系统规划

  (一)初步需求分析

1.系统描述

多数传统的零售超市只专于线下购物,业务流程是单线性的,顾客只能在特定时间地点先到店进行商品浏览、商品选择、商品选购、商品支付。对顾客购物行为存在时间性,空间性的约束,购物行为只能在线下进行。于是需要一个系统来补充传统零售超市的线上功能,满足人们日渐改变的购物需求。前台系统支持顾客在任何时间地点进行线上商品浏览、商品收藏、在线支付,可以在去往商店的途中已经完成购物,也可以选择在家等待配送,同时在超市与顾客中搭起一道桥梁,方便超市对顾客购物行为作个性化的分析,改善顾客留存率问题。后台管理系统可以协助管理员对超市商品进行管理,也对经营数据进行可视化统计。

2.系统对象行为分析

系统对象:管理员、顾客。

管理员

管理员通过登陆名、密码进行验证登陆,通过验证进入后台管理系统索引页,索引页显示可视化超市营业数据,通过功能导航栏可以在不同功能模块间进行切换,点击账号管理可以返回账号数据,然后对账号进行新增,修改,删除,恢复行为,点击商品管理对商品、商品分类进行增删改查行为,点击订单管理对订单进行查询、发货行为,点击统计管理对营业数据进行查询行为。

顾客

顾客通过微信端有注册登陆的行为,通过微信的授权登陆,进入购物界面进行选购行为,通过查询商品,进入商品详情页,了解商品信息,对满意的商品加入购物车,然后下单购买,去到个人页面查看订单信息及状态,当商品发货时,可以确认收货或退款。

 (二)总体结构

系统主体采用python+Flask搭建,采用面向对象方法的编程思路进行编程,系统遵循MVC(Model View Controller)模式。

本次系统前端分成顾客购物界面、后台管理界面。顾客购物界面通过微信小程序实现,后台管理界面通过html+css的布局以及JS的渲染实现。后端采用python+Flask实现。

(三)可行性研究

1.经济可行性

基于O2O的线上超市管理系统使用微信端和网页端两大端口作为购物、管理的操作,对电脑配置及移动端的要求都不高,同时系统开发过程中的大部分工具均是免费使用,可在网上、官网寻得,因此经济上可行[3]。

2.操作可行性

系统的研发约耗费1人4月的工作量,采用微信小程序开发及Python工具,目前微信小程序开发已经趋于成熟,并具有完整的开发手册。同时网上有较多的优秀电商平台经验可以学习,所以开发该系统不具有不可克服的因素,因此系统开发可行。

第3章系统分析

  (一)系统功能分析

1.系统参与者分析

通过对基于O2O的线上超市管理系统业务需求分析,分析出系统对象有两个:顾客、管理员。

402ff0d46a74e850aeec22ae010cd3d9

为了在表述在系统中参与者的总体需求及系统提供的功能和服务,故用用例图来简单直观地表述参与者与系统进行了哪些交互。

顾客在前端系统能体验的功能有登陆注册、用户信息管理、地址管理、订单管理

因此确定用例

用户注册、用户验证、查看用户信息、修改用户信息、新增地址、修改地址、删除地址、新建订单、查看订单信息、退货。

图3.1顾客用例图

a99c661b516ee8dc7356d31754cee6d1  管理员在后台管理系统能体验的主要功能有登陆功能、账号管理、用户信息管理、管理员订单管理、商品分类管理、商品管理。

因此确定用例

验证登陆、密钥加密、新增账号、账号冻结、恢复账号、查看用户信息、修改用户信息、查看订单信息、订单状态修改、订单通知、新增商品分类、修改商品分类、删除商品分类、新增商品、商品信息修改、下架商品[4]。

图3.2管理员用例图

01fc0bbabc6e742c4647956608a2aea6  3.用例规约

表3.1顾客注册系统规约

97e70b19e8f392c5db54e29ea6fa827c

da528e8ac0452823eca734305a2ffa83

d820001891308ec5a5c3e50aa96435be

表3.4修改用户信息规约

4c8e06d3de0b2010ee345e4efcccb1ef

24a1f85ee52e78a0d42e4e1cd4a9c606

6fa2798144d0dccf9fa80fa8afbd799b

59f36f58dff59174d498ef3896fe42f5 66382dd13de7ad9ba4f4b991eb31c69e

968f8aeac8493067ec6979e074d172a7

8a2f14227f104a75bf51cb5829efe454

84a1497223e6ee862abf7a9ec8699ce4

86b1068d3cc99618af6ff796080588da

155d4c10ccbbb2dc2e39772769774d60

e9b029f40be9ed6b7cb2f0e4c2b59cf0

efc5a19d8b10e2a7cf075d5163f37be9

9bd5519f280476e9fea912182e70139b

a67e71bcc3c71f607c9e60eb63fa1c6b

05ca06145fb0df2e49860b2c1eead0e2

2e21ac6bc0156b4ef40d6f41d2c96cc7

03cff0d3d4b3aa5810158cdef94f2dd2

(二)概念数据建模和对象关系建模

(1)订单管理

对订单的业务场景进行分析,顾客对商品进行选购后进行下单,此时需要一个新建一个在线订单来对顾客进行关联,而一次只能新建一个订单,但订单中的商品是不固定的,因此不能直接用在线订单对商品进行关联,这样一个在线订单只能关联一个商品,这个时候需要一个中间表来进行关联,解决在线订单表的拥有多个商品信息的需求,创建一个订单详情表,订单详情表通过商品id,在线订单表id进行关联,一个订单详情表只能有一个商品,但一张在线订单表可以有多个订单详情表,这样利用这四张表,就可以满足订单管理中订单业务需求[5]。

顾客表member的属性:(id,nickname,mobile,sex,avatar,salt,reg_ip,status,updated_time,created_time),会员表主要用于系统对不同顾客的识别。

表3.20在线订单表是核心数据表

350c4e0f3195aeb7b624c1a768cc99f4

64a11e7e8f2e79361876e166e73c41d3

商品详情表pay_order_item的属性:pay_order_item(id,goods_id,pay_order_id,member_id,quantity,price,note,status,updated_time,created_time)其中id用主键,goods_id、pay_orde_id为外键,gooods_id用于对商品表的绑定,从而知道商品信息。pay_orde_id用于在线订单表的绑定,从而确定这个商品详情表属于那个在线订单表。在线订单表与商品详情表是一对多的关系,商品详情表与商品表是一对一的关系。

商品表goods的属性:goods(id,cat_id,name,price,main_image,summary,stock,tags,status,month_count,total_count,view_count,updated_time,created_time),其中id为主键,商品表用于商品信息的存放,然后通过商品详情表的绑定来确定商品信息。

这样通过四张表的绑定,系统就能得知是这张订单属于那一个顾客,而这张订单又有什么商品,总金额多少、收货地址在那[6]。

图3.3订单管理类图

5e0128afa85c3c2f47f224b96bfdc37b  (2)顾客收货地址管理

顾客收货地址管理主要通过顾客表、顾客收货地址表实现。

表3.21顾客表member的属性

b55d28543075760e186eeab553e5ca2c

顾客收货地址表member_address的属性member_address(id,member_id,nickname,mobile,province_id,province_str,city_id,city_str,area_id,area_str,address,status,is_default,updated_time,created_time),其中id为主键,member_id为外键,用于对顾客表的绑定,来确定这张收货地址表属于那个顾客。而顾客表与顾客收货地址表是一对多的关系[7]。

这样通过这两张表就可以实现一个顾客有多个地址,并且进行与之对应的管理功能。

图3.4顾客收货地址管理类图

76f8666d9e4ab983fddfe9e948d78885  (3)购物车管理

购物车管理主要通过顾客表、购物车表、商品表实现。

顾客表member的属性:(id,nickname,mobile,sex,avatar,salt,reg_ip,status,updated_time,created_time),顾客表主要用于系统对不同顾客的识别。

购物车表member_cart的属性:member_cart(id,member_id,goods_id,quantity,updated_time,created_time),其中id为主键,member_id、goods_id为外键,member_id用于顾客表的绑定,goods_id用于商品表的绑定。购物车表与顾客是一对一的关系,购物车与商品表是一对多的关系。

商品表goods的属性:goods(id,cat_id,name,price,main_image,summary,stock,tags,status,month_count,total_count,view_count,updated_time,created_time),其中id为主键,商品表用于商品信息的存放,然后通过购物车的绑定来确定商品信息。

通过这三张表的绑定,就可以实现顾客对购物的管理,可以知道购物车表属于那个顾客,顾客的购物车里有那些商品[7]。

图3.5购物车管理类图

ba171908fc74f593a71982b9f08fe3b1  (三)动态建模

1.顺序图

顾客购物顺序图

图3.6顾客购物时序图

2fa2f0002adf9c6a4e55d675ea1ef057  新增商品时序图

d0107f37dad9898e3f748ab73397f0c7  图3.7新增商品时序图

小程序授权登陆时序图

图3.8小程序授权登陆时序图

10e38672f54e3683869bab5d5e36e38a  2.流程图

图3.9订单活动图

bed40802c2c11eb115c8fd11a05aac33  第4章系统设计

  (一)系统总体设计

图4.1系统总体功能图

c443e7dbb4a36333f559846926a0c722  (二)系统详细设计

1.数据库设计

本系统数据库采用的是关系型数据库模式。数据字典如下:

57ad23713fe517ae5fb1fd79391c4bbf

2d736daed0cf5eb8a1bd9621e1d0bd3c

e4c1fd86e3f90c76236256a9b65c1eff b9964aeb29912558d18069d693cc37aa

3a15a9f133b442ec532246649074132d

d0da71011f55a45bc8a49e599aab12f5

b5e6bf33e74f7c1e8e15f341c907c899

3f79fdf6d67778fbf042449d608bb40a

df6b7e057e261296a9ec8ce69c5f263c

0b087d15d23e3b9196736d24625b5bd4

7aba73ef81c827cb0e43bff83bdfbe72  8c8f7eae3a23e96f4d3eb8129e51389c

b9b44651249351a7e89b66b9b63d6256

77ce36b7363f84847944549423a78f76

 (三)I/O设计

1.后台索引页

考虑到系统有着众多的功能,所以需要一个固定的功能索引栏来存放功能,然后功能索引栏还要有一个与之对应的详细功能栏,一个个人中心按键用于个人管理,一个用于查询搜索的输入框,一个数据列表用于展现数据,每次数据上应有着与之对应的相关操作键。页面元素:功能栏、详细功能栏、个人中心按键、查询框、数据列表、数据操作按键。

图4.2索引页设计图

e71682782533293d2c0a7660c2db3822  2.商品增加页

在索引中用到的功能栏,详细功能栏,个人中心按键布局不变,

增加的页面元素主要是信息的输入框。

设计图:

图4.3增加商品页设计图

8dfe6392a11458f7db2bf31e66564d95  3.小程序索引页

页面元素:推荐商品、搜索框、商品分类栏、商品、功能栏。

页面布局中因为手机屏幕是竖长方形,所以布局应为从上至下,商品为主要的信息所以应当放在页面的中间,并且采用2*2的布局不断延伸,推荐商品则应单独放在显眼的最上方,并且要有足够的位置显示,功能栏虽然重要,但顾客的注意力不应放在功能栏上,所以放在最下方[8]。

图4.4小程序索引页设计图

e8f811ced4c95e8c8a948838f7fb0f01  效果图

图4.5后台管理系统登陆界面

8cb1d68e718673ff75111fccee8fdefc  图4.6管理后台主界面

1c68e382211172fda40eff9fa7527e21  图4.7商品管理界面

303523793036a698ca6559c5d5e62aff  图4.8新增商品界面(85%缩放)

5bf5f9a245da5e755272a52e1b5edc40  图4.9小程序授权登陆界面

6e3ce5574136ac5c5bc6fb6bcd788b6d

 第5章系统实现

  (一)系统实现

本次系统的实现得利于有阶段性的规划及大量便利工具的使用。在系统分析阶段,功能分析、画图、UML建模等通过WPS的流程图功能实现。在数据库设计阶段用mysql可视化工具SQLyog进行数据表的创建修改,从而完成实现数据库的设计。在页面设计阶段使用pycharm和微信开发者工具进行页面编写,不断地优化用户界面,从而完成页面开发设计。在系统编码阶段,也是通过pycharm和微信开发者工具来进行代码编写、调试、修改BUG等,从而完成系统代码的编写[9]。

(1)管理员后台登陆/注册功能实现

1)登陆功能接口

在页面输入的数据有效性正确后,接口接收两个参数,login_name和login_pwd,数据以POST方式传递,接口通过resp={‘code’:200,’msg’:’登录成功’,’data’:{}}来判断数据的正确性,先根据login_name参数判断数据库是否存在此账号,然后通过UserService()接口login_pwd参数与账号login_salt进行加密结合生成login_salt,与该账号下的login_salt作正确性比较,最后进行账号状态status的判断在上面的所有判断中当有一个判断不正确则resp[‘code’]=-1然后提前进行返回,通过所有判断条件时code依然是200,返回resp和账号id,提示登陆成功然后进行页面跳转,进入到后台管理系统首页中,完成登陆功能。

2)个人信息编辑接口

先判断request.method是否为GET,是则将部分个人信息返回至个人信息编辑页的输入框,不是则定义resp={‘code’:200,’msg’:’操作成功~’,’data’:{}},然后获取nickname和email参数,然后分别对两参数的有效性进行判断,通过有效性判断则进行数据修改,返回resp,提示操作成功~,刷新界面,完成个人信息修改功能。

3)修改密码接口

接收原密码(old_password)、新密码(new_password)两个参数,进行数据有效性及原密码正确性判断,不通过其中的一个判断则提前返回,通过全判断,进行数据库操作,返回resp,提示操作成功,刷新界面,完成修改密码功能。

4)退出接口

删除AUTH_COOKIE_NAME,然后进行登陆界面的跳转,完成退出功能。

(2)商品管理功能实现

1)商品索引接口、商品分类索引接口

先获取关键字(mix_kw)、状态(status),商品分类(status)三个参数,然后从商品表中获取符合这三个参数的商品数据,再通过分布接口iPagination(params)把商品数据进行展示,商品列表、商品分类列表功能完成。

2)商品新增及修改、商品分类新增及修改接口

先对request.method进行GET判断,是则返回商品信息至商品信息修改页,否则定义resp={‘code’:200,’msg’:’操作成功~~’,’data’:{}},然后获取输入框信息,对信息的有效性进行判断,有误则code更改为-1并提前返回,无误则进行数据库操作,返回resp,提示操作成功,商品新增及修改、商品分类及修改功能完成。

3)商品信息、商品分类信息接口

获取商品id(商品分类id),定义reback_url=UrlManager.buildUrl(“/goods/index”)

判断id有效性,商品(商品分类)是否存在,不通过判断则返回reback_url,跳转回索引页,通过商品id获得商品购买记录,商品库存变更记录,及其他商品信息,返回到前端页面展现,商品信息、商品分类信息功能完成[10]。

4)商品、商品分类删除恢复接口

先定义resp={‘code’:200,’msg’:’操作成功~~’,’data’:{}},获取id、cat参数,进行数据有效性判断,有误则对code、msg进行修改,提前返回并提示相关信息,无误则判断act的值,值为remove则将status更改为0,为recover则将status更改为1,然后进行数据库操作,返回resp,刷新页面,商品、商品分类删除功能完成。

 (二)系统测试

1.测试内容

前台购物模块:用户注册、用户验证、查看用户信息、修改用户信息、新增地址、修改地址、删除地址、新建订单、查看订单信息、退货。

后台管理模块:验证登陆、密钥加密、新增账号、账号冻结、恢复账号、查看用户信息、修改用户信息、查看订单信息、订单状态修改、订单通知、新增商品分类、修改商品分类、删除商品分类、新增商品、商品信息修改、下架商品。

由于系统测试内容过于繁杂,不便展示全测试过程,仅展示新增商品的系统测试[11]。

管理员登陆功能测试

表5.1管理员登陆测试数据

095e3c2de05fd5df9cfed40e1aaceaed

新增商品功能测试

表5.2新增商品测试数据

776c5b1472baeae971746438a0b85a6e

2.测试结论

通过对系统的实际操作,预期结果与实际测试结果一致,系统总体通过测试,可投入使用。

 总结

本文以O2O线上超市管理系统为例,进行了系统的分析与设计,并且实现了对线上超市进行自动化管理。具体成果如下:

1.分析了O2O线上超市管理的现状和需求,设计了线上超市管理的系统架构和功能模块,实现了后台管理、商品管理、订单管理等功能,提高了线上超市的管理效率。

2.在实现过程中,发现了一些问题和不足的地方:

(1)对线上超市的需求理解不够深入,导致在系统设计中存在一些不必要的功能。(2)系统稳定性有待加强,存在一些问题需要进一步完善。(3)用户体验有待优化,用户界面需要更加友好和易用。

3.根据以上问题和不足,未来这个研究的发展方向主要包括以下几个方面:

(1)进一步深入了解用户需求,优化系统功能,提高系统实用性和稳定性,并不断增强系统的性能。(2)在未来的研究和开发过程中,更加注重用户体验的优化,不断完善用户界面和交互设计。(3)加强系统安全性的设计,预防黑客攻击和数据泄露等安全风险。

总之,本文所做的市管理系统分析与设计,提供了实际运用的O2O线上超市管理系统,并且发现了一些问题和不足,未来的研究方向主要在于进一步完善系统功能、优化用户体验、加强系统安全性等方面。

  参考文献

[1]吕冠艳,李奋华.MVC架构下的校园超市管理系统的设计[J].计算机时代,2022(04):123-125.

[2]庄帅.基于B/S架构设计实现超市管理系统[J].信息系统工程,2022(01):105-108.

[3],数据超市管理系统.山西省,山西阳煤联创信息技术有限公司,2021-12-31.

[4]吴永豪.基于大数据平台的无人智慧超市管理系统设计[J].电子技术与软件工程,2021(12):189-191.

[5]岳纹.企业小型超市管理系统的研究与开发[J].电脑编程技巧与维护,2021(05):89-91.

[6]赵唯淇.基于云平台的无人超市管理系统研究与实现[D].西安理工大学,2019.

[7]毛勇博.基于J2EE架构的超市管理系统的研究与开发[D].西安电子科技大学,2019.

[8]范晓云.基于PB和C/S的超市管理系统的设计实现[J].无线互联科技,2019,16(06):79-81.

[9]王梓宁,薛益鸽.基于SQL环境下超市管理系统的设计与实现[J].智能计算机与应用,2018,8(03):224-226.

[10]王项奎.基于物联网技术的校园智能超市管理系统设计[J].经贸实践,2018(12):280-281.

[11]郭娇玲.小型超市及零售行业信息管理系统的设计与实现[D].电子科技大学,2018.

[12]刘佳旻.无人售货超市管理系统的分析与设计[J].电脑知识与技术,2018,14(01):87-88+98.报,2017,17(06):9-10+19.

超市管理系统分析与设计——以O2O的线上超市管理系统为例

超市管理系统分析与设计——以O2O的线上超市管理系统为例

价格 ¥9.90 发布时间 2023年11月1日
已付费?登录刷新
下载提示:

1、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“文章版权申述”(推荐),也可以打举报电话:18735597641(电话支持时间:9:00-18:30)。

2、网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。

3、本站所有内容均由合作方或网友投稿,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务。

原创文章,作者:1158,如若转载,请注明出处:https://www.447766.cn/chachong/176158.html,

Like (1)
1158的头像1158编辑
Previous 2023年11月1日
Next 2023年11月1日

相关推荐

My title page contents