java autumn trick question Summary 2

1. The three elements of software development

Three elements of methods, tools, processes.

The method is technical methods to complete the tasks of software development, to provide "how-to" technology for software development. Support Environment automated or semi-automated software engineering tools for the application of the method provided.

The process is the framework for a series of tasks in order to obtain high-quality software that needs to be done, it sets out the steps to complete the tasks of the work, how software engineering methods and software tools combined with reasonable and timely software development.

2.

 

 

 

 1.4.1 iterative development (subject time period)

 

项目按照时间周期进行迭代,比如A功能优先级比较高,则在第一个迭代周期
内优先开发A功能,并上线。第二个迭代周期开发B功能。

1.4.2 incremental delivery (the main functional modules)

Waterfall development model: needs assessment, preliminary design, detailed design, development, unit testing,
integration testing, on-line. Such as Microsoft's Vista system, the project from 1997 to 2005 was published, but with
user feedback is not good, the development of the Vista operating system is to use the waterfall model.

Incremental development: it represents the product is being phased delivery at the end of each period of use. After the draw as Microsoft Vista operating system using the traditional waterfall development process and found that the operating system does not completely cover the needs of users. In the 2005-2007 two-year period through internal implementation of agile development principles, on the line win7, was well received in the market.

1.4.3 development team and user feedback to promote product development

敏捷开发提倡用户参与到产品或项目开发的整个流程当中,通过用户反馈使得
产品更加符合用户频繁变动的需求。

1.4.4 Continuous Integration

采用敏捷开发的产品在产品初期会上线基本功能,之后的功能是根据收集到的
用户反馈进行开发的,实现功能模块的持续集成。

1.4.5 self-managed development team

传统的开发模式,注重文档约束,而敏捷开发原则的推行原则要求团队内部交
流便利、文化相对开发,除去必要的文档约束,如Api接口文档,最注重的是团
队成员的高效交流,以此来提高产品、项目的开发效率、开发质量。
 
Agile development shortcomings

Disadvantages:

But agile focus on communication staff, ignored the importance of the document, if the project is too large staff turnover, and gave maintenance to bring a lot more difficult, there are special projects novice relatively long time, older employees more tired.

Strong experience of the people there need a project, the project is not easy to encounter bottlenecks. Because of its project cycle is very long, it is difficult to ensure the development of personnel are not replaced, but there is no document will cause great difficulties in the process of transition in.

3. Domain-Driven Development

The back-end server development in three stages:

  1. UI + DataBase the two-tier structure, such a database-oriented architecture (table module above) no flexibility.
  2. UI + Service + DataBase multi SOA architecture, this service model architecture + table service becomes easy to make the cyst, difficult to maintain expansion, poor flexibility can see here the discussion or the biggest flaw of Spring Web applications .
  3. DDD + SOA micro event driven service CQRS separate read and write architecture to cope with complex business logic, in polymerized Alternate spreadsheet models, event-driven in concurrent series of alternative message driven. It should bring the core of the business entity flexible expansion.

  DDD is revolutionary: the domain model accurately reflects the business language, traditional J2EE or Spring + Hibernate and other transactional programming model only interested in data, these data objects in addition to simple setter / getter method, there is no business methods, be likened to blood loss model , then the domain model of this congestion model with business methods in the end was good?

https://www.jdon.com/ddd.html

 

Guess you like

Origin www.cnblogs.com/jiexing/p/11627344.html