软件工程画图

1.工具介绍

visio以及starulm都是不错的画图工具,visio可以自定义模具,一些不规则的模具可以在里面自定义,staruml是是一款开放源码的UML开发工具,主要支持9种uml建模,支持语法检测以及正反向工程。

2.N/S图与PAD图

这两种图可以用visio软件画,选取矩形模具,必要的时候在开始-指针工具调整为直线,连接,很多不规则的模具直接用直线进行构建即可,PAD图的选择模具可以自己新建一个模具,然后保存,再使用

例:

void root ( float root1, float root2 ) {
   i = 1;  j = 0;
   while ( i <= 10 ) {
    输入一元二次方程的系数a, b, c;
    p = b*b – 4*a*c;
    if ( p < 0 ) 输出“方程i无实数根”;
    else if ( p > 0 ) 求出根并输出;
    if ( p == 0 ) {
       求出重根并输出;
       j = j + 1;
    }
    i = i +1;
   }
   输出重根的方程的个数j;
}

 3.流图及其相关运算

 例

main() // a c code about finding out the small one in three input number  
{int num1,num2,num3,Min;
  printf("Please input three numbers:");
  (1) scanf("%d,%d,%d",&num1,&num2,&num3);
  (2) if (num1<num2) 
       (3) MIN=num1;
  else 
       (4) MIN=num2;
  (5) if (num3<MIN) 
       (6) MIN=num3;
  (7) printf("The small one is:%d,Min);}

 (1)试用此算法给出对应的流图;

 

 

2)计算流图的复杂性V(G);

        V(G)=E-N+2=P+1=3

   (3)求基本路径构成的基本集合(num1,num2,num3各取一次最小值);

        1-2-3-5-6-7

        1-2-3-5-7

        1-2-4-5-6-7

        1-2-4-5-7

   (4)给出每条路径执行的期望结果;

        分别为num3,num1,num3,num2

   (5)给出每一条路径的测试用例。

        测试用例1:num1=2,num2=3,num3=1

        测试用例2:num1=1,num2=2,num3=3

        测试用例3:num1=3,num2=2,num3=1

        测试用例4:num1=3,num2=2,num3=4

 4.状态转换图

请画出打印机的状态转换图

未接到复印命令时,处于闲置状态

一旦接到复印命令,处于复印状态

完成一个复印命令后,回到闲置状态

如果执行复印时发现没纸,进入缺纸状态,发出警告,等待装纸

装满纸张后,进入闲置状态

如果复印过程中发生卡纸,进入卡纸状态,发出警告,等待排除故障

排除故障后,进入闲置状态

 

 

5.数据流图以及HIPO图

HIPO图直接通过word里面的插入-smartart-层次结构画出

 例:

 

美国某大学共有200名教师,校方与教师工会刚刚签订一项协议。按照协议,所有年工资超过$26000(含$26000)的教师工资保持不变,年工资少于$26000的教师将增加工资,所增加的工资数按下述方法计算:给每个由此教师所赡养的人(包括教师本人)每年补助$100,此外教师有一年工龄每年再多补助$50,但是,增加后的年工资总额不能多于$26000

教师的工资档案存在行政办公室的光盘上,档案中有目前的年工资、赡养的人数、雇佣日期等信息。需要写一个程序计算并印出每名教师的原有工资和调整后的新工资

题目要求:

  1. 画出此系统的数据流图

 

 

1.写出需求说明

功能需求:可以输入调资的标准,输入教师档案,经调资给出新的教师档案

性能需求:软件的相应时间应该小于0.5s,更新处理要快

灵活需求:当需求发生某些变化时,该软件应该能够适应这些变化

故障处理要求:出现错误时,应该给予警告或提示

2.设计上述的工资调用程序(要求用HIPO图描述设计结果),设计时分别采用下述两种算法,并比较2种算法的优缺点。

a.搜索工资档案数据,找出年工资少于26000的人,计算新工资,校核是否超过26000,存储新工资,印出新旧工资对照表

b.把工资档案数据按工资从最低到最高的次序排序,当工资数额超过26000时,即停止排序,计算新工资,校核是否超过限额,存储新工资,印出结果

 

 

 

 

a比较耗时,因为他要检索所有的档案,b速度上来看比较快,但是b需要排序算法,比较复杂,a对于设计来讲比较简单。

6.软件结构图

同样通过word里面的插入-smartart-层次结构画出

例:

某电器集团公司下属的厂包括技术科、生产科等基层单位。现在想建立一个计算机辅助企业管理系统

其中,生产科的任务是:

  (1)根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计划。

  (2)根据车间实际生产日报表、周报表调整月生产计划

  (3)以月生产计划为以及,制定产品设计(结构、工艺)及产品组装月计划。

  (4)将产品的组装计划传达到各科,将组装月计划分解为周计划,下达给车间

 

 

技术科的任务是:

  (1)根据生产科转来的组装计划进行产品结构设计,产生产品装配图给生产科,产生外购需求计划给供应科,并产生产品自制物料清单。

  (2)根据组装计划进行产品工艺设计,根据产品自制物料清单产生工艺流程图给零件厂。

   请设计出以上系统中生产科和技术科处理的软件结构图。

 

 7.用例图类图时序图和状态图

例:

选课系统的主要功能是给教师分配课程和学生注册课程。其需求描述如下:

(1)在每个学期选课开始之前,系统管理员需要对系统中的教师信息、课程信息和学生信息进行维护,学期结束后,将本学期成绩归档到学籍档案系统。

(2)学生登录选课系统后会得到一份包含本学期将要开设的课程目录。每门课程包含的信息有开课系别、教师、上课时间、教室、容纳的学生数量和学生选择课程的先决条件,这些信息可以帮助学生选择课程。当学生选择了一门课程后,选课系统需访问学籍档案系统,查询是否符合选课的先决条件(如是否已经通过先修课程的学习),如果不符合,系统给出提示信息。每个学期有一段时间让学生可以改变计划,学生可以在这段时间内访问系统以增选课程或退选课程。

(3)教师可以访问系统,查看将要教授哪些课程和每门课程有哪些学生报名,课程考试结束后可以提交成绩,系统可以生成带有成绩分数统计结果的成绩单。

(4)限定约束条件为:一名教师每学期最多承担4个教学任务,特殊情况下可以不承担教学任务;少于15人不开课,每名学生每学期选课不超过6门。

请从完整的需求描述中:

  1. 设计出完整的UML用例图和UML类图;
  2. 给出学生注册选课的UML顺序图和课程类的状态转换图;

用例图

 

 

 

类图

 

 

 

时序图

 

 

 

状态图

 

 8.数据流图

例:

请给出手机软件《铁路12306》,其中车票查询功能的数据流图和数据字典。

 9.数据流方法画软件结构图

例:

请给出手机软件《滴滴出行》,使用数据流方法画出的软件结构。

 

 

1. 项目概述 ………………………………………………………………………3 1.1开发背景 ………………………………………………………………………3 1.2 开发目的 ……………………………………………………………………3 1.3 开发运行境 ……………………………………………………………………3 1.4 系统功能 ………………………………………………………………………3 2.需求分析 …………………………………………………………………………3 2.1 系统需求 ………………………………………………………………………3 2.2 功能需求 ………………………………………………………………………3 2.3 业务流图 ………………………………………………………………………3 3.总体设计 …………………………………………………………………………4 3.1 基本设计概念和处理流程 ……………………………………………………4 3.2 系统层次模图 …………………………………………………………………4 3.3系统层次模块图 ………………………………………………………………4 3.4模块设计 ………………………………………………………………………5 4.数据库计 …………………………………………………………………………5 4.1 数据库的逻辑设计 ……………………………………………………………5 4.2数据库的配置……………………………………………………………………6 5. 详细设计 ………………………………………………………………………8 5.1 学生登录模块的设计与实现 …………………………………………………8 5.2 学生注册模块的设计与实现 …………………………………………………9 5.3 学生查询模块的设计与实现…………………………………………………9 5.4 学生选课模块的设计与实现…………………………………………………10 6 测试及提交 ……………………………………………………………………10 7 项目小组成员及详细分工 ……………………………………………………10 8 附:模块源代码 ………………………………………………………………11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值