程序员的工作内容主要是什么

程序员的工作内容主要是什么,第1张

程序员的职能:

程序员(英文Programmer)是从事程序开发、程序维护的专业人员。

一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。

软件从业人员分为初级程序员、中级程序员、高级程序员(现为软件设计师)、系统分析员,系统架构师,测试工程师六大类。

程序的含义:

计算机程序(Computer Program),港、台译做电脑程式。计算机程序是一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具。

它以某些程序设计语言编写,运行于某种目标结构体系上。

程序就如同以英语(程序设计语言)写作的文章,要让一个懂得英语的人(编译器)同时也会阅读这篇文章的人(结构体系)来阅读、理解、标记这篇文章。

一般以英语文本为基础的计算机程序要经过编译、链接而成为人难以解读,但可轻易被计算机所解读的数字格式,然后放入运行。

程序是一个指令序列。

扩展资料:

程序员的日常工作:

1、确认通过审查方案的目标,输入数据,分析师,监事,和客户的输出要求的项目要求。

2、安排项目要求在编程序列分析要求;准备工作流程图和使用计算机知识的能力,题材,编程语言和逻辑图。

3、编码工作流程的信息转换成计算机语言的项目要求。

4、通过输入编码信息的计算机程序。

5、确认程序 *** 作进行测试,修改程序序列和/或代码。

6、准备写 *** 作指令供用户参考。

7、保持历史记录,通过记录方案的制定和修订。

8、维护客户的信心和保护保密的业务。

9、技能/资格:一般的编程技巧,分析信息,解决问题,软件算法设计,软件性能优化,注重细节,软件设计,软件调试,软件开发基础,软件文档,软件测试。

参考资料:

百度百科 —— 程序员

百度百科 —— 程序

软考初级程序员考试包含基础知识和应用技术共两个科目,各科目考试知识点有所不同。基础知识科目考试题型为客观选择题,应用技术科目考试题型为主观问答题。

程序员属于软考初级资格考试,软考程序员考试大纲中各科目的考试知识点范围如下:

考试科目1:计算机与软件工程基本知识

1计算机科学基础

11数制及其转换

二进制、十进制和十六进制等常用数制及其相互转换

12数据的表示

数的表示

非数值数据的表示

13算术运算和逻辑运算

计算机中二进制数的运算方法

逻辑代数的基本运算

14数学应用

常用数值计算(矩阵、近似求解、插值)

排列组合、应用统计

编码基础

15常用数据结构

数组

线性表及链表

队列、栈

16常用算法

算法与数据结构的关系

算法设计和算法描述

常用的排序算法

查找算法

常用的数值计算方法

字符串处理算法

递归算法

最小生成树、拓扑排序和单源点最短路径求解算法

2计算机系统基础知识

21硬件基础知识

211计算机的类型和特点

微机(PC机)、工作站、服务器、主机、大型计算机、巨型计算机、并行机

212中央处理器CPU

CPU的组成

常用的寄存器

指令系统,寻址方式

令执行控制、中断控制、处理机性能

213主存和辅存

存储介质

高速缓存(Cache)、主存

辅存设备

214I/O接口、I/O设备和通信设备

I/O接口

I/O设备(类型、特性)

通信设备(类型、特性)

I/O设备、通信设备的连接方法和连接介质类型

22软件基础知识

221 *** 作系统基础知识

*** 作系统的类型和功能

处理机管理

存储管理

设备管理

文件管理

作业管理(作业调度算法)

图形用户界面和 *** 作方法

222程序设计语言和语言处理程序的基础知识

语言翻译基础知识(汇编、编译、解释)

程序设计语言的基本成分:数据、运算、控制和传输

程序语言类型和特点

23网络基础知识

网络的功能、分类、组成和拓扑结构

基本的网络协议与标准

常用网络设备与网络通信设备,网络 *** 作系统基础知识

Client/Server结构、Browser/Server结构

局域网(LAN)基础知识

Internet基础知识

24数据库基础知识

数据库管理系统的主要功能和特征

数据库模式(概念模式、外模式、内模式)

数据模型、ER图

数据 *** 作(关系运算)

数据库语言(SQL)

数据库的主要控制功能(并发控制、安全控制)

25多媒体基础知识

多媒体基本知识

常用多媒体设备性能特征,常用多媒体文件格式类型

26系统性能指标

响应时间、吞吐量、周转时间

可靠性、可维护性、可扩充性、可移植性、可用性、可重用性、安全性

27计算机应用基础知识

计算机常用办公软件 *** 作方法

计算机信息管理、数据处理、辅助设计、自动控制、科学计算、人工智能等领域的应用

远程通信服务

3系统开发和运行知识

31软件工程和项目管理基础知识

软件工程基础知识

软件开发生命周期各阶段的目标和任务

软件过程基本知识

软件开发项目管理基本知识

软件开发方法(原型法、面向对象方法)基础知识

软件开发工具与环境基础知识(CASE)

软件质量管理基础知识

32系统分析设计基础知识

数据流图(DFD)、实体联系图(ER图)基本知识

面向对象设计、以过程为中心设计、以数据为中心设计基础知识

结构化分析和设计方法

模块设计、代码设计、人机界面设计基础知识

33程序设计基础知识

结构化程序设计、流程图、NS图、PAD图

程序设计风格

34程序测试基础知识

程序测试的目的、原则、对象、过程与工具

黑盒测试、白盒测试方法

测试设计和管理

35程序设计文档基础知识

算法的描述、程度逻辑的描述、程度规格说明书

模块测试计划、模块测试用例、模块测试报告

36系统运行和维护基础知识

系统运行管理基础知识

系统维护基础知识

4信息安全基础知识

信息系统安全基础知识

信息系统安全管理

加密与解密基础知识

5标准化基础知识

标准化基本概念

标准的层次(国际标准、标准、行业标准、企业标准)

相关标准(代码标准、文件格式标准、安全标准、软件开发规范和文档标准、互联网相关标准)

6信息化基础知识

信息、信息资源、信息化、信息工程、信息产业、信息技术的含义

全球信息化趋势、信息化战略、企业信息化战略和策略常识

有关的法律、法规要点

7计算机专业英语

具有助理工程师(或技术员)英语阅读水平

掌握本领域的英语基本术语

考试科目2:程序设计

1内部设计

11理解外部设计

12软件功能划分和确定结构

数据流图(DFD)、结构图

13物理数据设计

确定数据组织方式、存储介质、设计记录格式,处理方式

14详细输入输出设计

界面设计、报表设计等

15内部设计文档

程序接口、程序功能、人机界面、输入输出、测试计划

16内部设计评审

2程序设计

21模块划分(原则、方法、标准)

22编写程序设计文档

模块规格说明书(程序处理逻辑、输入输出数据格式)

测试要求说明书(测试类型和目标、测试用例、测试方法)

23程序设计评审

3程序实现

31编程

编程方法和规范

程序设计语言的选择和使用

人工走查

程序文档化

32程序测试

测试环境和测试工具的选择和使用

测试数据的设计

测试报告的编写

4程序设计语言(C语言为必选,再在C、C++、Java语言中任选一种)

41C程序设计语言(C99标准)

42C++程序设计语言(ANSIC++标准)

43Java程序设计语言(Java2)

温馨提示:因考试政策、内容不断变化与调整,猎考网提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

下方免费复习资料内容介绍:希赛2023年电子商务设计师招生简章

格式:DO大小:601184KB 2022年系统架构设计师上午真题

格式:DO大小:829476KB

资格考试有疑问、不知道如何总结考点内容、不清楚报考考试当地政策,点击底部咨询猎考网,免费领取复习资料

用系统工程的思想和工程化的方法,按用户至上的原则,结构化,模块化,自顶向下地对系统进行分析与设计。具体来说,就是先将整个信息系统开发过程划分出若干个相对独立的阶段,如系统规划、系统分析、系统设计、系统实施、系统运行与维护等。

结构化系统开发方法的主要步骤:

