OOAD & UML

zhaozj2021-02-16  98

1.1 Complexity of software development

The complexity of software development is the experience of software design and developers. Specifically:

? It is difficult to accurately express user needs

User needs often change during development

User needs often showed a lot of text, it is difficult to understand and rush

sudden

? It is difficult to find the complexity of large application projects

? The ability to handle complex phenomena in human beings

? It is difficult to estimate the performance effect of the final output and whether it can meet the expectations of users

The biggest challenge encountered by the designer is to select the hardware in the solution.

Piece

In addition to overcoming the above complex issues, the software system should also have the greatest compatibility and expansion.

Sex.

Develop successful software regardless of the user's demand perspective, or from the perspective of technology

It can have a change in the environment, called software compatibility. For example: for a bank

Developed software can do not modify or have a little modification can be the other bank

use.

• The scalability means that the software starts customization and design, emphasizing that the existing system is not loaded.

Under the premise of great changes, the software can be easily developed.

1.2 Software Lifecycle

Software Lifecycle (SDLC) refers to the analyst, designer and users in order to open

A series of behaviors that are issued and implemented by an information system can be divided into several different stages.

Analysis staff, study customer and user needs, and define the problem domain. Determining companies

How to use staff, management methods and computer technology to achieve commercial development,

The system will be requested for the system.

Design system from database structures, interfaces, forms, and reports. Indeed

The hardware and software configuration required for the development system.

• End users developed by user systems.

1.3 SDLC development phase

The entire software life cycle can be roughly divided into 7 phases, including:

1.3.1 Preliminary investigation (feasibility study)

Preliminary investigation is the first stage of system development. The main purpose of this stage is to determine

The user is now in the lack of work environment and its needs. An important result of this phase survey is to determine

Whether the system development is feasible. Feasibility is determined by the following factors:

• Can the developer organization itself provide users with the technical resources or techniques you need, or

User needs can be met through the market.

• Is the system feasible in economic and financial.

• Once the software is installed, the user can generate efficiency using the software.

The initial investigation of the final document is called a feasibility study. According to the feasibility study,

The user indicates whether it will eventually accept the proposed project. If the user accepts, you can carry out the needs of the project.

Ask the analysis phase.

1.3.2 Demand Analysis

Demand analysis includes detailed analysis of current business systems, analyzing the current status and needs of its work

Change. In addition, it also includes different operations of the system and their connection to the internal and external systems.

Have an analysis. Systems analysts and users are closely working at all stages. So produced

The need is the characteristics of the new system.

Detailed document generated by demand analysis is called a demand manual.

1.3.3 system design

After the system analysis is complete, the user's demand becomes very clear. The next stage is the needle

Do specific design for new requirements. Design phase specifies the specific needs of demand instructions

Implementation.

The main operations in the design phase are:

? Determine data project format and data elements

? Determine the report and results that the new system should output

• Rough depiction system completes the format and layout that should appear during the stage. Can be used

What kind of automated system design tool is completed on paper or on a computer screen

The curtain is shown.

• Determine the data elements and tables that create the database.

? Computer processing method, describe all from the data input to get the output result

Process.

The detailed document produced by the design phase is called the design manual. Detail design of the system

Give the programmer to develop commercial software.

1.3.4 software construction

This phase completes substantive project build (programming). Program use test or virtual number

According to one test one by one. At the same time, the programmer should also prepare the program instructions to explain with each operation.

Programming methods and causes of specific blocks. The main operations in the software construction phase are:

Build a real software code

Unit Test: Referred to as UT, which is a test of programmers who build systems.

Before you need to make a unit test plan, which should include code testing expected results. According to the nature of the test, the term system development is called white box test.

Independent Unit Test: In this operation, a group of people with this programming is not

It is the programmer to do test. Test also measured according to the unit measurement provided in the previous operation

Try plan.

1.3.5 system test

After each program unit is finished, the system needs to be tested as an overall test.

In the overall test phase of the system, all software modules set into a whole and test to ensure energy

Successful execution. Require the system to perform the corresponding work corresponding to the demand specification

Can, and generate user expectations. Enter a special test data into the system, analyst

Whether the results will be deviated with the expected results.

1.3.6 installation is enabled

In this stage, the development of the developed system is installed in user venues. Officially

Before used, you need to perform the following operations:

• Training user usage system

• Provide a data file required for system build

1.3.7 system maintenance

Since the environment is constantly changing, the software will timeproof, it needs to be modified and enhanced to improve the efficiency.

System maintenance operations varies depending on the size of the modification and enhancement.

1.4 Typical SDLC process workload distribution

There are several different schools and statements for calculating different stages of SDLC. However

In a typical SDLC, the final working volume distribution of each stage is close to the following ratios.

