Implementation of Software Engineering Project Management: ▲project Manager (owner): The project manager (owner) is fully responsible for the entire project, is the person who guides, controls, manages, and standardizes the construction of a software and software/hardware system. The Project Manager (owner) is the final person in charge of the customer. ▲Software project manager (owner): the software project manager (owner) is fully responsible for all software activities of a project and controls all software resources of a project, deal with the project manager (owner) According to software conventions. ▲Software engineering group: the software engineering group is responsible for the software development and maintenance activities of a project (for example, requirement analysis, design, programming and testing) personnel (including management and technical personnel ). ▲System engineering group: the system engineering group is a group of persons (both managers and technicians) responsible for the following tasks: system requirements are defined; allocate system requirements to hardware, software, and other components; define interfaces between hardware, software, and other components; and monitor the design and development of these components to ensure they comply with their specifications. ▲System test group: A system test group is a group of individuals (both managers and technicians) responsible for planning and completing independent software system tests, the purpose of the test is to determine whether the software product meets its requirements. ▲Software Quality Assurance Group: The Software Quality Assurance Group is a group of individuals (both managers and technicians) who plan and implement project quality assurance activities, its purpose is to ensure that steps and standards of the software process are observed. ▲ Software Configuration Management Group: Software Configuration Management Group is a group of individuals (both managers and technicians) responsible for planning, coordinating and implementing formal Configuration management activities for software projects.
The overall process is as follows:
Plan phase-demand analysis phase-software development phase-test phase-completion
I. project planning stage
The draft Project Plan and the risk management plan are the first step. When there is a business opportunity, the draft Project Plan will be completed based on the preliminary business plan developed by the company's senior management, determine, analyze project risks and determine their priorities, and develop risk solutions. This stage aims to establish economic reasons for product development.
After development is determined, the software development plan, personnel organization structure definition and allocation, and process control plan will be developed.
( 1 ) Draft Project Plan
The draft Project Plan should include the product introduction, product objectives and functions, resources required for development, development time and milestones.
( 2 ) Risk management plan
That is to say, to list the items that may be wrong or cannot be determined, and to work out corresponding solutions. The earlier the risk is discovered, the more favorable the project is.
( 3 ) Software Development Plan
The purpose of the software development plan is to collect all the information required to control the project. The project manager arranges Resource requirements according to the project plan and tracks the project progress according to the schedule. Project Team members learn about their jobs, work hours, and other activities based on the project plan.
A plan can be divided into an overall plan and a detailed plan. Each task in the overall plan is a milestone, and the task must be carried out to the individual in the detailed plan.
The software development plan should also include product receivables and receivables (including identifying test cases to be developed ).
( 4 Personnel Organization Structure Definition and allocation
Common personnel organization structures are vertical, horizontal, and hybrid. In the vertical scheme, each member plays multiple roles. In the horizontal scheme, each member acts as one or two roles. The hybrid solution includes the integration of experienced personnel and new users. Select based on your skills.
( 5 ) Process Control Plan
The purpose of a process control plan is to collect all the information required for normal project execution and to guide the monitoring and adjustment of the project progress to ensure that the project is completed on time.
Ii. Demand analysis stage
The purpose of the demand analysis stage is to reach an agreement with the user in terms of system work.
( 1 ) Software Requirement Specification
Describes in detail all functions to be implemented by the system.
( 2 ) User Interface prototype
There are three Representation Methods: Drawing (on paper), bitmap (drawing tool), and executable file (interactive ).
III, Software Development Stage
This phase physically implements the target system. The object-oriented method is used.
( 1 ) Software Architecture
Describe the software's organizational structure, deployment structure, and operating environment.
( 2 ) Class Design Define associations between classes and attributes and methods of classes.
( 3 ) Database Design
Define the association between database tables and fields of each table.
( 4 ) Coding and unit testing
Code according to the design document. unit tests should be conducted for each module.
( 5 ) Integration System
Combine subsystems according to the requirements of the software organization structure.
Iv. Test phase
The purpose of the test is to find outProgram. Including: Check whether each module is running properly (refer to the design documentation), and check whether the requirements are correctly implemented (refer to the requirements documentation ). ( 1 ) Test Plan
Collect and organize testing information to provide guidance for testing.
( 2 ) Test Data
Use real data whenever possible.
( 3 ) Test report
Record the test results, describe the problem in detail, and propose solutions.
( 4 ) Help Files and user operation manuals V, Manage the software development process
You can perform the following operations:
( 1 ) Organize meetings
Discussion meetings and summary meetings.
( 2 ) Review Procedure
Reviews the work results of each stage.
( 3 ) Coordinating personnel
( 4 ) Configuration Management
Use some configuration management tools for development document management, such: Visual sourcesafe , Teamsouce And so on
VI, Specific roles and responsibilities and requirements for personnel
( 1 ) Project Manager Responsibilities:
1 , Define product goals.
2 , Develop a detailed task table for each task, track the execution of these tasks, and control them.
3 , Organize meetings to review the procedures.
4 , Based on the specific situation, you can choose and make decisions on different solutions.
5 , Coordinates the relationships between participants of various projects.
Be passionate about products and have leadership skills.
The problem can be identified correctly and quickly.
Make full use of various channels and methods to solve problems.
Able to track tasks and have a good schedule concept.
Able to work under pressure.
( 2 ) System Analyst
1 , Understand user requirements and write the software requirements specification.
2 , Create a user interface prototype.
Personnel requirements: personnel who serve as system analysts should be good at coordination and have good communication skills. Personnel in this role must have talents with business and technical knowledge.
( 3 ) Designer
1 , Define the methods and attributes of a class and their associations, and draw a class diagram.
2 , Database design.
Personnel requirements: Master Object-Oriented Analysis and Design Technologies, and unify modeling languages (UML) .
( 4 ) Programmer
Responsibilities: Coding and unit testing according to project requirements.
Personnel requirements: Good programming skills and testing technology.
( 5 ) Tester
Responsibilities: Perform the test, describe the test result, and propose a solution to the problem.
Personnel requirements: Understand the tested system, have the skills to diagnose and solve problems, and programming skills