320 likes | 833 Views
11. APPROACHES TO SYSTEMS-BUILDING. Learning Objectives. Appraise system building alternatives Compare strengths, weaknesses of approaches Assess solutions to problems created by approaches Describe tools, methodologies of systems development *. System Lifecycle.
E N D
11. APPROACHES TO SYSTEMS-BUILDING
Learning Objectives • Appraise system building alternatives • Compare strengths, weaknesses of approaches • Assess solutions to problems created by approaches • Describe tools, methodologies of systems development *
System Lifecycle • Project definition:is there a problem? Can it be solved with a project? • System study:analyze problems in existing systems; Define objectives evaluate alternatives • Design:logical & physical specifications for systems solution • Programming:develop software code *
System Lifecycle • Installation:construct, test, train, convert to new system • Post-installation:on-going evaluation, modifications for improvement to meet new requirements These steps are necessary for large, complex systems & projects *
System Lifecycle • Can be costly, time consuming • May encourage freezing specifications early in development • May not be suitable for small, less structured systems *
Alternative System-building Approaches • Prototyping • Application software packages • End-user development • Outsourcing *
Prototyping Process of building experimental system to demonstrate, evaluate approach; Users refine needs • Prototype:preliminary working version of information system for demonstration, evaluation purposes • Iterative process *
Application Software Packages Prewritten, pre-coded application software, commercially available for sale or lease • Geared to common requirements (significant few; Canned functions) • Customization:modification of software to meet organization’s needs (trivial many; Use programming tools) • Must weigh costs / benefits *
Selected Examples Of Application Programs Accounts receivable; Bond & stock management; Computer-aided design (CAD) ; document imaging;E- mail; Enterprise.Resource planning (ERP); Groupware; Health care; Hotel.Management; Internet telephone; Inventory control; Job costing; Library systems; Life insurance; Mailing labels; Mathematical / statistical modeling; Order processing; Payroll; Process control;Tax accounting; Web browser;Word processing; Banner *
10 8 6 TOTAL IMPLEMENTATION COSTS 4 2 0 0.5 1 2 3 4 5 % LINES OF CODE CONVERTED Effects Of Customizing Software On Total Implementation Costs
End-user Development End-users develop information system themselves, with little help from technical specialists; Using 4th generation tools (Part III of this course) *
End-user Development Strengths: • Improved requirements determination • Increased user involvement & satisfaction • Reduced application backlog *
End-user Development Weaknesses: • Relatively inefficient • Slow transaction processing • May carry high/hidden cost • Nonprocedural approach makes it difficult for others to understand or update Managers are not really programmers; Take them away from their REAL work. *
Outsourcing Contracting: • Computer center operations • Telecommunications networks • Application development To external vendors (allow others to hold you by your throat?) *
System Building Methodologies • Structured methodologies (ER approach to SDLC) • Object-oriented software development (BMIS 342) • Computer aided software engineering (CASE, BMIS 342) • System analysis and design (BMIS 444) *
Structured Methodologies Top down, step by step, each step builds on previous • Structured analysis • Structured design • Structured programming • Flowcharts *
Structured Analysis • Defines system inputs, processes, outputs • Partitions system into subsystems or modules • Logical, graphical model of information flow • Data flow diagram:graphical display of component processes, flow of data *
SYMBOLS FOR DATA FLOW DIAGRAMS (DFD): DATA FLOW PROCESS SOURCE OR SINK FILE
CUSTOMER FILE PAYMENT FILE DATA FLOW DIAGRAM: GENERATE BALANCE GENERATE BILL GENERATE REPORT CUSTOMER MANAGER
Structured Analysis • Data dictionary:controlled definitions of descriptions of all data, such as variable names & types of data • Process specifications:describes logic of processes at module level *
PROCESS A SEQUENCE PROCESS B R TRUE PROCESS E TRUE PROCESS D PROCESS C S SELECTION ITERATION Program flowchart:
1 START 2 READ PRINT >$10,000 REPORT PROCESS A <$10,000 2 MORE? PROCESS B 1 END PROGRAM FLOWCHART:
Object - Oriented Software Development • De-emphasizes procedures (“what needs to be done” rather than “how to do it”) • Shifts focus from models & data toobjects, which combine data & procedures • “Reusable” objects Reduces development time & cost *
Software Engineering • The establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines • Engineering: solution based on theoretical knowledge
Software Reengineering • Salvages & upgrades aging software • Delays expensive replacement • Reverse engineering:converting existing programs, files, database for use in new applications *
Software Reengineering • Revise design & program specifications • Forward engineering:use revised materials to generate new, structured code; Structured & maintainable system *