1、系统规划:系统规划的主要内容包括:企业目标的确定,解决目标的方式的确定,信息系统目标的确定,信息系统主要结构的确定,工程项目的确定,可行性研究等。

2、系统分析:系统分析的主要内容包括:数据的收集,数据的分析,系统数据流程图的确定,系统方案的确定等,系统分析阶段是整个MIS建设的关键阶段。

3、系统设计:系统设计的主要内容包括:系统流程图的确定,程序流程图的确定,编码,输入、输出设计,文件设计,程序设计等。

4、系统实施:系统实施的主要内容包括:硬件设备的购买,硬件设备的安装,数据准备,程序的调试,系统测试与转换,人员培训等。

5、系统运行与维护:系统运行与维护的主要内容包括:系统投入运行后的管理及维护,系统建成前后的评价,发现问题并提出系统更新的请求等。

摘要:

本文是利用PLC对十字路口交通灯进行模拟控制,从而能够对真正的十字路口交通灯控制系统有更深入的了解。我们利用发光二级管来代替交通信号灯作为被控制对象,通过24V转换电源为发光二极管供电。并且通过计算机软件编写程序,将编写好的程序写入到PLC中,通过PLC的16个输出信号控制相应的中间继电器的通断,进而通过中间继电器控制发光二极管的亮、灭和闪烁等状态。最后通过有效的布局将相应的器件安装到相应的地方,组成模拟的十字路口交通灯控制系统。通过对真正的十字路口交通灯控制系统的模拟,使我们比较深刻的认识了真正的十字路口交通灯控制系统的工作过程,知道了许多交通灯的相关知识。本控制系统可有效解决现有交通的道路拥挤、交通秩序混乱等问题。

关键词: 交通灯 PLC控制 中间继电器

目录

第一章 前言 1

11、题的背景和意义 1

12、课题的现状、发展趋势和已解决的问题 1

第二章 控制方案设计 4

21、技术控制要求 4

22、总体方案确定 4

221、方案的原理 4

222、方案的特点 5

223、 方案的选择依据 5

第三章 硬件、软件选择和硬件连接 7

31、输入点和输出点分配 7

32、硬件选择 7

33、软件选择 8

34、硬件连接 9

第四章 软件编程 10

41、编写程序流程图 10

42、编写梯形图 11

第五章 系统调试 13

51、系统程序调试 13

52、系统硬件调试 13

53、联机调试 14

第六章 总结 16

致谢 17

参考文献 18

附件: 19

程序梯形图: 19

程序指令表: 22

电源图: 25

PLC输入端接线图 26

PLC输出端接线图: 27

电气原理图: 29

第一章 前言

11、题的背景和意义

随着我国经济的飞速发展,城市人口越来越多,居民出行次数和机动车拥有量不断增加,城市道路拥挤、车流量不均衡等问题日趋严重。人们经常会为道路拥挤、交通秩序混乱、出行时间过长等城市交通问题倍感苦恼,例如:绿灯方向几乎没有什么车辆,而红灯方向却排着长队等候通过。因此提高城市路网的通行能力、实现道路交通的科学化管理迫在眉睫,如何才能保持城市交通的安全便捷、高效畅通和绿色环保,已成为政府政策规划的一个重点问题。

通过对十字路口交通灯控制系统的设计与制作,使我们进一步巩固和加深了对所学的基础理论、基本技能和专业知识的认识掌握。同时也培养自身综合运用所学过的基础理论、基础知识和基本技能进行分析和解决实际问题的能力,更使我们受到了PLC系统开发的综合训练,从而能够使我们进行PLC系统设计和实施,并且掌握典型自动控制系统的工作原理和设计思路。更重要的是:通过对十字路口交通灯系统的每个环节的实际制作,锻炼了自身的刻苦钻研、勇于探索、实事求是、善于与他人合作的工作作风,这为我们将来的上岗实习做好了充分的准备。

12、课题的现状、发展趋势和已解决的问题

近年来,随着大规模集成电路的发展,以微处理器为核心的可编程控制器(PLC)得到了迅猛的发展。早期的PLC主要用于顺序控制,今天的PLC已经能够应用于闭环控制、运动控制以及复杂的分布式控制系统,已逐步发展成为有一类解决自动化问题的有效而便捷的方式。由于PLC自身具有功能完善、结构模块化、开发容易、 *** 作方便、性能稳定、可靠性高、性价比高、等优点,因而在工业生产中具有广阔的应用前景,并被誉为现代工业生产自动化的三大支柱之一。而且随着集成电路的发展和网络时代的到来,PLC必将能够获得更大的发展空间。PLC主体由三部分组成,主要包括中央处理器CPU、存储系统和输入、输出接口。PLC基本结构如图1-1所示:

图1-1 PLC的组成框图

系统电源有些在CPU模块内,也由单独作为一个单元的,编程器一般看作PLC的外设。PLC内部采用总线结构,进行数据和指令的传输。外部的开关信号、模拟信号各种以及各种传感器检测信号作为PLC的输入变量,它们经PLC的输入端子进入PLC的输入存储器,收集和暂存被控对象实际运行的状态信息和数据;经PLC内部运算与处理后,按被控对象实际动作要求产生输出结果;输出结果送到输出端子作为输出变量,驱动执行机构。PLC的各部分协调一致地实现对现场设备的控制。PLC采用循环扫描工作方式,系统工作任务管理及应用程序执行都是按循环扫描方式完成的。可编程控制器的工作过程包括两个部分:自诊断及通信响应的固定过程和用户程序执行过程,如图1-2所示:

图1-2 PLC工作过程框图

PLC在每次执行用户程序之前,都先执行故障自诊断程序、复位、监视、定时等内部固定程序,若自诊断正常,继续向下扫描,然后PLC检查是否有与编程器、计算机等的通信请求。如果有与计算机等的通信请求,则进行相应处理。当PLC处于停止(STOP)状态时,只循环进行前两个过程。而在PLC处于运行(RUN)状态时,PLC从内部处理、通信 *** 作、输入扫描、执行用户程序、输出刷新五个工作阶段循环工作。每完成一次以上五个阶段所需要的时间成为有一个扫描周期。一次扫描周期也可以简单的分为输入处理、程序执行、输出处理三个阶段。

为了提高PLC的处理能力,要求PLC具有更好的响应速度和更大的存储容量。目前,有的PLC的扫描速度可达01ms/k步左右。PLC的扫描速度已成为很重要的一个性能指标。在存储容量方面,有的PLC最高可达几十兆字节。为了扩大存储容量,有的公司已使用了磁泡存储器或硬盘。而当前中小型PLC比较多,为了适应市场的多种需要,今后PLC要向多品种方向发展,特别是向超大型和超小型两个方向发展。现已有I/O点数达14336点的超大型PLC,其使用32位微处理器,多CPU并行工作和大容量存储器,功能强。小型PLC由整体结构向小型模块化结构发展,使配置更加灵活,为了市场需要已开发了各种简易、经济的超小型微型PLC,最小配置的I/O点数为8~16点,以适应单机及小型自动控制的需要。为满足各种自动化控制系统的要求,近年来不断开发出许多功能模块,如高速计数模块、温度控制模块、远程I/O模块、通信和人机接口模块等。这些带CPU和存储器的智能I/O模块,既扩展了PLC功能,又使用灵活方便,扩大了PLC应用范围。而加强PLC联网通信的能力,则是PLC技术进步的潮流。另外PLC的外部故障的检测与处理能力也在不断的增强。而在PLC系统结构不断发展的同时,PLC的编程语言也越来越丰富,功能也不断提高。除了大多数PLC使用的梯形图语言外,为了适应各种控制要求,出现了面向顺序控制的步进编程语言、面向过程控制的流程图语言、与计算机兼容的高级语言(BASIC、C语言等)等。多种编程语言的并存、互补与发展是PLC进步的一种趋势。所以通过PLC对十字路口交通灯进行控制,是大势所趋。

由于PLC十字路口交通灯控制系统比原来的继电器-接触器控制系统更加的稳定、效率更高,而且减少了很多的外部继电器和接触器的使用,具有更高的可靠性和安全性,控制效果更加明显,很好的弥补了原有控制系统的不足,更有效的解决现有的十字路口的交通控制方面所面临的交通拥挤,车流量不均衡,出行时间过长等问题。因此,我们利用PLC控制系统来控制十字路口交通灯,使十字路口交通的管理更科学化,更有条理,也使交通更加的便捷畅通。

第二章 控制方案设计

21、技术控制要求

运用自己所学知识,设计一个十字路口交通灯控制系统电路,要求使用三菱PLC进行控制,能够指挥车辆在十字路口完成左转和不同路口的直行,并且设计出十字路口交通灯控制系统的实物模型。

功能:①东西两组灯,南北两组灯,分别用来指示转弯和直行。如下表所示。②黄灯亮时,要求每秒闪亮一次。③同步设置人行横道红、绿灯指示。具体交通灯控制电路状态如表2-1所示:

表2-1 交通灯控制电路状态表

状态 直行灯(南北) 左转灯(南北) 直行灯(东西) 直行灯(东西) 持续时间

(s)

红 黄 绿 红 黄 绿 红 黄 绿 红 黄 绿

S0 0 0 1 1 0 0 1 0 0 1 0 0 27

S1 0 1 0 0 1 0 1 0 0 1 0 0 3

S2 1 0 0 0 0 1 1 0 0 1 0 0 27

S3 1 0 0 0 1 0 0 1 0 1 0 0 3

S4 1 0 0 1 0 0 0 0 1 1 0 0 27

S5 1 0 0 1 0 0 0 1 0 0 1 0 3

S6 1 0 0 1 0 0 1 0 0 0 0 1 27

S7 0 1 0 1 0 0 1 0 0 0 1 0 3

S0 0 0 1 1 0 0 1 0 0 1 0 0 27

注:0表示灯灭,1表示灯亮。

22、总体方案确定

221、方案的原理

本方案所要实现的是模拟十字路口交通灯的运行,并利用PLC对十字路口交通灯进行控制:总共有2个输入点和16个输出点,两个输入是系统的开和关,用代替交通灯的发光二极管的亮、灭和闪烁作为信号的输出,把灯分为东西两组,南北两组,各有红、黄、绿三种,分别用来指示左转弯和直行,另外,还有四组人行道上的红绿灯。首先,按照控制要求利用计算机编程软件编写好科学合理的程序并输入PLC,PLC按照所输入的程序给出输出并通过外部中间继电器对硬件电路进行相应的逻辑顺序控制,使交通灯按控制要求进行亮、灭和闪烁来完成科学的交通控制要求。

222、方案的特点

PLC运用与交通灯控制系统有较强的优势,主要可从以下四个方面来描述。

使用寿命长:从目前反馈情况看,目前控制电路的使用寿命大部分均不足五年这与其电路设计、元器件选型、工作环境及控制方式等因素有关,是其本身无法克服的固有缺点。PLC作为工业控制单元,应用于各种控制环境,内部电路、机械结构设计极为精良,所用器件均选用标准工业级产品,其使用寿命一般可保证在十年以上。因此,PLC的这种特点可以使十字路口交通灯的PLC控制系统正常运行较长时间。

性能稳定可靠,抗干扰性好:由于PLC可应用于各种工业控制现场,其硬件及软件设计均考虑到各种生产环境,其电压适用范围很宽,具有极强的抗电磁干扰、抗震动、抗高温、高湿等特性,性能极为稳定、可靠。所以十字路口交通灯的PLC控制系统因为PLC的应用也具有了这样的一些优点。

由于 PLC的功能强大,实现灵活,可扩展性好,并可根据实际需要改变功能的控制过程及方式,并可根据使用者要求在不增加或少增加硬件的基础上开发新的控制功能,在加上良好的性价比。本十字路口交通灯的PLC控制系统,比之原有的交通灯控制系统,控制更加的灵活,功能更加的丰富。

223、 方案的选择依据

利用PLC进行的十字路口交通灯的控制与继电器-接触器控制系统相比省去了很多的继电器、接触器,不但节约了成本,而且传输速率高,更便捷稳定,抗干扰能力强,因此我们选用了PLC对交通灯系统进行控制。

外部的执行设备我们选择了中间继电器,这里用它主要是为了保护PLC的触点不被意外烧坏,因为PLC毕竟比中间继电器贵多了,且可以由一个输入控制几个输出动作,减少了PLC的输出点数。

交通灯我们用发光二级管代替,这种二极管压降只有2V。

第三章 硬件、软件选择和硬件连接

31、输入点和输出点分配

按照前面的控制要求,而且加入了过街人行道的信号灯控制,所以经过认真的考虑本系统使用了PLC的2输入点和16个输出点。具体的输入/输出点分配如表所3-1示:

表3-1 输入/输出点分配

输入/输出点分配

输入信号 输出信号

名称 代号 输入点编号 名称 代号 输出点编号

启动按钮 SBI X0 直行红灯(南北) HL1 Y0

停止按钮 SB2 X1 直行黄灯(南北) HL2 Y1

直行绿灯(南北) HL3 Y2

左转红灯(南北) HL4 Y3

左转黄灯 (南北) HL5 Y4

左转绿灯(南北) HL6 Y5

直行红灯(东西) HL7 Y6

直行黄灯(东西) HL8 Y7

直行绿灯(东西) HL9 Y10

左转红灯(东西) HL10 Y11

左转黄灯(东西) HL11 Y12

左转绿灯(东西) HL12 Y13

过街红灯(南北) HL13 Y14

过街绿灯(南北) HL14 Y15

过街红灯(东西) HL15 Y16

过街绿灯(东西) HL16 Y17

注:表中所有直行灯和左转灯都分别是由9个发光二极管和一个相关电阻串联而成,所有过街灯分别是由5个发光二极管和一个相关电阻串联而成(为了保证24V压降)。

32、硬件选择

本控制系统选用了三菱的FX2N-48MR这一型号的小型PLC FX2N-48MR是小型化,高速度,高性能装置,有48个输入和输出点,而我们只需要2个输入点和16个输出点,所以相当充足。除此之外,这一型号的PLC还适用于在多个基本组件间的连接,模拟控制,定位控制等特殊用途,而且系统配置既固定又灵活是一套可以满足多样化广泛需要的PLC。因此本系统选择了这一型号的PLC。

中间继电器本系统选择了容量为:220V,5A,有4副触点的中间继电器(共16个),它上面是4付常开触点,下面是4付常闭角触点,当线圈通电后,利用电磁力把动衔铁拉下来,使上面4付常开角触点闭合,下面4付常闭角触点分开。 中间继电器是将一个输入信号变成一个或多个输出信号的继电器。它的输入信号为线圈的通电或断电。它的输出是触头的动作(所带常开点闭合,常闭点打开),它的触点接在其它控制回路中,通过触点的变化导致控制回路发生变化(例如导通或截止)。中间继电器的特点是触头数目较多,可完成多回路的控制;触头容量较大,一般为220V,5A;动作灵敏,动作时间不大于005S。它与接触器不同的是触头无主、辅之分,所以当电动机额定电流不超过5A时,也可用它来代替接触器使用,也就是说可以认为它是一个小容量的接触器。以上中间继电器的特点也正是我们需要的。系统其他硬件的选择:型号为DZ47-60 C10的低压断路器和型号为RT18-32 32A-380V的熔断器组合使用来保护电路,并且使用了上海明纬电子有限公司的220VAC~24DC的转换电源给电路供电。因为这些低压电器都是现有的东西,我们当然要充分利用了。用发光二级管(串接相应电阻保证24V压降)来代替交通信号灯。具体硬件选择如表3-2所示:

表3-2具体硬件选择表

硬件名称 型号 数量

可编程控制器(PLC) 三菱FX2N-48MR 1台

中间继电器 220V,5A

16个

低压断路器 DZ47-60 C10 1个

熔断器 RT18-32 32A-380V 1个

转换电源 220VAC~24DC 1个

发光二级管 2V 多量

33、软件选择

至于编写程序的软件,本系统的设计使用了三菱电机的SWOPC-FXGP/WIN-C编程软件,它是专为FX系列PLC设计的中文编程软件,可在Windows9x、Windows31以上 *** 作系统运行。此软件可用梯形图、指令表、顺序功能图符号来创建PLC的程序,并可将程序储存为文件,用打印机打印出来。可给编程元件、程序块建立注释、设置寄存器数据。通过串行口,可将用户程序与PLC进行通讯、文件传送,可实现各种监控和测试功能。所以,我们利用里面的梯形图和指令表进行编程。而且,我们一直学的就是这个软件,我们比较熟悉,使用起来也比较方便。至于画图软件本系统当然也选用了我们所熟悉且能够熟练使用的AutoCAD 2004。

34、硬件连接

硬件连接需要根据附录中的各图进行相应的连接,首先要根据布置图进行大体的硬件布置规划,将相应的器件安装到相应的地方。然后,根据PLC的输入输出端接线图进行相应的连接,并根据转换电源图把转换电源和PLC相连接,最后再根据控制电路电气原理图把控制电路和其他部分相连接。同时我们尽量做到线路敷设平直,固定点位置正确,导线剖削规范,线路安装正确,导线压接规范,元件安装整齐、紧固。

第四章 软件编程

41、编写程序流程图

编写程序流程图是编写一个好的程序之前,所必须要求认真做的一步。只有先按照系统的控制要求,一步一步地写出程序控制流程图,才能够在编写程序的时候,不至于出现思维上的混乱,导致编写的程序出现较大的错误。所以,在编写十字路口交通灯控制系统之前我们也编写了程序控制流程如图4-1所示: 图4-1 程序控制流程图

首先,按下启动按钮X0,进入M0步,输出信号:Y17、Y14、Y2、Y3、Y6、Y11(过街绿灯(东西)、过街绿灯(南北)、直行绿灯(南北)、直行绿灯(南北)、直行红灯(东西)、左转红灯(东西)等灯亮。),27秒后进入M1步输出信号:Y14、Y6、Y11、Y1、Y4、Y17(过街绿灯(南北)、直行红灯(东西)、左转红灯(东西)等灯亮,直行黄灯(南北)、左转红灯(南北)、过街绿灯(东西)等灯闪烁),3秒后进入M2步,后面同此类似,按照控制流程编写,最后由M8步返回M0步完成程序的循环。

42、编写梯形图

我们编写梯形图是所使用的是步进指令的编程方法,STL为步进开始指令,而RET为步进结束指令STL和RET指令必须和状态继电器S配合使用才具有步进功能。STL也成步进触点指令(占1步),STL的梯形符号称为STL触点,它没有动断触点。STL S20和STL S21都是STL触电。在梯形图中,STL触电与母线相连,使用STL指令后,母线移至触点右侧,其后需用LD、LDI、OUT等指令,直至出现下一条STL指令或出现RET指令。STL指令使新状态继电器置位,而前一状态继电器自动复位,其触点断开。步进指令RET也称为步进返回指令,在一系列STL指令之后必须使用RET指令,以表示步进指令功能结束,母线恢复至原位。我们在运用步进指令编写顺序控制程序时,首先确定整个十字交通灯控制系统的流程,然后将复杂的任务或过程分解成若干个工序(状态),最后弄清各工序成立的条件、工序转移的条件和转移的方向,这样就可以画出程序工作的流程图。最后根据控制要求,采用STL、RET指令的多种步进顺序控制方式进行相应的程序编写。具体的程序设计介绍如图4-2、图4-3、图4-4所示:

图4-2 系统启动程序

如图4-2所示:M8002是特殊辅助继电器,仅在运行开始时瞬间接通,产生初始脉冲。当X0接通时,M8002产生初始脉冲程序启动,进入下一步,线圈Y17、Y14、Y2、Y3、Y6和Y11接通(既东西走向过街人行道的绿灯亮、南北走向过街人行道的绿灯亮、南北走向直行绿灯亮、南北走向左转红灯亮、东西走向直行红灯亮和东西走向左转红灯亮),接通27S(时间继电器的设定时间)后,时间继电器的常开触点T0闭合,进入下一步(置位S21步)。

图4-3 由M8013控制的脉冲输出程序

如图4-3所示:M8013为PLC内部的一个特殊的时钟继电器,这种继电器在PLC运行时,不断发出时间宽度为1S的脉冲,及05S通05S断。当继电器M8013中有信号通过时,它的输出为通断交替,使Y1、Y4和Y17能05S通、05S断交替,既南北走向黄灯、南北走向左转黄灯和东西走向过街人行道绿灯闪烁(1S烁一次)。从而实现外接在相应输出上的发光二级管能够在时间继电器T1触点接通前的3S内不停的闪烁。当Y14、Y6、Y11、Y1、Y4和Y17接通(既南北走向的绿灯亮、东西走向直行红灯亮、东西走向左转红灯亮、南北走向黄灯闪烁、南北走向左转黄灯闪烁和东西走向过街人行道绿灯闪烁)3S后,时间继电器T1的常开触点闭合,置位S22步。后面的程序都和这里的差不多,只要按照前面的流程图编写下去即可。

图4-4 置零及循环结束程序

如图4-4所示:这里是为了能够让系统随时开始和随时关闭:当闭合X1时,置零S0到S30步,使系统所有线圈失电,进而达到关闭系统的目的。当闭合X0时置位S20步,PLC开始从S20步开始循环扫描,系统开始运行。

第五章 系统调试

51、系统程序调试

对于PLC控制系统来说,可以用装在PLC上的模拟开关来模拟输入信号的状态,用输出点的指示灯来模拟被控对象,将设计号的软件程序传送到PLC中,就可以进行程序调试了。而在对系统的程序进行调试前,首先应该对PLC的外部接线、供电系统、执行机构、检测元件和开关的运行等进行检查。(1)外部接线的检查包括对输入/输出接线的正确性检查。(2)供电系统的包括对PLC的供电电源接线的正确性检查和电压检查、外部供电电源的检查等。(3)执行机构的运行检查包括执行机构对输入信号的响应时间和运转正反等状态检查。有时要和检测元件和开关的运行检查一起进行,以便了解执行机构运行后检测元件和开关是否有相应的输出信号。(4)检测元件和开关是PLC输入信号的来源。要对检测元件、开关、按钮等信号在运行后的响应进行检查,了解他们的状态是否有相应的变化等。

正式调试的方法是:根据程序的执行顺序先后,分别用手动的方法分别对输入点进行开闭的动作,检查程序是否按照过程控制的要求进行动作、相应的输出信号是否存在,延时的时间是否正确,对于一些输出通道的反馈信号也应该根据是否有系统输出,再用手动给出相应的反馈输入信号,直到整个运行程序正确运行。

52、系统硬件调试

系统的硬件调试主要是对十字路口交通灯控制系统的控制电路硬件系统进行调试。

由于条件有限,我们对硬件调试主要是用万用表进行检测调试:

(1)我们要做的是检查电气线路上的电焊点是否齐全、紧固,有不松动活发热变色现象,保持电气线路的接触良好。

(2)在不通电的情况下,用万用表打到电阻档测量各条线路两接点之间和硬件两端的电阻,看是否有电阻显示,如果有电阻值则说明线路是通的,硬件是好的,没有则说明没有通或硬件是坏的。需要仔细检查原因,并且解决问题。

53、联机调试

首先接通所有的电源,然后将前面的正确程序输入到外接控制电路的PLC中,按照前面程序调试时的方法进行调试,只是,原先的模拟开关变成了真正的开关,指示灯变成了真正的被控对象发光二级管。根据各个部分的器件动作,看看是否符合自己的控制目地,如果不是,则进行修改调试直到程序正确运行为止。

具体调试过程中出现的问题、原因与解决方法:

