System Design and Analysis (3)

content


short answer questions

Briefly describe waterfall model, incremental model, spiral model (including prototype method), and analyze the advantages and disadvantages

waterfall model

definition

Waterfall Model (Waterfall Model) is a project development architecture. The development process is developed sequentially by designing a series of stages. From system requirements analysis to product release and maintenance, each stage will generate cyclic feedback. Therefore, if there is information that is not Covered or found a problem, then it is best to "go back" to the previous stage and make appropriate changes, the project development process "flows" from one stage to the next stage, which is also the origin of the name of the waterfall model. Including software engineering development, enterprise project development, product production and marketing and other construction waterfall model.

advantage

  1. Provides checkpoints for projects by stage
  2. After the current stage is completed, you only need to focus on the subsequent stages
  3. The waterfall model can be applied in an iterative model

shortcoming:

  1. Very little feedback between project phases
  2. Results can only be seen later in the project life cycle
  3. Track individual project phases with a plethora of mandatory finish dates and milestones

Incremental model

definition

The incremental model incorporates the basic components of the waterfall model with the iterative features of a prototype implementation. The model employs a linear sequence staggered over time as the schedule progresses, each linear sequence producing a releasable "increment" of the software. The customer's use and evaluation of each increment serves as the release of new features and functionality for the next increment, and this process is repeated after each incremental release until the final, refined product is produced.

advantage

  • Increase customer confidence in the system
  • Reduce the risk of system failure
  • Improve system reliability
  • Improve system stability and maintainability

shortcoming

  • When establishing the initial model, it is difficult to determine the basic business as an incremental basis
  • Incremental granularity is difficult to choose

Spiral model

definition

The Spiral Model is an evolutionary software development process model that takes into account the iterative characteristics of rapid prototyping and the systematic and rigorous monitoring of the waterfall model. The biggest feature of the spiral model is the introduction of risk analysis that other models do not have, so that the software has the opportunity to stop when major risks cannot be excluded to reduce losses. At the same time, building prototypes at each iterative stage is the way the spiral model is used to reduce risk. The spiral model is more suitable for large and expensive system-level software applications.

advantage

  • Flexibility in design, changes can be made at various stages of the project
  • Build large systems in small pieces, making costing simple and easy
  • The constant involvement of the client ensures that the project does not deviate from the right direction and the project is controllable
  • The client is always up-to-date on the project so that he or she can interact effectively with management
  • Customers appreciate the good communication and high-quality products that come with this in-house approach to development

shortcoming

It is difficult to convince users that the results of this evolutionary method are controllable, the construction period is long, and the software technology develops rapidly, so it often occurs that after the software development is completed, there is a large gap with the current technology level and cannot meet the current technical level. User needs.


Briefly describe the three characteristics of the unified process, what is the relationship with the object-oriented method?

Three characteristics of the unified process

  • User-centric
    Use case analysis as a software technique is far more complex than functional decomposition. Most requirements personnel do not have the ability to write use cases, and most users cannot understand use cases. Therefore, in the interaction process, the traditional "Requirements Specification", which is mainly based on the function list description, is more widely used.

  • Architecture as the focus
    For systems with very complex business logic, it is necessary to create a robust architecture. But for some systems with relatively simple business logic and complex user interaction logic, it seems unnecessary to overemphasize the architecture. For example, for a website with many modules, each module is relatively independent, accessing its own table and maintaining a set of use case diagrams, class diagrams, and sequence diagrams becomes cumbersome.

  • Another driver of risk-driven
    UP is risk, because if you don’t proactively anticipate and guard against risk, risk will attack you proactively. UP needs to analyze, predict, and focus on the construction of software risks in software development.

Unified Process is an object-oriented software development technique that provides guidance on the organization and implementation of software development processes.


Briefly describe the criteria for dividing the four stages of the unification process? What are the key milestones in each phase?

Criteria for the classification

The unified process is divided in time into four sequential phases according to their work and iterations.

Stage Key Milestones

The initial phase

The initial phase ends with the first important milestone: the Lifecycle Goal Milestone.

Judging criteria for the initial stage:

  • Stakeholders agree on scope definition cost schedule estimates
  • Demonstrate understanding of requirements with objective primary use cases
  • Cost/Schedule, Prioritization, Risk, and Credibility of the Development Process
  • Depth and breadth of architectural prototypes being developed
  • Comparison of Actual Expenditure with Planned Expenditure

refinement stage

The end of the refinement phase is the second important milestone: the structural milestone of the life cycle. At this point, examine the detailed system goals and scope, choice of structure, and resolution of major risks.

Key audit criteria include answering the following questions:

  • Is the product blueprint stable?
  • Is the architecture stable?
  • Does the executable demo show that the risk elements have been addressed and reliably resolved
  • Is the plan for the build phase detailed and precise enough? Is it supported by a solid audit base?
  • Do all stakeholders agree that the blueprint is achievable if the current plan is to be executed in the existing architectural environment to develop a complete system?
  • Are actual and planned expenses acceptable?

build phase

The end of the creation phase is the third important project milestone (the initial functional milestone). At this point, decide whether the software, the environment, and the users can function without exposing the project to high risk. This release is also often referred to as the "beta" release.

The main audit criteria during the construction phase include answering the following questions:

  • Is the product stable and mature enough to be released to users?
  • Are all stakeholders ready to hand over to users?
  • Is a comparison of the actual cost to the planned cost still acceptable?

delivery stage

At the end of the delivery phase is the fourth major project milestone, the product release milestone. At this point, decide whether the goal has been reached or start another cycle. In many cases, milestones overlap with the initial phases of the next cycle.

The review criteria for the release stage mainly include the following two questions:

  • Are users satisfied?
  • Is a comparison of the actual cost to the planned cost still acceptable?

Why can software companies produce software products at a fixed rhythm and release software products in a fixed cycle? What benefits does it bring to enterprise project management?

Because the unified process is an iterative and incremental process, there are four stages: initial stage, refinement stage, construction stage, and delivery stage, and at the end of each stage, a corresponding target evaluation needs to be carried out to determine whether it can enter the next stage. stage. The RUP iteration cycle clarifies the milestones and goals of iterations in different stages, supports CI/CD version delivery, and provides the possibility for a fixed project cycle. Using the flexibility of the software product scope and planning the scope reasonably (20% business determines 80% satisfaction), software production runs at a fixed rhythm, with a fixed iteration cycle, a fixed development cycle, and a fixed upgrade cycle. Therefore, software companies can always produce software products at a fixed rhythm and release software products in a fixed cycle.

The benefits of this are: it can improve the production capacity of the software team, establish a very clear process structure, and each stage has clear milestones and judgment standards, which ensures the quality of the software and improves the efficiency of software production. .


TAPD is easy to use

Create project

1568213-20190416221838470-998724796.png

invite members

1568213-20190416221937950-1017368348.png

Use signboard

The use of Kanban is similar to that on Github, including creation, use, etc.
1568213-20190416222134151-384608146.png

Documentation usage

Documents can create word documents, mind maps, etc., or download
1568213-20190416222249741-1098571985.png

report

The tasks of the agile project can be followed up in the report
1568213-20190416222350136-690419508.png

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324144720&siteId=291194637