Every organization has some process to develop the software.
Software Engineering Institute (SEI) has developed a model that provides the different levels of process maturity. In this model, in every level there are some key activities required at different levels of process maturity.
There are five level of capability maturity model (CMM):
Reel suggests these five-part commonsense approaches to software projects:
Program evaluation and review technique (PERT) and the critical path method (CPM) are two project scheduling methods that can be applied to software development. CPM provides critical path to analyze project and duration. PERT uses
TE = (O + 4M + P) / 6 formula for the expected completion time. Where
M=most likely time
TE =expected time
Describe the risk in software engineering.
Risk is a potential problem, it may come or it may not come while developing the software. Risks are uncertain. It is a good idea to analysis the risk, what is the chance to occur the risk, what will be the impact on the project and what are the positive planes to overcome of these risks is. There are two types of risk strategies: Reactive risk strategies and proactive risk strategies. In reactive risk strategies software team come in action when something goes wrong. A proactive risk strategy starts with long before technical work is initiated. Potential risks are identified and their impacts are analyzed. Then, the software team establishes a plan for managing risk.
The CSFs (critical success factors) for a successful software project management are listed blow:
The different types of risks are as follows:
Project risks: This type of risk can destroy your project plan. The release date of project may postpone further and cost will increase.
Technical risks: Due to technical risk implementation may become difficult or impossible. Technical risks identify different types of problem such as design, implementation, interface, verification, and maintenance problems.
Business risks: There are different types of business risk such as market risk, strategic risk, sales risk, management risk, budget risk.
It is a set of activities that are collectively called project planning.
In project planning a software company considers the following points:
The functions and features that are to be delivered to the customer is called the scope of the project. Performance, user interface design, and constraints should meet the customer requirement. Software scope is can be developed after communication with all members those are directly or indirectly involved in the project.
Different software activities are as follows:
Inventory analysis: The inventory is nothing but a type of spreadsheet model that contain detailed description of every active application. It should be updated in regular time period.
Document restructuring: Legacy system can have poor documentation or there is no documentation. Organization prepared documentation for better understand of system but is very time consuming.
Reverse engineering: It is used to extract design information from source code. We can understand the system by using reverse engineering.
Code restructuring: In legacy system some module have very poor coding pattern so it is very difficult to understand, test and maintain. In such cases, those module have coding problem, can be restructured.
Data restructuring: When data structure is weak, the data are reengineered. A program with weak data structure will be difficult to accept and enhance.
Forward engineering: Forward engineering is used to recovers design information from existing software and uses this information to change the existing system. It will improve the overall quality of the system.
It is a set of structured and related activities which are performed to achieve a specific business goal.
They can be categorized into 3 sub categories: