精华内容
下载资源
问答
  • 同时,本文将软件开发企业实施IT服务项目的策略概括为“管理分步、功能分期、观念重建、持续改进”,并通过中望IT服务项目的成功实施进行了证明;最后指出在IT服务管理发展成熟后,可将软件产品和其他运营业务整合到...
  • 大型全球化企业和中小企业都把APP程序开发纳入到他们的企业发展策略当中。然而,在深入开发移动项目之前,有5个问题是需要注意: 1、是否实行外包策略? 在开发手机APP时,独立开发或者利用外包都是可行...

    不可否认,手机是当今世界上引领潮流的趋势。大型的全球化企业和中小企业都把APP程序开发纳入到他们的企业发展策略当中。然而,在深入开发移动项目之前,有5个问题是需要注意的:

    1、是否实行外包策略?

    在开发手机APP时,独立开发或者利用外包都是可行的。两种截然不同的开发形式都可以生产出优秀的产品。采取哪种方式取决于细微的商业模式差别和你的项目具体目标。

    独立开发一项手机APP,可以更好地拥有技术方面的控制权。团队的紧密合作能增强协同合作的能力。然而,独立开发这种形式相比于外包来说,资金通常是比较昂贵的。

    对于外包型的开发来说,最大的价值就是能节约公司的有效资源、减少成本和减少管理部门的工作强度。但是,外包必然会降低本公司对该项目开发的控制权。即便如此,许多APP项目依然在开发初期选择了外包。例如,Skype这样的大众软件和Fab.com这样的网站,都选择了这种方式。

    2、针对哪些设备做开发?

    目前,超过60%的美国人拥有智能手机,而全球平板电脑的用户将在2017年达到9.05亿人。如此众多的选择,各种不同的移动装置毫无疑问给手机APP设计开发提出了重大的挑战。通过分析登录公司网站的通信设备比例,推断出广大用户喜爱的移动设备。如果大多数的消费者是通过安卓手机进入你的网站,那么你的手机APP就以安卓手机系统为主要的开发平台。另外,苹果手机以及苹果平板电脑的用户有可能比安卓手机用户更多。尽管安卓占据着一份可观的市场份额,然而苹果用户在统计上将更占优势。不可忽略的是,所有类型的平板电脑用户都比智能手机用户拥有更多的业务处理能力。

    3、你的APP是做什么的?

    一旦确定开发的目标和平台,团队就可以开始考虑APP所要表现出来的功能性。无论是移动购物或者提交费用报表,目的一致是非常关键的。

    应用程序对于用户来说就像是一个“集成池”,这意味着他们也可以在其上使用其他产品,就像一家综合性网站一样,能把其他的程序集中在一起。例如,如今的亚马逊手机APP,就增加了合理化的“立即购买”,不单单只是阅读评论、产品情况和客户服务。

    同样的方法也可以用在内部商务处理的APP上。比起建立一个APP,只独立处理文件授权,费用反馈或病假处理,把这些需求集成在一起更会有效率。

    作为一家手机应用程序开发公司,要充分根据用户的需求制定目标。可以通过分析移动设备用户浏览现有各种服务网站的行为分析来确定目标。

    4、现有的基础设施能够应对日渐高涨的信息量吗?

    开发APP时另一个重要的方面是,后台系统和已有的设备的需求要结合。比如,如果是一家品牌公司正在构建移动电子商务APP,那么关注下和电子商务系统的融合就是至关重要的。作为企业,必须要考虑现有的系统能力来处理额外的业务和信息量。

    5、设计可否优先考虑?

    在规划过程中,决策平台、设备型号、开发语言和功能需求的设计都应该是确定不变的。在开发具有价值的APP的最终点,取决于终端用户的体验和设计美感。一般的智能手机用户基本需要下载大约25个手机APP。成千上万的APP在用户有限的智能手机空间里竞争,它必须在某些方面引人注目才行。

    在如今的APP市场上,完美的设计理念已经成为广受欢迎且行之有效的核心。直观的界面控制和流畅的跳转效果是必然的。当几乎相同的、能完成同样功能的两个APP相比较时,它们唯一的区别就在于视觉设计和用户的体验。在视觉和互动体验相差无几的移动应用程序上,性能、数据消费和存储等也是不可忽略的。

    通过以上三点和实际的开发,大多数情况下,你的APP设想能够实现。

    作者:Himanshu Sareen,他是Icreon科技公司的首席执行官,该公司为全球IT咨询公司提供业务解决方案和开发应用程序

     www.xici.net/d201165209.htm
     www.xici.net/d201165070.htm
     www.xici.net/d201165057.htm

    展开全文
  • 流程再造与企业项目化管理 318 企业信息化规划要软硬兼施 320 企业e化项目实施典型问题及处理 321 如何规避企业信息化建设项目管理中难题 323 企业边界与边界之外—项目管理是什么 324 企业项目化管理 326 ...
  • 书中结合消费类设备上常见的实例,循序渐进地讲解了 iphone 3开发的基本流程,并介绍了最先进、时尚、受欢迎的 iphone 3新特性。.  本书内容完整丰富,具有较强的通用性,编程领域中各层次读者都能通过本书快速学习...
  • 地理信息系统(GIS)是一门实践性很强的学科,它既有理论和方法研究的一面,又有技术和产品开发的一面。从产品的角度看,GIS主要包括数据产品和软件产品(或部分软硬件一体化的产品)。地理信息产业是信息产业的一个...
  • 本文创作独特性在于研究视角特殊性和研究内容系统性,从商丘区位优势出发,阐述发展物流业优势条件,并结合发展现状及弊端,全面而系统地对商丘物流业发展进行论述和策略分析,以补前人之不足。此论题...
  • asp.net知识库

    2015-06-18 08:45:45
    ASP.NET 2.0 正式版中无刷新页面的开发(示例代码补充) ASP.NET2.0中themes、Skins轻松实现网站换肤! ASP.NET 2.0 中代码隐藏和编译 ASP.NET 2.0 Language Swithcer and Theme Swicher 多语言转换和多样式主题...
  • 北风客户关系管理源码 CRM

    千次下载 热门讨论 2013-01-16 14:16:11
    项目来源于真实的企业级别项目项目由历风行老师根据自己实际开发项目抽取出来,该案例实际价值是一个6万左右的项目,虽然功能和工作量上面有部分缩水,但是技术含量绝对没有缩水。经过厉老师2个多月对原有项目...
  • 第5章“SAP项目的开发”包括:程序和报表开发、数据移植、构建界面、改善R/3系统、应用补丁以及个性化定制系统,并向读者介绍ABAP语言和开发环境主要概念和工具。第6章“技术实施”讨论SAP项目的技术和基础结构...
  • 测试覆盖率

    2011-10-28 11:16:51
     在武友文回国期间,国内一些软件开发商通过朋友引见,邀请武友文与公司研发人员交流时,武友文发现当时国内软件开发普遍存在“重开发,轻测试”现象,常常是在项目开发完成之后,才发现软件有严重缺陷问题,...
  • Spring学习笔记

    2020-10-21 23:31:25
    Sping是众多优秀设计模式组合(工厂、单例、代理、适配器、包装器、观察者、模板、策略)。 Spring并未替代现有框架产品,而是将众多框架进行有机整合,简化企业开发,俗称“胶水框架”。 框架概述 LOC :...

     

    1. Spring概念

    • Spring是一个项目管理框架,同时也是一套JavaEE解决方案。
    • Sping是众多优秀设计模式的组合(工厂、单例、代理、适配器、包装器、观察者、模板、策略)。
    • Spring并未替代现有框架产品,而是将众多框架进行有机整合,简化企业级开发,俗称“胶水框架”。

     

    框架概述

    LOC :控制反转,把创建对象过程交给Spring进行管理。

    AOP 面向切片,不修改源代码进行工程增强。

     

    • Spring IOC 解决的是 对象管理和对象依赖的问题。
    • Spring AOP 解决的是 非业务代码抽取的问题。

     

    image.png

    2. Spring环境搭建

    1. 添加Spring依赖

    image.png

    3. 测试Spring工厂类

    1. 增加DAO类

    image.png

    增加services类

    image.png

    1. 增加Spring配置

    image.png

    1. 测试spring工厂类

    image.png

     

    4. Spring 依赖关系

    image.png

    5. LOC理论推导

     

     

    image.png

    image.png

    Bean注入总结:

    image.png

     

    6. 配置依赖注入

    1. 新建好一个类.

    image.png

    1. 配置bean.xml 和set参数

    image.png

    1. 获取ApplicationContext
    2. 通过ApplicationContext.getBean 方法来获取 类实例

    image.png

    image.png

     

    7. 注解配置

    1)@Component

    可以使用此注解描述 Spring 中的 Bean,但它是一个泛化的概念,仅仅表示一个组件(Bean),并且可以作用在任何层次。使用时只需将该注解标注在相应类上即可。

    2)@Repository

    用于将数据访问层(DAO层)的类标识为 Spring 中的 Bean,其功能与 @Component 相同。

    3)@Service

    通常作用在业务层(Service 层),用于将业务层的类标识为 Spring 中的 Bean,其功能与 @Component 相同。

    4)@Controller

    通常作用在控制层(如 Struts2 的 Action),用于将控制层的类标识为 Spring 中的 Bean,其功能与 @Component 相同。

    5)@Autowired

    用于对 Bean 的属性变量、属性的 Set 方法及构造函数进行标注,配合对应的注解处理器完成 Bean 的自动配置工作。默认按照 Bean 的类型进行装配。

    6)@Resource

    其作用与 Autowired 一样。其区别在于 @Autowired 默认按照 Bean 类型装配,而 @Resource 默认按照 Bean 实例名称进行装配。

     

    @Resource 中有两个重要属性:name 和 type。

     

    Spring 将 name 属性解析为 Bean 实例名称,type 属性解析为 Bean 实例类型。如果指定 name 属性,则按实例名称进行装配;如果指定 type 属性,则按 Bean 类型进行装配。

     

    如果都不指定,则先按 Bean 实例名称装配,如果不能匹配,则再按照 Bean 类型进行装配;如果都无法匹配,则抛出 NoSuchBeanDefinitionException 异常。

    7)@Qualifier

    与 @Autowired 注解配合使用,会将默认的按 Bean 类型装配修改为按 Bean 的实例名称装配,Bean 的实例名称由 @Qualifier 注解的参数指定。

     

     

    1. 配置beans.xml 自动扫描

    image.png

    1. 打上注解

    image.png

    1. 通过getBeans 反射获取类

    image.png

     

    8. 属性自动装配

    @AutoWrite 根据属性类型自动进行装配

    自动装配就是指 Spring 容器可以自动装配(autowire)相互协作的 Bean 之间的关联关系,将一个 Bean 注入其他 Bean 的 Property 中。

    1. 新建DAO和impl实现类

    image.png

    1. services中用到这个类

    image.png

    1. 测试,调用一下 userServices.add() 方法来测试

    image.png

     

     

    9. 完全的基于注解开发

    现在我们还是用到了spring-context.xml的配置文件,基于注解以后这以后可以省略。

    1. 新建类,打上配置的注解

    image.png

    2. 基于类反射获取loc容器

    image.png

    9. 代理设计模式

     

    image.png

     

    比如我想见到马云,给他还100快花呗。但是我又找不到他。

     

    这个时候,就有一个还款平台(代理),通过还钱给它,它替我还钱给花呗。

     

    10. AOP 面向切面编程

      • AOP 的全称是“Aspect Oriented Programming”,即面向切面编程,它将业务逻辑的各个部分进行隔离,使开发人员在编写业务逻辑时可以专心于核心业务,从而提高了开发效率。
      • AOP 采取横向抽取机制,取代了传统纵向继承体系的重复性代码,其应用主要体现在事务处理、日志管理、权限控制、异常处理等方面。
      • 目前最流行的 AOP 框架有两个,分别为 Spring AOP 和 AspectJ。

     

    image.png

     

    11. Spring JDK动态代理

    1. 创建DAO,提供增删查改方法

    1. 实现impl,并实现增删查改方法

    image.png

    3. 创建切面类

    image.png

     

    4. 创建代理类

    image.png

     

    5. 测试代理类

    image.png

     

    12. CGLIB 代理

    • jdk动态代理的有点是简单,缺点是必须要有interface
    • 所以这里可以用CGLIB来生成代理类

    image.png

    代理结构和之前差不多

    1. 准备目标类(可以不需要interface)
    2. 准备切面实例
    3. 创建Enhancer 代理
    4. 设置增强类(设置被代理的类)
    5. 设置毁掉方法,类似JDK动态代理 的newProxyInstance 方法
    6. 生成新的代理

     

     

    13. Aspectj 代理

    1. 配置pom.xml 增加aspectj,spring-aspects,aspectjtools,aopalliance,aspectjweaver,spring-aop 等包。
    2. 新建Bean类 并打上注解

    image.png

    1. 新建Proxy 类,并声明,前置/后置等方法,并打上注解

    image.png

    1. 配置beans.xml 开启自动扫描。

    image.png

     

    1. 最后执行方法

    image.png

     

    14. JDBCTemplate

    1. 安装JDBC和Spring 相关包。
    2. 编写DAO。
    3. 编写DAOImpl 实现 和 增加类属性 jdbcTemplate,Jdbc 打注解 @AutoWrite.

    image.png

    image.png

    1. 在Pom 文件中增加相关配置,Jdbc的bean和数据库连接

    image.png

     

     

    15. Spring事务

    1. 脏读

    image.png

    解决办法:把数据库的事务隔离级别调整到READ_COMMITTED(读提交/不可重复读)

     

    2. 不可重复读

    image.png

     

    解决办法:把数据库的事务隔离级别调整到REPEATABLE_READ(可重复读)

     

     

    3. 虚读(幻读)

    image.png

    解决办法:把数据库的事务隔离级别调整到SERIALIZABLE_READ(序列化执行),或者数据库使用者自己进行加锁来保证。

     

    不可重复读出现多是因为修改;幻读重点是新增、删除。mysql中的REPEATABLE_READ模式引入了间隙锁(GAP),解决了幻读的问题。不论是什么方式解决幻读,都会付出一定代价的性能让步。所以说在业务需求和技术方案之间权衡也是技术人员最需要掌握得技能之一。

     

    image.png

    image.png

     

    16. 转账事务控制示例

     

    1. 引入相关包

    image.png

    1. 配置pom.xml,头声明,声明式开启事务,开启事务注解
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:aop="http://www.springframework.org/schema/aop"
           xmlns:tx="http://www.springframework.org/schema/tx"
           xmlns:context="http://www.springframework.org/schema/context"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
             http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
             http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd
             http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
    
        <!--
            增加头文件
            http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd
        -->
    
        <!--jdbc链接-->
        <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
            <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
            <property name="url" value="jdbc:mysql://localhost:3306/book"></property>
            <property name="username" value="root"></property>
            <property name="password" value="root"></property>
        </bean>
        <!--配置jdbcTemplate-->
        <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
            <property name="dataSource" ref="dataSource"></property>
        </bean>
    
        <!--开启事务-->
        <bean id="transitionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
            <property name="dataSource" ref="dataSource"></property>
        </bean>
    
        <!--开启事务注解-->
        <tx:annotation-driven transaction-manager="transitionManager"></tx:annotation-driven>
    
        <!--开启注解-->
        <context:component-scan base-package="com.liyong"></context:component-scan>
    
        <!--开启自动扫描-->
        <aop:aspectj-autoproxy proxy-target-class="true"/>
    
    </beans>
    1. 新建DAO,DAOImpl 实现,Services ,ServicesImpl实现。

    image.png

     

    1. 注解事务,并设置隔离级别。

    image.png

    1. 测试

     

    转帐前 每个人都是 2000

    image.png

     

    这里设置了错误,来让事务生效,如果出错,则应该 rollback,如果出现 4000 和 0 的话,就是事务不生效。

    image.png

     

    转账后

    image.png

     

    可以看到,转账没有生效。已经回滚了。

     

    17. 事务不生效的一些原因。

    在配置jdbc后程序就可以正常运行了,但是如果事务没有配置生效的话,程序依旧能跑。这里有一些常见问题,可以用来排查。

    1. mysql 不是innoDb 引擎。 解决办法,设置为innoDb.

    image.png

    1. pom 头和bean没有配置,此时不会报错,事务也不会生效。
    展开全文
  • Spring是众多优秀设计模式组合(工厂、单例、代理、适配器、包装器、观察者、模板、策略)。 Spring并未替代现有框架产品,而是将众多框架进行有机整合,简化企业开发,俗称"胶水框架"。 官方网站:...

    1. Spring 是什么?

    1. Spring是一个项目管理框架,同时也是一套Java EE解决方案。

    2. Spring是众多优秀设计模式的组合(工厂、单例、代理、适配器、包装器、观察者、模板、策略)。

    3. Spring并未替代现有框架产品,而是将众多框架进行有机整合,简化企业级开发,俗称"胶水框架"。

    官方网站:https://spring.io/

    下载地址:http://repo.spring.io/release/org/springframework/spring/

    2. 谈谈对Spring 的Ioc 和 DI 理解

    1. Inverse Of Controll:控制反转
      反转了依赖关系的满足方式,由之前的自己创建依赖对象,变为由工厂推送。(变主动为被动,即反转)
      解决了具有依赖关系的组件之间的强耦合,使得项目形态更加稳健
    2. DI(Dependency Injection)依赖注入 :在Spring创建对象的同时,为其属性赋值,称之为依赖注入。

    3. Spring中Bean的注入方式有哪些?

    set注入
    构造注入
    自动注入

    4. 如何在Spring里注入集合?

    	list   <list><value></value></list>
    	set  <set></set>
    	map <map><entry key="" value=""/></map>
    	properties <props><prop></prop></props>
    

    5. 解释一下Spring Bean的自动注入式什么样的?

    byName
    byType

    6. AOP 有哪些实现方式?

    动态代理:jdk + cglib

    7. FactoryBean中有哪些抽象方法,分别含义是什么?

    1. FactoryBean创建复杂对象:
    
    	 Connection
    	 Class.forName("驱动名")
    	 Connection conn = DriverManager.getConnection(url, username, password);
     
    	 作用:让Spring可以创建复杂对象、或者无法直接通过反射创建的对象。
    

    1

    1. 实现FactoryBean接口
      1
    • 注意:isSingleton方法的返回值,需根据所创建对象的特点决定返回true/false。
    • 例如:Connection 不应该被多个用户共享,返回false。
    • 例如:SqlSessionFactory 重量级资源,不该过多创建,返回true。

    8. 什么是 Aspect?

    切面(Aspect):由切点和通知组成,将横切逻辑织入切面所指定的连接点中。

    9. 什么是 AOP?

    1. 概念:AOP(Aspect Oriented Programming),即面向切面编程,利用一种称为"横切"的技术,剖开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,并将其命名为"Aspect",即切面。所谓"切面",简单说就是那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块之间的耦合度,并有利于未来的可操作性和可维护性。

    2. AOP开发术语:

    • 连接点(Joinpoint):连接点是程序类中客观存在的方法,可被Spring拦截并切入内容。

    • 切入点(Pointcut):被Spring切入连接点。

    • 通知、增强(Advice):可以为切入点添加额外功能,分为:前置通知、后置通知、异常通知、环绕通知等。

    • 目标对象(Target):代理的目标对象

    • 引介(Introduction):一种特殊的增强,可在运行期为类动态添加Field和Method。

    • 织入(Weaving):把通知应用到具体的类,进而创建新的代理类的过程。

    • 代理(Proxy):被AOP织入通知后,产生的结果类。

    • 切面(Aspect):由切点和通知组成,将横切逻辑织入切面所指定的连接点中。

    10. 有哪些类型的通知(Advice)?

    前置通知:MethodBeforeAdvice://在业务方法执行前执行

    最终通知:AfterAdvice //不管业务方法是否有异常,都会执行的通知

    后置通知:AfterReturningAdvice //有异常不执行,方法会因异常而结束,无返回值

    异常通知:ThrowsAdvice //目标对象执行出现异常才会执行的通知

    环绕通知:MethodInterceptor//环绕通知,## 标题

    展开全文
  • 另外项目描述中,最好可以体现自己的综合素质,比如你是如何协调项目组成员协同开发的或者在遇到某一个棘手的问题的时候你是如何解决的又或者说你在这个项目用了什么技术实现了什么功能比如:用 redis 做缓存提高访问...
  • renren : renren 下面一共开源了两个 Java 项目开发脚手架:①renren-security :采用 Spring、MyBatis、Shiro 框架,开发的一套轻量级权限系统,极低门槛,拿来即用。②renren-fast : 一个轻量级的 Java 快速开发...
  • 作为开源风潮托管平台,GitHub上面有大量的优秀开源项目,如果有需可以从GitHub上面借用各种项目,没有需要也可以去读读上面代码,提升下写作水平。 Git作为优秀的版本管理工具,相信绝大多数公司都在使用,那么...
  • 他专注于研究全球化企业应用程序、团队协作策略、UX需求追踪,并为多版本分步实施的项目制定规格文档。  Ezra帮助客户将快速UX原型设计、验证、测试和开发文化进行成功集成,帮助客户采用UCD(user-centered-design...
  • 软件工程教程

    热门讨论 2012-07-06 23:10:29
    根据项目开发的不同阶段,用正确的观点来画类图 不要为每个事物都画一个模型,应该把精力放在关键的领域 对象图 对象图 表示在某一时刻类的具体实例和这些实例之间的具体连接关系 类 与 对象 关系 类 与 ...
  • 自 2013 年起立项 7 年多来,我们一直保持着项目的持续更新,并将完整源代码以及设计思想毫无保留地分享给大家,希望有更多人可以从中受益,理解并传播开源精神,一同助力中国开源事业!感恩一路上给我们提供...
  • Add MTB token

    2020-12-26 12:57:56
    兼具前/后端软件项目开发经验,对前端HTML,CSS,JS有深厚技术功底,擅长解决兼容性问题,深⼊掌握 jQuery,Bootstrap,react,Less,Sass等技术框架。...

空空如也

空空如也

1 2 3
收藏数 46
精华内容 18
关键字:

优秀企业项目开发的策略