Analysis and design: 40%

Development: 40%

Test: 20%

1.5 system analysis

Systematic analysis refers to systematic needs by comprehensive research on the system. Stage

Segment helps to accurately master the needs of the system to implement, and correctly define the problem domain. system

Determine the specific content of software development in the analysis phase.

After the correct understanding of the problem to solve, you can enter the next stage - design

stage.

So far, the most important stage in programming work is an accurate understanding of the system. This order

The segment is accomplished by the system analyst.

What is the content you want to do during any problem? " Analysis is

A series of work to answer this question.

Analysis is an important phase of the SDLC and is the basis for all development. However, the analysis stage

What is it? That is, what is the end criterion of the analysis phase? (EXIT criteria)

It can be understood as achieving the target)

1.6 End of the system analysis phase

Analysis results should be:

? Determine the content you want to do

• Study the content to be done to determine all the elements involved.

From the real world perspective, establish a corresponding model for the current resolution problem.

• Submit a defined question to the application domain expert

1.6.1 Application field experts

Ideally, any development work should seek the cooperation of experts in the application. application

The field experts are more likely to analyze problems from deep levels, and experts in the application areas do not have to

It must be programmers, their task is to ensure that programmers can fully understand the user's needs

begging.

Therefore, after the end of the system analysis phase, the elaboration of issues that need to be solved should be

Let applies expert and user understand.

1.7 Construction Model (Architecture ParaDigms)

There are three recognized software development models in the current computer science field. These include:

? Process: It is the initial way to solve problems with computers, this traditional design party

The method is based on functional decomposition. For example, the money process can be decomposed as the following steps.

: Fill in the cash withdrawal, give the sanner, verify the signature, if the signature

In line with the necessary inspections, such as whether the account is balanced, and so on?

More popular object-oriented development languages ​​have Cobol, C and Basic.

Object-oriented: Object-Oriented Model Main Thought is to map the objects in the real world

For the composition elements in the problem domain, use the computer to solve the problem in the problem domain.

question. The so-called OO method is the best way to provide computer solutions in the world today. The problem that needs to be solved is decomposed into a number of pairs obtained from real world maps.

Icon. For example, an example of the above withdrawal can also be performed with a process-oriented method.

If you can see an account, a cashier, a customer in an object-oriented method?

And other concepts of real world objects are confirmed by one by one, and the problem is surrounded.

Conduct entities around these real worlds.

Expressing object-oriented models: Simula, SmaiInek, C , Java

Wait.

? Knowledge and neural network: In the past half century, people have been trying to make

The computer can think about human beings, which is artificial intelligence (AI). This model collection is now

Method of real world human processing issues, using computer to simulate human thinking

Data and concluded. Realize this model of language with RETE and CLPs.

All stages of the SDLC can be applied to the above three models, however

Exhibition, object-oriented models quickly showed significantly better trend for process modes.

Knowledge and neural networks are also in the experimental stage, not suitable for commercial and technical field applications.

Therefore, it is clear that the current industrial development focus should be an object-oriented model.

1.8 From the perspective of object-oriented model, see various stages of SDLC

After determining the model of software development, you need to focus on how to implement this model.

Design and Implementation of Software Development in SDLC. However, in some inevitable environments,

There can be special cases, such as some system modules and old-oriented interfaces.

1.8.1 Object-Oriented Analysis (OOA)

Definition: Object-Oriented Analysis (OOA) is the accuracy and conciseness of the establishment of user understandable

The process of mapping models, this model is established and concise for real world object entities and concepts.

Mapping.

In OOA, the problem model corresponding to the real world prototype is required. In addition,

Non-programmers should also be able to understand the definition of the system. In other words, object-oriented analysis focuses on

Emphasize the expression from real world prototype angles.

OOAD method requires objects in the designated problem domain in the real world in the design

And entities, such as customers, cars and sales staff, etc. This requires design to connect as much as possible.

Near the world, that is, the entity is expressed in the most natural way. So the advantages of object-oriented technology

To build a problem model corresponding to the real world, and maintain their structure, relationships,

Behavior is mode.

For example, in the model of automobile transactions, analysts need to determine the following entities:

Customer, salesman, order, car

Analysts also have to determine the related features, interactive operations, and interrelationships between each entity.

In many cases, it is necessary to build the objects and behavior of the real world into a system.

The operation is implemented on a computer. For example, the operating system required in the following auto exchanges. System to solve

What is the problem? First consider the transaction process and the corresponding different operations.

? Salesman leads customers to visit the showroom

? Customers choose a car

? Customer provides orders

? Customer car payment

? Car consignment to customers

Another example about the savings bank, the analyst should define the entity:

• Account type: ATM, deposit, liquidity fund, fixed funds, etc.

