第一天——项目的背景+框架搭建

来源:互联网 发布:吹笛子软件下载 编辑:程序博客网 时间:2024/06/18 05:21

项目第一天——项目的背景+框架搭建

0.学习过的技术

  • 主要是介绍做项目心态,以及本次项目的背景、原因、需求等进行分析,相当于自己进入公司的第一天应该做的工作
  • 学习过的技术:
  • html/css/js/jquery/ajax
  • jdbc/dbutils/c3p0/dbcp
  • mysql
  • http/tomcat/request/response/servlet
  • HttpSession/Cookie/ServletContext
  • jsp/el/jstl
  • filter/listener
  • 文件上传commons-fileupload/下载
  • servlet3.0/注解/反射/代理
  • javaMail
  • oracle
  • hibernate
  • struts2
  • spring
  • CRM/SVN

1.学习项目的心态

  1. 对于早期我们对技术的学习,也就是上面列举的技术,我们的学习方法是:
    1. 用什么方法来学习这些技术的?
    2. 这些技术是什么?
    3. 它的实现原理?
    4. 用在那些地方了?
    5. 怎么用
  2. 但是,对于学习项目来说,我们不应该和上面相同
  3. 业务)学什么?*

    • 主要是学习项目的业务!什么是业务?也就是我们做事情或者功能的一些步骤 ,对于业务,我们应该能够跟面试官熟练的表达你所熟悉的业务
  4. 业务描述以及个人理解)学习对项目的表达能力——很重要*

  5. 业务代码的实现)能够将业务通过代码编写出来
  6. 学习新的知识点,用多少学习多少,只讲用,少讲原理*
  7. 提高自学能力,提高调试能力(*不会调试,一辈子都做程序员),提高表达沟通能力**
  8. 重点:主要是如何使用技术,而不是技术的原理;主要是描述业务,提高沟通能力;主要是调试;主要是学习能力

2.项目的背景–面试时进行介绍

- 商务管理平台主要是国际物流行业一家专门从事出口玻璃器皿贸易的公司。业务遍及欧美。随着公司不断壮大,旧的信息系统已经无法满足公司的快速发展需求,妨碍公司成长,故研发了此系统- 该项目分三期完成,一期、二期、三期。我们主要的是完成二期和三期,一期不开发,提问时回答:参与时一期完成了,主要是二期和三期的功能- -300万经费,30程序员,6个月,地点自己决定- 项目名称:XXXX公司的商务管理系统/国际管理平台- 公司如何盈利/订单如何来?国外去拿到一些订单,参加国外的一些展销会- 术语、业务流程讲清楚

3. 选择国际物流作为项目的原因:

  • 在北京地区,关于做国贸这一块的很少(容易面试)、我们只需要掌握行业的相关术语以及整个业务流程进行描述清楚就比较好
  • 如果是其他常用的业务,比如OA,因为该方面的专家比较多了,面试比较刁钻

4. 界面原型法

作用:获取需求,通过简单设计网站页面,让用户确认界面的需求,在最短的时间内获取最真实的客户需求

5. UML和UseCase——对于UseCase图要学会画本系统的

  1. UML:统一建模语言
  2. 作用:为了避免文字描述的分歧,让世界各国都有共同的语言,一目了然
  3. UseCase:程序员用专业手法表达需求
  4. UML:用图形元素表达需求
  5. UseCase的作用:用于根据获取的需求进行程序员的专业需求描述“什么角色能操作什么功能模块”

6.PD软件和项目的用例图

  • 创建用例图:new–oom–usecase
  • 如何把连线进行调直?“显示参数选择”——改成有角的线

  • 0.管理员:①部门管理、②用户管理、③角色管理、④权限管理
  • 1.合同专员:①购销合同——①(合同)货物管理——①附件
  • 2.市场专员:同合同专员
  • 3.投运专员:(审批通过后)①出口投运
  • 4.装箱专员:(完成投运后)①HOME装箱单(计算装箱数量)、②装箱
  • 5.委托专员:(负责发货后委托船家)①委托单
  • 6.发票专员:①发票(发货后催促买家及时付款)
  • 7.船运经理:投运专员+装箱专员+委托专员+发票专员
  • 8.财务经理:(用户回款后)财务报表
  • 9.生产厂家:没有操作本系统
  • 10.海外客户:没有操作本系统

上述的角色是按照顺序进行:签订合同——出海前投运(审批)——(通过后)装箱——委托船家——催款——(回款后)财务报表

7. 系统功能模块结构图

UseCase的不足:UseCase主要用于描述“什么角色干了什么事”,但是这些功能还应该包含什么子功能,这些都没进行很清楚的描述。

  • 系统的所有功能模块,谁是子模块谁是父模块
  • 作用:①能够清晰的看清系统的功能、②能够很好对系统进行报价:每个模块分配多少人力,多少时间,多少花费,然后最后的花费最少是多少——让客户很清楚花费在哪里。

8. 系统框架运行流程的分析图:(入职第一天应该做的事

8.1系统的框架就是入职前的套路


当我们进入一家公司时,框架不可能有我们去选择和搭建,并且,不会有人告诉你公司使用的是什么技术,因此,对我们而言,第一个难题是,我们即将使用的是什么技术和框架。

  1. 系统使用了什么框架?业务如何办理?
  2. 首先查看项目使用了什么jar包——来确定技术、框架,需要自己去挖掘,并且不一定每个技术都会,对于不懂的技术尽快学会。
  3. 确定jar包之后,确定框架的流程:确定大概的请求、流程和先后顺序。对于不同的模块需要自己尽快去解决。
  4. 一般来说,进去就应该先对简单的表查询,如果能够完成了,那么我们对于系统的框架流程就应该很熟悉了。

9.使用maven对项目框架进行搭建

9.1 创建parent工程——pom在“提前下发的资料中”

9.2 创建子模块:util、domain、dao、exception、service

9.3 创建web层的模块

10.添加相关配置和整合

10.1 utils——jk0506-util+page分页

10.2 domain——先进行部门表的查询——“提前下发资料”中,创建po类和映射文件和表

10.3 dao(通用):baseDao——配置app。。。dao,此处只需先进行配置dao的bean

10.4 service配置service的bean,同时引入dao、domain、exeception

10.5 web模块:

1. ①导入jsp原型2. ②粘贴简单的Action3. ③导入常用配置文件:applicationContext-web.xml4. ④struts.xml5. ⑤配置hibernate.cfg.xml6. ⑥配置总的applicationContext.xml,前面的数据源、SessionFactory等都在此配置7. ⑦web.xml进行配置——可以参考配置文件

11.集成后的测试


解释:此处为什么使用hibernate.cfg.xml,首先能很好的说明了你使用的是什么技术,其次,能够很好的让hibernate解决自己的问题,而不是让spring来帮它完成


如果发生了contextLoaderListener没找到,重启eclipse即可


配置文件执行顺序:listener——application.xml此时它又会找到下面的其他xml——struts.xml——openSession——编码过滤器。


测试:通过访问主页能够直接跳转到登陆界面即可。

阅读全文
0 0