您的位置:首页 > 其它

第三次软工

2013-12-22 21:30 267 查看
[+]
软工实验报告三
点歌系统的详细设计和实现
用户界面设计2系统实现3总结与展望
一用户界面设计

三总结和展望
总结
展望

课程
班级
学  号
姓  名
实验时间
软件工程导论
12电信1
120705118
章胧胧
2013.12.22

软工实验报告三

点歌系统的详细设计和实现:

1.用户界面设计

2.系统实现

3.总结与展望

一、用户界面设计

本系统的设计思路主要是实用、简便、灵活、稳定。整个系统有完整的组织框架和模块分工,但由于涉及篇幅限制,这里我着重介绍下登记和申报开票模块。因为这两个模块是整个征收管理系统运行的核心模块,包涵了本系统80%的业务功能。对于界面设计我们遵循以下几个原则:

一、控件的位置拖放安排 

  在绝大多数的程序界面设计中,并不是所有的元素都具有相同的重要性,所以应抓住重点,将较重要的元素定位在对用户来说处在一目了然的位置是非常重要的,可以尝试根据“功能”和“关系”来组成一个逻辑信息组。按照控件在功能上的联系,将它们放在一起,在视觉效果上也要比将它们分散在屏幕的各处要好得多。

  二、控件的大小与一致性编排 

  控件的大小设置是程序设计时经常遇到的问题,虽然操作非常简单,却很难决定控件的大小。合理设置控件的大小以达成一致性是界面设计中的重要问题之一,一致性的外观将体现应用程序的协调性。如果缺乏一致性就会使界面混乱无序,会对用户的使用带来不便。

  三、合理利用空间,保持界面的简洁 

  界面设计最重要的原则就是简洁与明了。对于应用程序而言,如果界面看上去很难,则可能程序使用本身也比较复杂,而在设计时稍稍深入考虑一下,便有助于创建看上去和用起来都很简单的界面。

  四、合理利用颜色、图像和显示效果来达成内容与形式的统一 

  依据许多程序设计人员的经验,应当尽量限制应用程序所用颜色的种类,而且色调也应该保持一致。

我们来看下主界面:



二、系统实现

1输入课程信息

2查询课程信息

3删除课程信息
/*学分查询模块*/
int seqsearch1( struct stu s[],int n,int search_score)
{
int i=0;
for(i=0;i<=n-1;i++)
if(s[i].score==search_score)
return i;
}
/*课程名查询模块*/
int seqsearch2( struct stu s[],int n,char search_name[])
{
int i=0;
for(i=0;i<=n-1;i++)
if(strcmp(s[i].name,search_name)==0)
return i;
}
/*修改模块*/
void revise( struct stu s[],int n)
{
int k,choice;
char kname[20];
do
{
printf("1**********按课程名称修改*******\n");
printf("0***********返回上级菜单 ***********\n");
printf("请输入选择\n");
scanf("%d",&choice);
switch(choice)
{
case 1:
printf("请输入要修改的课程名称\n");
scanf("%s",&kname);
k=seqsearch2(s,n,kname);
if(k==-1)
printf("修改无效\n");
else{
printf("课程编号");
scanf("%d",&s[k].num);
printf("课程名称");
scanf("%20s",&s[k].name);
printf("课程性质");
scanf("%20s",&s[k].kind);
printf("总学时");
scanf("%d",&s[k].lhours);
printf("授课学时");
scanf("%d",&s[k].rhours);
printf("实验或上机学时");
scanf("%d",&s[k].crdit);
printf("学分");
scanf("%d",&s[k].score);
printf("开课学期");
scanf("%d",&s[k].term);
printf("修改成功!\n");

}
break;
case 0:
break;
}
}while(choice!=0);
}
/*删除模块*/
void seqdelete( struct stu s[],int *len)
{
int j,delete_score,k,choice;
char delete_name[20];
if(*len==0)
printf("数组以空");
else
{
do
{
printf("1*********按课程名删除*****\n");
printf("0*********返回上级菜单*****\n");
printf("请输入选择\n");
scanf("%d",&choice);
switch(choice)
{
case 1: printf("请输入删除课程的课程名:");
scanf("%s",delete_name);
k=seqsearch2(s,*len,delete_name);
if(k==-1)
printf("无效的删除位置\n");
else
{
for(j=k+1;j<=*len-1;j++)
s[j-1]=s[j];
(*len)--;
printf("删除成功");
}
break;
case 0:
break;
}
}while(choice!=0);
}
}
/*输入模块*/
int input( struct stu s[])
{
int i=0,n=0;
printf("输入课程编号(为-1时结束)");
scanf("%d",&s[i].num);
while(s[i].num!=-1)
{
printf("课程编号");
scanf("%d",&s[i].num);
printf("课程名称");
scanf("%20s",&s[i].name);
printf("课程性质");
scanf("%20s",&s[i].kind);
printf("总学时");
scanf("%d",&s[i].lhours);
printf("授课学时");
scanf("%d",&s[i].rhours);
printf("实验或上机学时");
scanf("%d",&s[i].crdit);
printf("学分");
scanf("%d",&s[i].score);
printf("开课学期");
scanf("%d",&s[i].term);
i++;
n++;
printf("输入课程编号(为-1时结束)");
scanf("%d",&s[i].num);
}
return n;
}


 


三、总结和展望


3.1总结

分析方法与设计模式因需求的不同而多种多样。不同的方法,有的可能带来非常明显的优点,而有的可能带来不利的因素。在本次项目的开发过程中,分析与设计的全阶段均完全采用了UML面向对象的先进建模方法,使系统在遵循面向对象原理与软件工程学的基础上,还具有一些使用其它面向对象方法时所不具备的优点。

本次项目的开发过程分成分析与设计两大部分。前一部分以功能为导向,着重于系统要达到的功能。而后一部分以结构为导向,着重于将业务逻辑抽象为类及其之间的关系,这些业务逻辑所要达到的功能,也正是前一部分分析的结果。分析与设计的各阶段均采用了UML面向对象的建模方法,使整体设计更具系统化、标准化、模块化。使用UML设计出来的管理系统,有很多基于业务逻辑抽象出来的类,具有广泛性的、重用性。采用UML进行设计,结合PowerDesigner进行数据库设计,为车船使用税征管系统开发设计提供了较合理的模式。


3.2展望

为什么我觉得做报告比较坑爹呢?

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: