我是靠谱客的博主 搞怪网络,最近开发中收集的这篇文章主要介绍客户信息管理系统一.开发流程二.需求分析三.设计,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 一.开发流程
  • 二.需求分析
  • 三.设计
    • 3.2 分层设计
      • 3.3 bean
      • 3.4 View
        • 功能说明
        • 思路分析
        • code实现
      • 3.5 App
      • 3.6 Service
        • 显示客户列表
        • 添加客户
        • 删除客户

一.开发流程

在这里插入图片描述

二.需求分析

主界面

---------------------------客户信息管理软件-----------------

                            1 添 加 客 户
                            2 修 改 客 户
                            3 删 除 客 户
                            4 客 户 列 表
                            5 退      出

                            请选择(1-5):_

添加客户

                   请选择(1-5)1

---------------------添加客户---------------------
姓名:张三
性别:男
年龄:30
电话:010-56253825
邮箱:zhang@abc.com
---------------------添加完成---------------------

删除客户

                   请选择(1-5)3

---------------------删除客户---------------------
请选择待删除客户编号(-1退出)1
确认是否删除(Y/N):y
---------------------删除完成---------------------

客户列表

 				请选择(1-5)4

---------------------------客户列表---------------------------
编号  姓名       性别    年龄   电话            邮箱
 1    张三       男      30     010-56253825   abc@email.com
 2    李四       女      23     010-56253825    lisi@ibm.com
 3    王芳       女      26     010-56253825   wang@163.com
-------------------------客户列表完成-------------------------

该软件scala能够实现对客户对象的插入、修改和删除,显示,查询(用ArrayBuffer或者ListBuffer实现),并能够打印客户明细表。

三.设计

在这里插入图片描述

3.2 分层设计

一共分四层

在这里插入图片描述

3.3 bean

  1. 先分析Cusotmer有哪些属性
  //属性
  var id:Int = _
  var name:String = _
  var gender:Char = _
  var ger:Short = _
  var tel:String = _
  var email:String = _
  1. 构造器
  //辅助构造器
  def this(id:Int,name:String,gender:Char,age:Short,tel:String,email:String){
    this
    this.id = id
    this.name = name
    this.gender = gender
    this.age = age
    this.tel = tel
    this.email = email
  }

3.4 View

本来是应该先写Service层
但是鉴于此场景,应该先写一个简单的View
在这里插入图片描述

功能说明

显示主菜单 & 完成退出

---------------------------客户信息管理软件---------------------------

                            1 添 加 客 户
                            2 修 改 客 户
                            3 删 除 客 户
                            4 客 户 列 表
                            5 退       出

                            请选择(1-5):_

思路分析

1.主菜单显示放到while
2.用户输入选择
3.输入5退出

code实现

package Customer.view

import scala.io.StdIn

class CustomerView {

  //定义变量 控制退出循环while
  var loop = true
  //接收用户输入
  var key = ' '

  def mianMenu() = {
    do{
      println("--------------------------客户信息管理软件---------------------------")
      println("                            1 添 加 客 户")
      println("                            2 修 改 客 户")
      println("                            3 删 除 客 户")
      println("                            4 客 户 列 表")
      println("                            5 退       出")
      println("                            请选择(1-5):_")

      //key 来接收用户输入
      key = StdIn.readChar()
      //key match 匹配
      key match {
        case '1' => println("添 加 客 户")
        case '2' => println("修 改 客 户")
        case '3' => println("删 除 客 户")
        case '4' => println("客 户 列 表")
        case '5' => this.loop = false
      }

    }while(loop)
  }

}

3.5 App

调用全部接口
在这里插入图片描述

3.6 Service

显示客户列表

主菜单接收一个4 ,打印出来客户列表
调用Service的 list 方法

1.编写一个方法 ,返回当前系统有哪些客户
2.客户放在哪里? 内存----> 可变集合 ----> ArrayBuffer

在这里插入图片描述
bean.customer

  // 重写了toString方法
  override def toString: String = {
    this.id + "tt" + this.name + this.gender + "tt" + this.age + this.tel + "tt" + this.email
  }

CustomerService

class CustomerService {

  //customer是存放客户的,先初始化一个 为了测试
  val customers = ArrayBuffer(new Customer(1,"Tom",'男',10,"120","120@qq.com"))

  def list() = {
    this.customers
  }
}

View.customerView

 def list() = {
      println()
      println("---------------------------客户列表---------------------------")
      println("编号tt姓名tt性别tt年龄tt电话tt邮箱")

      //for 遍历
      //1 获取到CustomerSerivce 的 customers ArrayBuffer

      val customers = customerService.list()
      for(customer <- customers){
        //重写customer的toString ,返回信息(格式化)
        println(customer)
      }
      println("---------------------------客户列表完成---------------------------")

      println()
    }

添加客户

在这里插入图片描述

bean.customer

  //第二个构造器,方便id设置
  def this(name:String,gender:Char,age:Short,tel:String,email:String){
    this
    this.name = name
    this.gender = gender
    this.age = age
    this.tel = tel
    this.email = email
  }

Service

  //添加客户
  def add(customer: Customer) = {
    //设置ID
    customerNum += 1
    customer.id = customerNum

    //添加到customers
    customers.append(customer)
    true
  }


view

  // 添加客户
  def add() = {
    println()
    println("---------------------------添加客户---------------------------")
    println("姓名:")
    val name = StdIn.readLine()
    println("性别:")
    val gender = StdIn.readChar()
    println("年龄:")
    val age = StdIn.readShort()
    println("电话:")
    val tel = StdIn.readLine()
    println("邮箱:")
    val email = StdIn.readLine()


    //构建对象
    val customer = new Customer(name,gender,age,tel,email)
    customerService.add(customer)
    println("添加成功")

  }

删除客户

在这里插入图片描述
在这里插入图片描述
Service

//根据ID找到index索引
  def findIndexByID(id:Int)= {
    //遍历customers
    var index = -1; //默认-1 ,没有找到就返回-1

    breakable {

      for (i <- 0 until customers.length) {
        if (customers(i).id == id) {
          index = i
          break()
        }
      }
    }
    index
  }


  def delete(id:Int)={
    val index = findIndexByID(id)
    if(index != -1){
      //删除
      customers.remove(index)
      true
    }else{
      false
    }

  }

View

def delete(): Any = {
    println("-----------------删除客户-------------------")
    println("请删除客户编号(-1退出)")
    val id = StdIn.readInt()
    if(id == -1){
      println("error")
      return
    }
    println("确认是否删除(Y/N)")
    val choice = StdIn.readChar().toUpper
    if(choice == 'Y'){
      if(customerService.delete(id)){
        println("-----------删除完成-----------")
        return
      }
    }
    println("-----------删除没有完成-----------")

最后

以上就是搞怪网络为你收集整理的客户信息管理系统一.开发流程二.需求分析三.设计的全部内容,希望文章能够帮你解决客户信息管理系统一.开发流程二.需求分析三.设计所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部