(1)接好220V电源后,整个系统没有任何的指示灯,包括24V转换电源。这个问题最后经过万用表的检查原因是24V转换电源的220V外接电源线没有接好(不通)。解决办法是把不通的地方重新连接。

(2)运行后,南北走向北向的直行绿灯和东西走向的过街人行道下面的红灯不亮。经检查后知道的原因是组成两处信号灯的串联的发光二级管中有一个坏了。解决的办法是把坏掉的那个发光二级管换掉。

(3)东西走向东向的两个过街人行道绿灯都不亮,但是和它有相同动作要求的西向的过街人行道的绿灯却是亮的。经过检查所得出的原因是:东向的两个过街人行道绿灯接在中间继电器的同一个触点上的,而线头和继电器触点之间没有接好(不通)。解决的办法是把这两根线从新接一下。

(4)南北走向的南向过街人行道的两个绿灯不亮,而北向的两个过街人行道亮,问题现象好像和第(3)项的一样。经过我们仔细的检查得出的原因并不是第(3)项的原因,因为,继电器与、相应的两条线的线头之间的接触是良好的,没有不通。而真正的原因是:中间继电器与南向的两个过街人行道绿灯相接的触点坏掉了,不与中间继电器的线圈吸合。而解决的办法是,把别的中间继电器上面的带有线圈和触点衔铁片的方块盒换到这个中间继电器上,当然要求被换的这个中间继电器在控制系统中没有用到这对触点。同样,也可以从新接线,把这两个信号灯接到坏了的中间继电器的别的触点上,不过这样有点麻烦,所以我们使用了上面的方法来解决。实际整体完成图如图5-1所示、局部完成图如图5-2所示:

(一)“项目驱动”式教学

目前最著名、最有影响、应用最广泛的windows、linux和UNIX三个 *** 作系统都是用C语言编写的。0S是计算机系统(由软硬件两个子系统构成)的核心和灵魂,它是软件中最庞大最复杂的系统软件。既然如此庞大复杂的0S都可以用c语言编写,从狭义而言,还有什么系统软件和应用软件不能用c语言编写呢由此可以肯定的说,c语言是一门十分优秀而又重要的语言。

c语言程序设计是过程性程序设计语言,它的发展贯穿了计算机发展的历程,它蕴含了程序设计的基本思想,囊括了程序设计的基本概念,所以它是理工科高等院校的一门基础课程。

从市面上有关c语言的书籍和高等院校采用的教材来看,它们有一个共性,那就是:脱离了实际应用(全是小打小闹的小例子),纯粹的过程性程序设计,没有软件工程思想的体现,没有一定程序设计风格,仅仅是为了让大家明白什么是c语言而已。

高等院校开设c语言程序设计的目的是让学生对程序设计有个入门,有个直观的理解,同时为其他后续课程作铺垫。但是如果教学仅仅以此为目的,那么教学本身就效果而言是个大大的失败。

大家知道,在商业上讲究唯利是图,“利”是商业追求的目标,离开了“利”经商,则商无动力,其结果是必败无疑。在c语言程序设计教学当中,教师应该把“唯用是图”作为教学的首要目标。如果抛开了实际应用进行程序设计教学,就是纸上谈兵,就是“说明书”式的教学。印度的程序设计课程采用“事件驱动式”教学,我认为在中国的c语言程序设计教学中应该采用“项目驱动式”教学。“项目驱动式”教学就是以项目为目的,以c语言理论教学为过程,最终能用c语言设计项目,实现项目的要求。“项目驱动式”教学的关键在于培养学生“如何做什么”和“可以干什么”。一个项目就是一个工程,在“项目驱动式”教学中,首先应该让学生简单了解什么是软件工程思想,其次在c语言理论教学过程中,让学生懂得面向对象的程序设计的风格,最后引导他们来设计项目。

(二)“项目驱动”式教学应注意的问题

1c语言程序设计教学要帮助学生树立面向工程的观点

在计算机行业中,软件是通过人们的智力活动、把知识与技术转化成信息的一种产品。软件的设计已经用工程的观念来进行管理。软件设计工作被当作一项系统工程来对待。软件的的生存周期一般可分为以下阶段:问题定义、可行性研究、需求分析、概要设计、详细设计、编码、测试、运行与维护。我们不难看出软件工程的复杂程度是很大的。理工科高等院校把c语言作为一门基础课程,也是为了给社会培养信息技术人才。众所周知,养成一个好的习惯是非常重要的,所以c语言程序设计作为大多数工科院校学生接触的第一门程序设计语言(有的院校讲pascal),就应该让学生树立正确的观点。那么当前的程序设计教学也必须以切合将来软件工程开发的实际需要为第一目标,使学生在学习程序设计的初级阶段就树立正确的软件工程观点。这样做不仅可以为学生将来从事计算机应用设计打下良好的基础,而且有利于培养学生分析问题的完备性,以及统筹全局,协调关系的基本素质。

2理论教学应从单一的“结构化程序设计”向“结构化与面向对象并举”转变

“结构化程序设计”方法是程序设计的基础,必须让学生掌握得坚实可靠。结构化程序设计的过程是培养学生思维能力的过程,在教学中经常发现有些学生的思维混乱。这些都是缺乏思维训练的结果。结构化程序设计的训练不仅可以让学生养成良好的程序设计习惯,而且可以有效地培养学生思维的条理性和逻辑性。所以在授课过程中要注意讲解结构化程序设计的思想时应突出两点:(1)程序的质量首先取决于它的结构。(2)程序设计的基本方法是自顶向下地逐步求精和模块化。

在c程序教学过程中,越到后面的章节,学生越会产生设计程序逐渐变难的感觉,这是不符合逻辑的一种怪现象。按照常理,C语言学的越多,说明你的程序设计知识越多,设计起程序来应该更加得心应手,那么出现这种现象的原因何在呢?当然该问题的出现的原因是多方面的,但是其中最重要的一点就是长期以来程序设计的观念不是以如何处理好对象为出发点,而是以如何使用好语言为基本点。受这种思想的影响,我们的程序设计教学大多数不是以如何解决好问题为重点,而是以讲解语法规则和语句格式为重点,是“说明书”式的教学。这样做造成的结果就是见到一个程序后学生首先想到是该用哪条语句,而不是思考怎样合理的解析。要切实解决这个问题,首先应该改变程序设计的观念。“面向对象程序设计”思想是目前最为流行、极为实用的一种程序设计方法,但是让学生直接接触“面向对象程序设计”,肯定不能对程序设计打下牢固的基础。“结构化与面向对象并举”是现代计算机程序设计的发展趋势,应该认真探索研究,让学生有一个较为轻松的学习过程。程序设计的实质就是编写处理对象的过程,所以将c与c++有机的融为一体的教材应该是首选教材,在教学过程中,我们应该从社会发展的角度进行探索研究,将目前最为流行又极为实用“面向对象程序设计”思想融合到c语言教学中。

3c语言教学应培养学生良好的程序设计风格

具有良好的设计风格应该是程序员所具备的基本素质,在实际的项目中程序员往往都有自己的一些编程风格。目前95%以上的程序设计书籍不注重程序设计风格问题,这导致了很多学生没有良好的程序设计风格,在他们刚刚毕业踏入社会时,如果周围的同事没有良好的编程风格,那么很难通过环境来使自己提高这方面的素质,即使有提高也不容易比较全面的提高。因此在学生接触的第一门程序设计语言教学中,就应该培养学生良好的程序设计风格,使他们一进工作环境就具备这个素质。

Pascal设计者NWrith教授十分重视程序设计风格的养成,他坚信“教给学生们以表达他们思维的语言会深深地影响他们思维和创造发明的习惯,而正是这些语言本身的混乱直接影响着学生们的程序设计的风格”,他这里所指的“这些运用”是当时那些主要用于程序设计教学的计算机语言。对学生来讲,一开始就强调程序设计风格很有必要,良好的程序设计风格不仅有助于提高程序的可靠性、可理解性、可测试性、可维护性和可重用性,而且也能够促进技术的交流,改善软件的质量。所以培养良好的程序设计风格对于初学者来说非常重要。

