0
10kviews
Write Short note on: ReEngineering

Mumbai University > Information Technology > Sem6 > Software Engineering

Marks: 10M

Year: Dec 2015

1 Answer
1
228views

ReEngineering :

  • Restructuring or rewriting part or all of a system without changing its functionality
  • Applicable when some (but not all) subsystems of a larger system require frequent maintenance
  • Reengineering involves putting in the effort to make it easier to maintain
  • The reengineered system may also be restructured and should be re-documented

When do you decide to reengineer?

  • When system changes are confined to one subsystem, the subsystem needs to be reengineered
  • When hardware or software support becomes obsolete
  • When tools to support restructuring are readily available

Re-Engineering Process:

enter image description here

Economics of Reengineering:

  • Cost of maintenance = cost annual of operation and maintenance over application lifetime
  • Cost of reengineering = predicted return on investment reduced by cost of implementing changes and engineering risk factors
  • Cost benefit = Cost of reengineering - Cost of maintenance

Re-engineering advantages:

Reduced risk

  • There is a high risk in new software development. There may be development problems, staffing problems and specification problems

Reduced cost

  • The cost of re-engineering is often significantly less than the costs of developing new software

The complete Software Re-Engineering lifecycle includes:

  • Product Management: Risks analysis, root cause analysis, business analysis, requirements elicitation and management, product planning and scoping, competitive analysis
  • Research and Innovation: Definition of a problem, data gathering and analysis, identifying a solution and developing best-of-breed or innovative algorithms, verification of quality for data and results, patent preparation
  • Product Development: Technology analysis and selection, software architecture and design, data architecture, deployment architecture, prototyping and production code development, comprehensive software testing, data quality testing, and product packaging and deployment preparation
  • Product Delivery and Support: Hardware/Platform analysis and selection, deployment and release procedures definition, installations and upgrades, tracking support issues, organizing maintenance releases.
  • Project Management: Brings efficiency and productivity to your software re-engineering project by utilizing modern, practical software project management, software quality assurance, data quality assurance, and advanced risk management techniques.
Please log in to add an answer.