Bank customers, candidates

? Computer Department

This analysis determines the related features, interaction operations, and interrelationships between the entities.

? New customers open a savings account

? Turn money from the cash account to the regular account

? Turn the savings account to the ATM account

This analysis method of building a real world and computer is an object-oriented analysis.

The biggest advantage.

1.8.2 Object-Oriented Design (OOD)

Definition: Object-Oriented Design (OOD) program is organized into an object entity set

The process, each object entity represents an instance of the class, and all classes are a class layer

Members in the secondary structure, all members are organized together through inheritance.

The main purpose of object-oriented design should enable the results obtained in the analysis phase to realize the environment in Non-functional requirements (Implementation)

Environment, performance requirements, etc., for the mandatory restriction of the system, is formed. OOD

It is seen as an object-oriented analysis (OOA) refinement.

It emphasizes optimization solutions to ensure that all needs are met.

In the OOD phase, designers want to define a responsibility, operational properties, and

Relationship and adjust these classes to adapt to the requirements of the development environment. At the same time

Planning database and application standardization technology.

Some pictures should be obtained at the end of the OOD phase. These patterns can be divided into static and dynamic two

. Static chart expression class and object, and dynamic chart expression class relationship and determine them

Accurate operation. These classes can be embedded in a smaller package in a subsequent development phase.

Or in the subunit of the application.

1.8.3 Object-Oriented Programming (OOP)

The construction phase of the SDLC can be implemented by object-oriented programming (OOP). in other words,

Object-oriented programming is an object-oriented design using a language-oriented method

the process of. A object-oriented programming framework is jointly provided above two stages. Support OOP language

There is C , VB and Java. The results of this stage are a series of executable code, and then

A variety of different quiz can be released.

1.9 Use the advantages of object-oriented models

The advantages of using object-oriented models are:

Object-oriented method analysis, design and the concept of terminology and conceptual perspective in the application domain

Implementation, there is a close connection between implementation and reality issues. For example:

In the case of a car transaction, the system analysis, the various stages of design, even in the implementation order.

During the participation of customers, sales and other personnel.

• In the new application implementation, object-oriented methods can provide object multiplexing. This pair

The development cost reduction is very important. For example, a customer conducts a certain item

After the behavior modeling of operation, this behavior of any customer can be created.

Model.

• It is greatly reduced because you can reuse objects, errors, and maintenance problems.

Because the object has been tested and tested.

• The multiplexing of the object can reduce the time of software design and development.

• Since the object-oriented method is consistent with human thinking, it helps to ensure human

Cognitive ability.

• Object-oriented methods use data packages to solve some and data related development and

Maintenance problem. Data encapsulation technology, by allowing only function call processing data sets

Ensure that the data is not affected by the error code operation, thereby ensuring the effectiveness of the data.

• Object-oriented analysis and design helps handle complexity of software development, help students

Software systems with good adaptability and elasticity.

1.10 software model

Review the end criteria of the system analysis phase, we reiterate must establish to implement

The complete model of the system. This model must have practical significance and can be understood by the user.

The model is used to determine the authenticity of the user to the system, which helps to determine the feasibility of the system.

For a long time, the importance of models in all engineering disciplines is obvious.

It is necessary to draw a sketch to describe its appearance and function. For example, the drawing is some entities

Model. The model is a description of the entity, and the entities are at different stages, such as design order.

Segment, build phase, or just a preliminary design. Designers must create a model

Describe the various parts of the design. The model is further divided into different views. Every look

The figure shows a specific aspect of the design or to build a system. The model is divided into several different stages.

Add appropriate details at each stage.

The model often uses visualized language, which means that the graphic symbol table is often used.

. The graphic symbol has the characteristics of simple understanding, strong comprehensive. Just like in other engineering fields

Like the specific steps to establish a model before specific implementation of the software.

The model is a simplification of the real world. The establishment model is to better understand the development

system. It helps to comprehensively understand complex systems. System modeling helps to achieve the following purposes:? Modeling helps to visualize the system according to the system itself or by demand.

? Modeling helps to determine the structure and behavior of the system.

? Modeling templates for the developer build system.

? Modeling record developers are the decisions made in the later use.

1.11 Model Evolution (Model Wars)

In the early 1980s, only the object-oriented language was SIMULA, in the late 1980s,

SMALLTALK and C and other other object-oriented languages ​​are gradually realized, and they are alive.

To the needs of the object system and software modeling. The following is listed in the 1990s to teach as popular modeling

Language.

GRADY BOOCH BOOCH Model Method

Object-oriented technology, OMT, James Rambaugh

Ivar Jacobson OOSE Method

Hewlett-packard's fusion method

OOA and OOD of COAD and Yordon

Each method has its own unique processing method, process and tool, both of them and

