Friday 18 December 2015

What are the different Software Reengineering Activities?

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.

What are the different types of software risks?

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.

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.

What are the different project scheduling techniques?

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
 O=optimistic time
P=pessimistic time
M=most likely time
TE =expected time

Many times software delivery is late, why? Give reason.

There are many reasons for late delivery of software few of them are as follows.
 - Deadline is unrealistic and decided by someone who has less technical knowledge about project.
- Continue requirement change.
- The numbers of human resources are less that will be required to do the job.
 - Future technical difficulties are not considered.
- Requirement is not properly provided by the project manager to the team member.
- Miscommunication among project team member that results in delays.

Describe the above resource in detail.

Human Resource:
 There are many people involved while developing software project. The important thing is that the involved people should be skilled, expert in their field and dedicated. If the project is small, few people can manage the entire software engineering task. If the project is very large it may be developed in different geographical location. So, the location of each human resource is specified. The number of people required for the project development can be determined only after an estimate of development effort (e.g., person-months) and deadline is made.

 Reusable software:

 Software components provide the reusability. Already created DLL (components) can be directly used in current software. These components have already tested and used by team members. Organization can use the third party component that is called Off-the-shelf components. Team members can use the components that are available in the organization and have full experience with its functionality. These components are called Full-experience components. If the Members of the current software team have only limited experience in the application area represented by these components and some modifications are required then these components are called Partial-experience components.

 Environmental Resources:
 Environmental Resources incorporates with hardware and software. All the necessary hardware and software should be present to execute your project smoothly.

Describe resource planning during the estimation of software project.

There are three main categories of software engineering resource: people, reusable software components, and the development environment.
 Software Project
 (i) People.
 i. Skill.
 ii. Location.
iii. Number.

 (ii) Environment.
 i. Software tools.
ii. Hardware.
 iii. Network Resources.

 (iii) Reusable software.
 i. New components.
 ii. Full-experience components.
 iii. Part-experience components.
iv. COTS (Commercial off-the-shelf)) components.