程序设计风格,实际上是指的是编码风格。在教学过程中应从源程序文档化,数据说明的原则,输入/输出方法这三个方面培养学生的编码风格,进而从编码原则探讨提高程序的可读性、改善程序质量的方法。

(1)源程序文档化。编码的目的是产生程序,但是为了提高程序的可维护性。源代码是需要实现文档化的。源程序文档化包括选择标识符(变量和标号)的名字、安排注释以及标准的书写格式等。

①选择标识符的命名规则。标识符包括模块名、变量名、常量名、标号名、子程序名等。这些名字应能反映它所代表的实际东西,应有一定实际意义,使其能顾名思义。另外在模块名、变量名、常量名、标号名、子程序名中使用下划线是一种风格。使用这一技术的一种广为人知的命名规则就是匈牙利命名法(变量类型由一个或两个字符表示,并且这些字符将作为变量名的前缀)。当然使用匈牙利命名法与否都没有错误,重要的是要保持一致性——在整个程序中使用相同的命名规则。这就是说,如果你在一个小组环境中编程,你和其他小组成员应该制定一种命名规则。并自始至终使用这种规则。如果有人使用了别的命名规则,那么集成的程序读起来将是很费劲的。此外,你还要与程序中用到的第三方库(如果有的话)所使用的风格保持一致。如果可能的话,你应该尽量使用与第三方库相同的命名规则,这将加强你的程序的可读性和一致性。

②注释。程序中的注释是程序设计者与程序阅读者之间通信的重要手段。注释能够帮助读者理解程序,并为后续测试维护提供明确的指导信息。因此,注释是十分重要的,大多数程序设计语言提供了使用自然语言来写注释的环境,为程序阅读者带来很大的方便。注释分为功能性注释和序言性注释。

a功能性注释。功能性注释在源程序中,用以描述其后的语句或程序段是在做什么工作,也就是解释下面要“做什么”,而不是解释下面怎么做。对于书写功能性注释,要注意以下几点:第一描述一段程序,而不是每一个语句。第二利用缩进和空行,使程序与注释容易区别。第三注释要准确无误。

b序言性注释。序言性注释通常位于每个程序模块的开头部分,它给出程序的整体说明,对于理解程序具有引导作用。有些软件开发部门对序言性注释做了明确而严格的规定,要求程序编制者逐项列出。有关内容包括:程序标题;有关该模块功能和目的的说明;主要算法;接口说明:包括调用形式,参数描述,子程序清单;有关数据描述;模块位置(在哪一个源文件中,或隶属于哪一个软件包);开发简历:模块设计者、复审考、复审日期。

③用标准的书写格式。源程序清单的书写建议采用以下几点:

a每行只写一条语句;

b用分层缩进的写法显示嵌套结构层次,这样可使程序的逻辑结构更加清晰,层次更加分明。

c书写表达式时适当使用空格或圆括号作隔离符。

d在注释段周围加上边框;

e注释段与程序段、以及不同的程序段之间插入字行;

(2)数据说明采用的原则。在编写程序时,要注意数据说明的风格。

数据说明的次序如果规范,将有利于测试,排错和维护。首先说明的先后次序要固定,例如,按常量说明、简单变量类型说明、数组说明用数据块说明、所有的文件说明的顺序说明。当然在类型说明中还可进一步要求,例如按如下顺序排列:整型量说明、实型量说明、字符量说明、逻辑说明。

其次当用一个语句说明多个变量名时,应当对这些变量按字母的顺序排列。

最后对于复杂数据结构,应利用注释说明实现这个数据结构的特点。

(3)输入/输出方法。输入/输出的方式和格式应当尽量避免因设计不当给用户带来的麻烦。这就要求,源程序的输入/输出风格必须满足能否为用户接受这一原则。所以在设计程序时,应考虑以下原则:输入数据时,要使输入的步骤和 *** 作尽可能简单,应允许使用自由格式输入;应允许缺省值;对输入的数据要进行检验,以保证每个数据的有效性。

(三)结束语

在教学过程中,我们让学生设计一个程序模拟体育**的销售与对奖的过程,取得了良好的效果。他不仅启发和诱导了学生独立思考、积极思维的主动性,而且充分调动了学生学习的自觉性和积极性,使学生融会贯通地掌握了所学知识,提高了分析问题和解决实际问题的能力。

搞好c程序设计的教学工作涉及的因素很多,如果以项目来驱动教学,首先让学生树立面向工程的思想,其次把教学从单一的“结构化程序设计”向“结构化与面向对象并举”转变,最后特别要培养学生养成良好的编码风格,从而使他们学会能够“干什么”,那么我们认为教学目的就达到了。

我还有代码呢,要的话,马上帖出来给个红棋吧,呵呵

一、 课题设计名称

学生成绩管理信息系统分析设计

二、 课题设计目的

通过本次课程的设计,加深对信息系统基础理论和基本知识的理解,掌握使用信息系统分析、设计的基本方法,提高解决实际管理问题、开发信息系统的实践能力。

三、 任务要求:

用信息系统开发工具(例如Visual Foxpro、Visual Basic、Delphi等)开发一个实用的中小型管理信息系统。

1、根据课程设计时间选择适当规模大小的设计课题。

2、根据合理的进度安排,按照系统开发的流程及方法,踏实地开展课程设计活动。

3、课程设计过程中,根据选题的具体需求,在开发各环节中撰写相关的技术文档(小组各成员可分别完成某阶段的技术文档),最后要求提交详细的课程设计报告。

4、开发出可以运行的管理信息系统,通过上机检查。

四、 课题设计报告书要求:

1、 课题设计报告书第一页为封面,封面上写清楚标题、班级、姓名、指导老师、完成日期,格式自己设计。

2、 课题设计报告书第二页为本任务书。

3、 课题设计报告书第三页为教师评语。

4、 课题设计报告书第四页为目录。

5、 课题设计报告书第五页开始为具体内容:

(1)可行性分析

(2)系统分析部分

1)业务流程图

2)数据流程图

3)功能分析图

4)数据字典

5)数据加工处理的描述

6)管理信息系统流程设想图(新系统模型)

(3)系统设计部分

1)功能结构图设计

2)新系统信息处理流程设计

3)输出设计(主要指打印输出设计)

4)存储文件格式设计(数据库结构设计)

5)输入设计(主要指数据录入卡设计)

6)代码设计(职工证号和部门代号等)

7)程序设计说明书

(4)附录或参考资料

6、课题设计报告书最后一页是本次课程设计的小节和参考文献。

7、字数要求不少于4000字。

8、打印纸张使用B5纸,页边距设为上、下、左2厘米,右15厘米,

五、 如有雷同,将作不及格处理。

六、 完成时间:200715

计算机二系

尚晋

20071028

教师评语

评分模块 评分标准及分值 得分

平时成绩(20分) 1 态度(10分)

2 考勤(10分)

分析与设计部分

(65分) 3 需求分析(5分)

4 系统复杂度(5分)

系统分析部分(20分) 5 业务流程图(5分)

6 数据流程图(5分)

7 功能分析图(3分)

8 数据字典(7分)

系统设计部分

(35分) 9 系统配置方案设计(5分)

10 用户界面导航图(5分)

11 界面设计(5分)

12 有效性验证(5分)

13 错误处理(5分)

14 编码设计(5分)

15 数据库设计(5分)

报告部分(10分) 16 条理清晰、语言精练准确(5分)

17 描述图形工具使用恰当(5分)

组长加分(5分) 18 组织得力,合作完成情况好(5分)

总分(100分)

成绩:

学生成绩管理信息系统

1 系统规划

11项目开发的背景

