Presentation is loading. Please wait.

Presentation is loading. Please wait.

Unit 8 Design Strategies and Refactoring. Key Concepts Design strategy deliverables Requirements and constraints Outsourcing Sources of software Platform.

Similar presentations


Presentation on theme: "Unit 8 Design Strategies and Refactoring. Key Concepts Design strategy deliverables Requirements and constraints Outsourcing Sources of software Platform."— Presentation transcript:

1 Unit 8 Design Strategies and Refactoring

2 Key Concepts Design strategy deliverables Requirements and constraints Outsourcing Sources of software Platform requirements Refactoring benefits Refactoring techniques

3 Why three? One for high-functionality high-cost solution, one for minimum functionality low-cost solution, and one for middle-of-the-road Deliverables for Design Strategy Selection

4 Features are determined from requirements. Constraints pertain to limitations on development efforts.

5 Generating a Design Strategy Divide requirements (obtained during requirements gathering and structuring) into sets of capabilities, categorized by level of necessity Enumerate different potential implementation environments (hardware and system software platforms) Propose different sourcing possibilities for obtaining the necessary software

6 What Is Outsourcing? The practice of turning over responsibility of some or all of an organization’s information systems applications and operations to an outside firm Can produce cost savings for the client, by leveraging the outsourcer’s economies of scale

7 Main Sources of Software IT Service Firms Packaged Software Providers Custom Software Producers Enterprise Solutions Software Open Source Software In-house Development

8

9 Information Technology Service Firms IBM is a leading IT service firm Help develop custom information systems for internal use Develop, host and run applications for clients Provide other services

10 Package Software Providers Microsoft is a leading package software provider Packaged software is off-the-shelf software Range from general-purpose to narrow-niche focus May be turnkey (preconfigured) or modifiable

11 Many factors go into selection of off-the-shelf software, many of which are relevant for other software purchases. Vendor support and viability are always among the most important criteria.

12 Custom Software Producers Firms like Accenture and CapGemini are leading custom software producers. Consulting firms that develop software to meet the client’s specific requirements Consulting firms are usually called when the client company does not have in-house expertise or manpower available to develop the system.

13 What Is an RFP? Request for Proposal – a document provided to vendors to ask them to propose hardware and/or software products or services that will meet the requirements of an organization’s new information system Based on vendor bids, analyst selects best candidates

14 Enterprise Solutions Software Enterprise Resource Planning (ERP) software – integrates individual traditional business functions modules enabling a single seamless transaction cut across functional boundaries SAP AG is the leading vendor of ERP systems Enterprise Application Suite (EAS) ERP system with a browser-based interface Other enterprise software solutions include: BizTalk – BackOffice information flow SharePoint – Document sharing, records management, and workflow

15 Open Source Software Freely available Includes both final product and source code Developed by a community rather than a company Examples: MySQL (database), Firefox (browser), Linux (operating system) Profit potentials: Maintenance and service Free version with fewer features, for-cost version with more features

16 Validating Purchased Software Information Use a variety of information sources: Vendor’s proposal Running software through a series of tests Feedback from other users of the vendor’s product Independent software testing services Articles in trade publications

17 In-house Development If sufficient system development expertise with the chosen platform exists in-house, then some or all of the system can be developed by the organization’s own staff Often, there are a variety of sources that are used, with in- house staff playing a role as well as consultants or ERP vendors

18

19 Hardware and System Issues Reasons to stay with old platform Reasons to change to new platform Lower cost installation Familiarity of IS staff Ease of integration with existing applications Less need for data and software conversions New components may not be compatible with old platform New platform provides opportunity for organization to improve its technology holdings New platform serves as impetus for significant business process changes

20 Example: Pine Valley Furniture System requirements categorized into mandatory, essential, and desired capabilities Constraints established Low-end, high-end, and moderate design strategies are generated Weighted approach used to compare alternative design strategies

21

22

23 Server/Object Framework is the highest scoring alternative

24 3-Tier architecture is scalable, and consists of a Web server providing the interface to the Internet in the 1 st tier, an application server running the business rules of the application in the 2 nd tier, and the corporate databases in the 3 rd tier

25 Refactoring Modify internal structure of code without changing code functionality Benefits: Code is more readable and self-documenting Code is easier to modify and maintain Code has less redundancy

26 Refactoring Process Identify Identify code smell Test Create and perform unit tests that will be used for comparison after refactoring Refactor Change structure by applying refactoring transformation Test Perform unit testing to ensure functionality did not change

27 Code Smells Literals Variable names that are not descriptive Code that is no longer used Irrelevant comments Methods that do too much Redundant code Data-only classes Classes with too many methods Remove Legacy Codes

28 Refactoring Techniques Code SmellRefactoring Technique LiteralsUse descriptive constants Variable namesReplace with names that describe the business process Unused codeDelete Irrelevant commentsDelete Lengthy methodsBreak into smaller chunks Redundant codeCreate a method Data-only classesRestructure into classes with methods Large classesBreak into smaller classes


Download ppt "Unit 8 Design Strategies and Refactoring. Key Concepts Design strategy deliverables Requirements and constraints Outsourcing Sources of software Platform."

Similar presentations


Ads by Google