2023年12月25日发(作者:沃尔沃s60降价真因)
二手汽车交易管理系统
概要设计
软件学院
侯长春
12031306
● 目录
1. 引言 2
1.1 编写目的 2
1.2 开发背景 2
1.3 参考资料 3
2. 任务概述 3
2.1 目标 3
2.2 运行环境 3
2.3 需求概述 3
2.4 限制描述 4
3. 总体设计 4
3.1 基本设计概念和处理流程
4
3.2 系统总体结构和模块外部设计 4
4. 接口设计 5
4.1 外部接口 5
4.2 内部接口 6
5. 数据结构设计 6
6. 运行设计 6
6.1 运行模块的组合和运行控制 6
6.2 运行时间 7
7. 出错处理设计 7
8. 词汇表 9
1. 引言
编写目的
1.在完成了软件系统的可行性研究和需求分析的基础上,为了明确软件需求、安排项目规划与进度、组织软件开发与测试,项目小组在考虑了几种可能的解决方案,并与程序员进行了较为深入的研讨和分析之后,提出了这份概要设计说明书。
此概要设计说明说对《二手汽车交易管理系统APP》软件的解决方案、功能分配、模块化、程序的总体结构、输入输出和接口设计、运行设计和出错设计等方面做了全面的概括性说明,为该软件的详细说明奠定了基础。
此文档为系统系统分析员工作的阶段性总结,提供设计人员和开发人员设计。
开发背景
随着商品经济的发展,二手汽车交易的需求,而其他社会人员有希望买到廉价的二手汽车。针对这一情况,《二手汽车交易管理系统APP》应运而生。其目的就是要提供一个信息平台,可以使卖主能方便的发布要出售的商品信息以及本人联系信息,而买方可以方便的浏览这再出手的商品信息,如果找到满意的商品,可以通过卖方的联系方式获得联系,一旦交易成功,卖主可以将商品的信息删除。卖主除了可浏览正在出售的商品外,还可以主动发布自己需要的商品信息。
参考资料
? 《软件工程导论》 机械工业出版社 2011年6月 著-陈明
? 《Linux程序设计(第4版)》人民邮电出版社 2010年6月 著-[英]Neil Matthew Richard Stones
? 《C预言程序设计(第2版)》 清华大学出版社 2008年5月 著-谭浩强
? Linux men 手册
任务概述
目标
项目目标是建立二手汽车交易系统,并创建对应的数据库系统,以建造一个二手商品在线平台,帮助社会人员及时便捷的进行二手汽车交易。
运行环境
? 硬件平台:
Windows 系统硬件要求:
Intel? Pentium? D CPU 3.20GHz 或更快的处理器。
Linux 系统硬件要求:
Intel? Pentium? D CPU 3.20GHz 或更快的处理器。
? 软件平台:
Windows 7:Microsoft Visio,Linux :ubuntu 12.04.2
需求概述
本系统的主要输入项目:
1. 用户个人的基本信息。如注册时的昵称、邮箱等。
2. 用户想要卖出的商品信息,如产品名称、产品类型等。
3. 用户欲求购的商品信息。
本系统的主要输出项目:
1.用户浏览商品信息,并获得联系方式,然后买卖双方联系进行物品交易。
限制描述
软件约束:
系统采用Php技术进行开发。开发及运行环境为:数 据 库:Microsoft SQL
Server 2000 操作系统:Microsoft Windows 2000 Advanced Server
环境约束:
Web服务器及数据库服务器均采用 Intel P4(1.8Hz)PC工作站。内存1024M。硬盘120G。
总体设计
基本设计概念和处理流程
本系统概括功能:卖方方便的发布要售出的商品信息及本人联系信息,而买方可以方便的浏览出售的信息,如果找到满意商品,可以通过卖方的联系方式获得联系,一旦交易完成,卖方可以删除商品信息。卖方除了可浏览正在出售的商品外,还可以主动发布自己需要的商品信息。
用户既可以是购买者,也可以是卖着。
买着在二手物品记忆网站上查看商品信息,并进行商品搜索。如果没找到所需商品,则可以发布求购信息。
买卖双方进行信息发布前都必须登陆。
一般游客可以浏览该网站信息,若没有注册,则只能浏览,不能进行其他操作,注册之后可以有用户权限。
系统总体结构和模块外部设计
系统架构图:
系统处理流程图:
各模块间的关系:
接口设计
外部接口
用户界面:本项目采用字符界面的操作。用户对本项目的操作均在 Linux
Shell 下操作,本项目以字符界面的形式响应用户的操作命令请求。
如图(用户界面):
软件接口:本项目运行在 Linux 操作系统的环境下,需要使用 Linux 自带的编译器GCC,调试器GDB。本项目是在Ubuntu 12.04版本下开发的。
如图(调试器GDB):
硬件接口:本项目是在PC机上的应用程序开发,所以硬件接口仅有键盘,鼠标接口。
内部接口
本项目中各个模块间的接口由函数参数来承担,各模块通过传递参数来传递数据。
各模块调用关系:创建守护进程模块是独立的,是各个模块及全系统的前提。创建守护进程模块调用监控重启模块,监控重启模块调用目标进程模块(时间定时模块)。
详细分析:
创建守护进程模块:由系统调用,为其他模块提供工作平台。
监控重启模块:由系统调用。
时间定时模块:由系统调用。
目标进程模块:由监控重启模块调用。
数据结构设计
本项目是简单的应用程序开发,并不需要数据库的支持。本项目中用到少量的数据结构体:
Struct sigaction sa:信号处理的结构体。
Struct rlimit rl:文件软(硬)限制值的结构体
这两个结构体都用于创建守护进程模块。
本项目用到的主要函数:
Getrlimit(RLIMIT_NOFILE, &rl) 该函数来得到进程可以打开的最多文件数。
Umask() 重置文件权限掩码。
Setsid() 成为新的会话的领头进程,脱离控制终端。
Fork() 创建子进程。
Sigaction() 忽略SIG_HUP信号。
Openlog() Syslog() Closelog() 用来打开,记录和关闭系统记录文件,实现项目的出错记录。
Popen() 函数通过创建一个管道,调用 fork 产生一个子进程,执行一个
shell 以运行命令来开启一个进程。这个进程必须由 pclose() 函数关闭,而不是
fclose() 函数。pclose() 函数关闭标准 I/O 流,等待命令执行结束,然后返回
shell 的终止状态。如果 shell 不能被执行,则 pclose() 返回的终止状态与
shell 已执行 exit 一样。
System() 启动函数,用于重新启动目标函数。
Lockfile() 用于保证一个守护进程只有一个副本在运行。
Pthread_create()多线程技术,用于重读配置文件。
运行设计
运行模块的组合和运行控制
本项目运行时(通过Shell命令行运行命令):系统调用创建守护进程模块,时间定时模块,监控重启模块和目标进程模块。
各模块运行组合流程如图:
运行时间
各模块的运行时间标准:
创建守护进程模块:要求立即运行完成。
时间定时模块:要求循环时间片。
监控重启模块:要求立即运行完成。
目标进程:要求一直运行。(受到外部命令则终止运行)
出错处理设计
本项目的核心是守护进程,因为它没有控制终端,所以不能只是简单地写到标准出错上。在很多工作站上,控制台设备运行一个窗口系统,所以我们不希望所有守护进程都写到控制台设备上。我们也不希望每个守护进程将它自己的出错消息写到一个单独的文件中。对系统管理人员而言,如果要关心哪一个守护进程写到哪一个记录文件中,并定期地检查这些文件,那么一定会使他感到头痛。所以,需要有一个集中的守护进程出错记录设施。
在伯克利开发了BSD syslog设施,并广泛应用于4.2BSD。从BSD派生的很多系统都支持syslog。
自4.2BSD以来,BSD syslog设施得到了广泛应用。大多数守护进程使用这一设施。下图显示了syslog设施的详细组织结构:
有三种方法产生日志消息:
1. 内核例程可以调用log函数。任何一个用户进程通过打开然后读/dev/klog设备就可以读取这些消息。因为我们无意编写内核例程,所以不再进一步说/明此函数。
2. 大多数用户进程(守护进程)调用syslog函数以产生日志消息。我们将在下面说明其调用序列。这使消息发送到UNIX域数据报套接字/dev/log。
3. 在此主机上的一个用户进程,或通过TCP/IP网络连接到此主机的其他主机上的一个用户进程可将日志消息发向UDP端口514。注意,syslog函数不产生这些UDP数据报,而是要求产生此日志消息的进程进行显式的网络编程。
通常,syslogd守护进程读取三种格式的日志消息。此守护进程在启动时读一个配置文件,一般其文件名为/etc/,该文件决定了不同各类的消息应送向何处。例如,紧急消息可被送向系统管理员(若已登录),并在控制台上显示,而警告消息则可记录到一个文件中。
更多推荐
进程,模块,守护,系统,项目,运行,设计
发布评论