伴随着信息社会的到来,信息的极大丰富必然要求人们适应信息社会,信息和材料、能源一样成为一种社会的基本生产资料,在人类的社会生产活动中发挥着重要的作用,其中最重要的前提就是充分利用人们的才智和学习能力。传统的教学只教会了学生相关的知识,没有教会学生如何利用这些知识,以及再学习的能力。特别对于“管理信息系统”这类实用性比较强的课程,更需要培养学生的实际动手能力。教与学互动与结合,强调应用,不仅让学生了解课程上讲授的管理信息系统方法和原理,而且让学生们利用这些知识解决实际问题。这对学生的实际工作能力是一个很好的锻炼。密切结合学生独立完成的系统开发作业,通过指导教师的点评,使学生能够在较短的时间内,通过实践,真正掌所学的知识。同时人们对信息和数据的利用与处理也已经进入了自动化、网络化和社会化的阶段,因此,开发相关的管理信息系统已经成为各行各业的必要和必需了,管理信息系统作为一门边缘学科,集管理科学、信息科学、系统科学、现代通信技术和电子计算机技术于一体,可以解决企业或组织所面临的问题,对于成绩管理员的劳动强度、提高工作质量和效率;方便管理人员对信息的查询、提高信息资源的利用效率和管理水平都具有重要意义。

12 可行性分析

基于以上对问题的调查和分析,利用计算机给我们提供的信息,及时地了解学生的信息,并且形成一整套动态的管理就十分必要了。本系统开发的主要目的是对学生信息和成绩的实现计算机管理。学生管理系统的建立,是在进行对大量用户需求与调查分析得到的。

(1)技术可行性

成绩管理系统主要是用于计算机教育部关于教学计划、课程、教师信息、成绩的查询和管理。通过使用Microsoft公司提供的Visual FoxPro 60工具以及SQL Server数据库可以实现对有关课的教学计划、课程等的网上查询和管理,主要目的是对学生成绩实现计算机管理。

(2)经济可行性

开发学生成绩管理系统费用较底,可利用现有的微机设备,经济上是可行的,非常适合于成绩管理,因为该系统实现了将管理和查询网络

化,极大地方便了管理员、教师、学生。

(3) *** 作可行性

本系统的界面设计简单直观,易于理解。它使用的控件都是用户常用的或常见的, *** 作起来很容易上手。不需要特别的培训和讲解,用户便能使用该系统。

(4)组织与管理可行性

成绩管理员是对学生的成绩进行管理的,但过去由于采用人工方法进行管理,工作效率低,劳动强度大,所以他们希望采用计算机管理,将已有的管理经验转化到管理软件中。这就使得系统调查、需求分析能够得到有关人员的大力支持和积极配合。

13 制定系统开发计划

开发学生成绩管理系统的计划见表1-1

表1-1 实验小学学生成绩管理系统开发简略计划表

序号 项目内容 时间进度 项目负责人

1 系统规划和可行性分析 2007年12月 向万秀

2 系统分析 2007年12月 张春先、向万秀、刁胜

3 系统设计 2007年12月 向万秀、张春先

4 系统实施与测试 2007年12月 向万秀

5 系统评价与维护 2007年12月 张春先

6 安全保障措施 2007年12月 向万秀、张春先

2系统分析

1现行系统业务流程的调查

对某学校进行实地调查,其现行的成绩管理工作都是采用传统的手工管理,经过对成绩管理员、学生和教师的全面的调查研究,手工工作效率低,工作质量差,不适合现在学校成绩管理系统的需求,所以需要改进传统的成绩管理模式。实现科学化管理。

对现行系统的调查业务流程图如下图1-1所示:

学生

1-1 业务流程图

2 需求分析

(1) 功能描述

本系统包括用户管理、学生注册、班级信息录入、学生信息录入、班级课程录入、学校专业信息录入、课程信息录入、学生成绩录入、教师信息录入、各方面的查询等等。

1.教学管理功能

① 新本学期所开设课程的录入与查询:例如在2006年上学期开设课程:C语言与经济数学。

说明:所有的课程成绩均由三部分组成:平时成绩,上机成绩, 笔试成绩。所占的比重分别为:30%,10%,60%,在该系统中这三部分及其比重是固定不变的。

② 对各系科的课程安排的录入与查询,课程安排即是该学期每个学科

的选课课程、任课教师以及上课时间和上课地点。

说明:每一个院系中所有的不同专业所选的课程都是一样的。但是同一院系的学生不一定有同一个教师授课。

(2).成绩管理的功能(教师使用)如下:

① 录入成绩:既可以单个录入也可以批量录入,其中批量录入以成绩单单位,每次从系统中调出一张成绩单,编辑完成后一次性提交。

成绩单:成绩单包括学期、院系、专业、课程、任课教师、学生成绩。

② 查询成绩:单个查询(学生可使用),根据学生的学号或姓名查询出该学生的所有课程的成绩信息。批量查询以成绩单为单位,每次查询出一张成绩单。

③ 打印成绩:可以一次打印一张成绩单,也可以按要求批量打印。

④ 统计调整:对成绩单中的成绩进行统计,指出各个分数段的人数分布情况。因为有时学生的成绩整体上偏低,需要进行调整,一次系统可以按照用户设置的规则对成绩单中的成绩进行调整。

成绩调整规则:将成绩单中总分在某一分数段的学生成绩调整到另外一个分数段。例如将50到60分的学生成绩全部调整到60到65分之间。为了使调整过程尽可能合理,还可以对待调整分数段的学生成绩进行限制,例如设置其笔试成绩必须在50分以上,而平时成绩则可以适当放宽。

⑤ 每学期考试不及各的学生自动纳入新学期的跟考或辅修教学计划中。

(3).权限说明:

① 管理员可使用功能:教师信息管理、系科显示、课程管理、教学计划管理、学生成绩查询;

② 教师可使用成绩管理各项功能:对学生成绩的添、删除、修改、查询、分析、调整;

③ 学生可使用的功能:查询单个学生所有成绩,班级成绩,学生平均成绩,最高分,最低分等。

为学校教师和学生提供快捷的查询手段,让老师和学生能够及时查询学生成绩信息,更快而又方便的进行查询。

(4)性能要求

本系统采用计算机对学生成绩进行管理,进一步提高办学效益和现代化水平。帮助广大教师提高工作效率,实现学生成绩信息管理工作流程的系统化、规范化和自动化。如果本系统能被学校所采用,将会改变以前靠手工管理学生成绩的状况,可以树立良好的办学形象,提高工作效率。由于现在实行九年义务教育,学校学生不断增加,该系统可高效的进行大规模的查询。系统的安全保密性高,能防止非法访问。

3新系统的逻辑模型的建立

(1) 新开发的学生成绩管理系统的功能分析

在学生成绩管理信息系统中,主要有三类外部实体:学生、教师、教务处工作人员。学生成绩管理信息系统的大部分功能是为教务处工作人员设置的。经调查分析,新开发飞的学生成绩管理信息系统应具有以下的功能。

(11) 查询学生的基本信息和成绩信息,包括学生信息的添加、修改、删除等。

(12) 管理学生成绩,包括考试管理,成绩管理等。

(13) 成绩的处理,即统计成绩、分析成绩等。

(2) 绘制数据流图

绘制数据流图时,只考虑学生和教务处两个外部实体,顶层数据流图如图1-2所示。

学生成绩录入 教师课程信息

学生成绩单

学生登录信息

学生选课信息 辅修/跟考通知单

用户名、密码 部门信息

课程类型 学生成绩信息

课程信息 学生考试信息

图1-2 顶层数据流图

0层数据流如图1-3所示。由于1层图没有完整绘制,0层图中只属于一个加工的文件(例如权限表)也在0层图上出现。

0层数据流图通过反应整个系统中不同数据流向,来揭示系统的组成结构以及各组成部门之间的关系,这种关系主要体现在对数据的 *** 作和处理上。

用户名、密码

学生信息

部门信息

学生成绩

学生信息

学生成绩单

成绩类型 辅修/跟考通知

学生成绩 不及格成绩

缺考

图1-3 0层数据流图

学生信息数据流程图如图1-4、1-5所示。

学生信息 审查11 合格单 是否新生12 新生信息

