Feature-driven development FDD

Source: Internet
Author: User


FDD is a model-driven software development process. Like XP, FDD is a method of agile software development. The main idea of FDD is to implement functions. That is to say, FDD aims to implement functions. Set the system
It is divided into one function set, and each function set is subdivided into specific functions. For example, user management is a function set, and user management includes adding and Deleting Users. Domain Modeling is its System
The system design method uses color.
UML, also known as the four-color prototype, is currently supported by many tools, such as Borland's together. The following describes the development process.

The FDD development process is divided into five stages: developing the overall model, creating a function list, developing a plan based on the function, designing according to the function, and building based on the design.

1. Develop the overall model

This stage requires the participation of field experts. It mainly collects functional requirements of the system and then uses a four-color prototype for Domain Modeling. I personally think that the system architecture design should be obtained at this stage. According to FDD's official explanation
The main Class and Class relationship, main attributes and methods of the class are required. Therefore, the system architecture design diagram should be obtained. The results of this phase include: Informal function list, system Domain Modeling model (that is, System
Architecture diagram ).

2. Create a function list

In the previous stage, the requirements for system functions have been analyzed and the system domain model has been designed. At this stage, features need to be refined, mainly in the form of converting the moment-intervals in the domain model to the function set. I personally think that the outline design should be completed at this stage. The results of the phase include: a complete list of function sets and a summary Design book.

3. Develop plans based on functions

Organize and sort the function list by priority, set the completion date, and assign the function to specific implementers. In this case, you need to specify the owner of each class and the main programmer of the function set (that is
Team
Leader, haha ). The completion cycle of each function set is generally no more than 2 weeks. If it is more than 2 weeks, it should be further refined. Because the iteration cycle it emphasizes is two weeks. Results of this phase
It is mainly a project development plan.

4. Design Based on Functions

The Project Manager works with the major programmers of each function set specified in the previous stage to design the functions in detail. Personal Understanding should be based on the domain model for analysis and design, to obtain the analysis model and design model. However
You can also directly enter the design model. Milestones are developed based on the design results. There will be a design review process. The success of this phase should include: detailed design, project
Milestone plan.

5. Build based on design

Coding is implemented according to the design, and each programmer is responsible for the class. Organize code review and review after the code is completed. After the test and check are passed, check in the configuration management library for building. 5th and 4th
A stage is an iterative process. The iteration cycle is generally 2 weeks. This process continues to iterate and implement functions in a centralized manner. Evaluate and review each milestone. Consider the next milestone
Until the final project is completed.

There is a problem here, that is, if there are new features to be added during design and implementation, you should directly consider them or put them into the next plan. I personally think the latter one should be used
Method. At this time, the requirements and plans have been determined. If new functions are introduced, the execution of the existing plans and the design and implementation of the system will be affected. We should put them into the next version for consideration. That is, yes
The execution of the five phases starting from step 1.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.