Short, it is difficult to evaluate which suitable. Experienced developers often start using a party

The method is constantly absorbing the advantages of other methods during the development process. In fact, between different methods

The difference is not important, because these methods have gradually been gradually in the same direction over time.

development of. Current model experts have decided to set the advantages of these model technologies.

1.12 UML is born

People have more and more discovered that it is necessary to establish a public and standard parties built by an object model.

law. Requires a set of standard definitions and icons to clearly express design decisions. For this

Target, James Rumbaugh, Grady Booch and Ivar Jacobson have made groundbreaking

Work hard and provide a set of graphics, chart representations.

The result is a unified modeling language, a UML.

UML is a modeling language that is an object-oriented method to express a graphic for system design.

The representation is used to visualize the expression, narrative, constructing and recording different aspects of complex software.

Say.

UML is used to build users. Light between analysts, designers and software developers

Loose dialogue.

Companies currently participating and committed to UML are:

? Hewlett-Packard

Microsoft

? Oracle

? IBM

Unisys

UML is the result of the entire computer industry, which is set for object-oriented development.

standard.

From the above-mentioned companies, it can be seen that all industries and hardware brains are

Strive to develop this standard. This standard is gradually molding, but it also needs continuous continuous

Effort. Successful in the process of modeling large complex systems. Quote OOAD and

Introduction in the UML field

"Good (standard) expression can focus on reducing unnecessary mental work

Solve more advanced or more creative issues. (By relieving the brain of

Unnecessary Work, a Good (Standard) Notation Sets It Free To

Concentrate On More Advanced and Creative Problems.) "

1.12.1 Using UML in an object-oriented model

UML is used to model many different systems. Can be used at different stages of software development

UML, from the requirements of the requirements to the software implementation and maintenance phase. The ultimate goal of UML is

Use an object-oriented diagram to describe any type of system. Software development has several types:

Information system: a database related to a database

Technical system: processing and control technology equipment

Embedded system: Controlling equipment such as mobile phones, household appliances

Distribution System: Use CORBA or other similar object-oriented mechanism

According to library system

System software: for operating system and development system drivers

Business system: system related to workflow

1.12.2 Correspondence between UML and SDLC

Review the SDLC cycle, you can see the Application of UML in different stages of system development. Preliminary investigation: UML use examples describe the needs of customers. Each use case uses a document

Describe the specific needs of the user in detail. UML use case diagram Description and system relationship and pass

News.

Analysis stage: In this stage, it is mainly to be abstract, understanding its interior.

Operating mechanism. Class expressing the object of the real world and describes their existence and interrelationships.

The class existing in the problem domain is considered during the analysis.

Design phase: in the design phase, the results of the results of the analysis phase propose technical solutions

case. Refine modeling for classes and propose a technical framework, such as user interface, object-oriented

The permanent object and system interface of the database, etc. This phase finally produces details for system implementation stages

Instructions for documentation.

Development: The design model is converted into a true code in this stage. Programmer is used

Different UML diagrams and development code generated by the stage.

Test: UML has many different figures available for software testing, unit testing class diagrams

And class definition documents. Integrated test uses a collaboration map, and system test use case diagram, use case

The graph can be used to confirm the system behavior expected by the customer.

1.13 UML Overview

This section is mainly UML overview. Briefly introduce different components of UML, explaining

Wave and structure.

In general, different components of UML have

? Views (Views)

• Diagrams

Model elements (Model Elements)

• General Mechanisms.

1.13.1 UML view

"To View" means "observation" and "inspection". Different people, such as users, system development

Neutral observers can see the system from different angles. For example: the user is input from the data

The process of output to observe the system;

System developers look from the system structure and its data stream angle. Neutral commentator

User users who are not systematic are also unrelated to system development, so it only doesn't have any observation department.

System.

System developers use UML charts to express his views on some systems. Software system usually

It can be described from many different perspectives, such as functional, non-functional, and organizational, etc.

Many views need to describe this information. The system has two aspects of dynamics and static. therefore,

There are also two types of views: dynamics and static. When viewed from the system static angle, the view is called

For a static view; a view is called a dynamic system when viewed from a dynamic perspective. Make up dynamic view

The table describes the behavior of the system.

1.13.2 UML map

If you want to understand the map in UML, you must first understand the concept of mode in UML.

UML defines the model as a comprehensive description of the system from a particular angle. Each system model

Types usually have several chart types. The figure is part of a particular view, and after the drawing, it is classified in a certain

A picture.

Different in different charts can be part of several different views. UML

Figure can see two view series. The views mentioned above can be divided into two categories: dynamics and static. and so

The chart can be classified in any view.

转载请注明原文地址:https://www.9cbs.com/read-13178.html

New Post(0)