学生纪录

学生成绩

总学生纪录表及成绩

图1-4 1层数据流图

(3) 数据字典

数据字典是进行数据收集和数据分析所获得的主要成果,是系统中各类数据描述的集合。数据字典通常包括数据项、数据流、数据存储、处理逻辑。

数据项

名称:学生信息

别名:学生信息

说明:学生信息=学生基本信息+学生记录+学生成绩记录

类型:字符型

长度:12

取值范围:0000000000001~99999999999

数据流条目:

合格单=姓名+系别+班级+专业

新生信息=入学时间+姓名+性别+年龄+专业+系别+班级

加工条目:

加工名:审查

编号:11

输入:学生信息

输出:合格单

加工逻辑:根据学生信息判断是否是新生

加工逻辑

加工逻辑

加工名:是否是新生

编号:12

输入:合格单

输出:新生信息

加工逻辑:根据合格单建立新生信息

加工名:录入、存储学生信息、各科成绩

编号:1。3

输入:新生信息、考试成绩

输出:本次考试成绩

2层数据流图

学号、课程号 有效查询 成绩

考试成绩 成绩单

学生纪录 班级 统计成绩

各科

本次成绩 升留级名单 学生纪录

成绩标准

图1-5 2 层数据流图

数据字典:

数据项

名称:学号、课程号

别名:编号

说明:惟一标识一个学生编号

类型:字符型

长度:12

取值范围:0000000000001~9999999999999

数据存储文件

数据存储条目:

数据存储名称:考试成绩

组成:姓名+班级+专业+系别+成绩+学号

组织方式:索引文件,以学号为关键字

加工处理

加工逻辑

加工名:有效性检查

编号:2。1

输入信息:学号、课程号

输出信息:有效查询

加工逻辑:根据所输入的信息来检查有效性

加工名:查询成绩

编号:2。2

输入信息:考试成绩

输出信息:成绩

加工逻辑:根据考试成绩查询成绩

加工条目:

加工名:统计选择

编号:3。1

输入信息:学生记录

输出信息:按规定统计成绩

加工逻辑:根据所输入学生记录,按班级、单科统计成绩

数据存储条目:

文件名:成绩标准 组成:成绩

加工条目:

加工名:是否升级

编号:4。1

输入信息:本次成绩、成绩标准

输出信息:升留级名单

加工逻辑:根据本次成绩

IF 大于等于标准成绩 ELSE 降级

ENDLF THEN 升级

加工名:更新记录

编号:4。2

输入信息:升留级名单

输出信息:学生记录

加工逻辑:根据升留级名单修学生记录

3系统设计

1 系统总体结构设计与功能模块划分及系统功能描述

本系统的主要任务是实现对学校教导处的学生信息管理、成绩管理、课程管理及相关查询。其主要功能包括:

学生成绩管理模块,学生信息管理模块、系统模块等等。

学生信息管理功能

(1)班级管理。提供给班主任进行本班学生的信息更新、删除。

(2)添加学生。以班级为单位,进行学生入库。其中分为单个添加和成批添加。单个添加学生供数量较少的学生信息入库;成批添加可以从现存的学生信息EXCEL文件中成批录入到数据库中。

(3)删除学生。当学生毕业后,学生信息转移备份数据库中,系统的基本数据库中需要删除学生信息。该功能主要进行成批地删除学生信息,如连续学号区段的多位学生信息删除,整个班级的删除,所有学生信息的删除。

(4)新生管理。本部分的功能主要有新生导入、分班、及设置学号。新生导入实现从现存的EXCEL新生名单中录入学生信息。分班功能实现按新生的报考专业、成绩及性别进行分班。设置学号实现自动为各班学生编发学号。

学生信息备份。在学生信息删除前,将其按班级为单位保存到备份数据库。

(5)学生信息模块主要包括对学生信息的存储,审查记录以及学生对学生整个信息的调查进行分类和查找。可以实现添加、修改、删除、查询学生信息管理的调查。

(6)学生基本信息管理功能包括:学生信息、学生记录、学生成绩、总学生记录表和成绩。

(7)学生基本信息包括:学生学号、学生班级号、课程号、学生****等等

(8)课程管理。提供本学期各年级各专业所开课程名称的录入、修改、删除。它是学生成绩管理的基础。用以保证数据库中一致性原则。

2系统功能分析

系统开发的总体任务是实现学生信息关系的系统化,规范化和自动化。

学生基本信息所需要完成的功能主要有:

●学生信息的输入,包括输入学生基本信息、所在班级、所学课和 成 绩等。

● 学生信息的查询,包括输入学生基本信息、所在班级、已学课程和成绩 等。

● 学生信息的修改。

● 班级管理信息的输入、查询、修改,包括输入班级设置,年级信息等。

● 基本课程信息的输入、查询、修改。

● 学生成绩信息的输入、查询、修改。

对上述各功能进行集中、分块、按照结构化程序设计的要求。

2绘制学生信息管理模块功能结构图如图

图1-6 学生信息系统管理的功能结构图

3系统配置方案设计

鉴于本系统的业务性质,必须选择具有较高的可靠性、稳定性和必要的容错能力的计算机硬件和软件系统,以保证任何情况下都不至于丢失、损坏数据。

必须具有较高的响应速度,以保证各项具体业务的顺利进行。

应考虑具有良好的可维护性,可 *** 作性和可扩充性,以保证将来系统规模的扩展和升级的需要。

4开发与运行环境的使用

开发前台工具:Visual FoxPro 60

*** 作系统对整个网络起着重要的作用,Windows 2000作为一种强健的、多用途的 *** 作系统,不仅能够运行强有力的客户/服务器应用软件,还可以提供可靠的文件与打印服务,再加其内置的通信与Internet/Internet服务功能,以及安装、使用、管理和维护的方便性,因此,本系统采用Microsoft Windows 2000Server作为 *** 作系统。

本系统准备采用客户机/服务器(C/S)结构模式。C/S结构的最大优势在于广泛采用了网络技术,将系统中的各部分任务分配给分布在网络上的担任不同角色的计算机。把较复杂的计算机管理任务交给服务器完成。再把一些频繁与用户打交道的任务交给客户机完成。通过这种结构完全实现了网络上信息资源的共享。

开发基于C/S结构的管理系统所用到的开发工具包括前台开发工具和后台数据库管理系统,主要根据开发者对开发工具的熟悉程度而定。本系统的前端开发工具采用Visual FoxPro 60。

5编码(Code)设计

6数据库设计

(1) 概念结构设计

经过本次实验,概念结构设计的主要工作是根据用户需求设计概论性数据模型。概念模型是一个面向问题的模型,它独立于具体的数据库管理系统,从用户的角度看待数据库,反映用户的现实环境,与将来数据库如何实现无关。概念模型设计的典型方法是E-R方法,即用实体—联系模型表示。

E-R方法使用E-R图来描述现实世界,E-R图包含三个基本成分:实体、联系、属性。E-R图直观易懂,能够比较准备地反映现实世界的信息联系,从概念上表示一个数据库的信息组织情况。

实体:是指客观世界存在的事物,可以是人或物,也可以是抽象概念。E-R图中各实体的关系说明如下。

学号记载学生成绩管理系统中所登记的一类编号,而所有的学生姓名是所代表的是学生的代码。中两个实体之间为一对多关系。

学生可以选择多门课程,一门课程可以有多个学生选择。其中本系统中E-R图包括学生性别、出生日期等等。课程中包括课程号、课程名、教师姓名等等。

M N

学生与课程之间的关系

课程名是惟一的,而选课的学生是多个的,这两个实体之间为一对一关系。

一个学校有多位老师,这两个实体之间为一对多关系。

学生与课程表中的同一课程对应多个不同的老师与学生,这两个实体间为一对多关系。

以上就是关于程序员的工作内容主要是什么全部的内容,包括:程序员的工作内容主要是什么、软考程序员考试知识点有哪些、系统开发的结构化方法的基本思路与主要原则等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9558119.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存