600 likes | 612 Views
Dive into the analysis and design of systems with a focus on prototyping and various software development methodologies. Learn about the Spiral Model, Rapid Prototyping, and more to enhance your project implementation skills.
E N D
Chapter 6: System Development Analyzing & designing systems Prototyping IS project types
There are many good ideas for implementing computer systems in business Bringing in a project: on time within budget as specified is very difficult State of the Industry
Code-and-Fix Waterfall Prototyping Spiral Model Rapid Prototyping Others like component assembly projects and CASE tool which involve a degree of reuse of previously developed project. Software Development Alternatives
System feasibility Boehm (1988) Software plans & requirements Product design Detailed design Code Integration Implementation Operations & Management Waterfall Model
Develop system on a small scale let user try the system User identifies needed improvement Especially good if benefits hard to identify (“better decision making”) also appropriate to compare alternatives Prototyping – (Evolutionary)
The spiral model is a systems development lifecycle (SDLC) model used in information technology (IT). This model of development combines the features of the prototyping model and the waterfall model. The spiral model is favored for large, expensive, and complicated projects. The steps in the spiral model can be generalized as follows: The new system requirements are defined in as much detail as possible. A first prototype of the new system is constructed from the preliminary design. A second prototype is evolved by a four procedure: - evaluating the first prototype in terms of its strengths, weaknesses, and risks; - defining the requirements of the second prototype; - planning and designing the second prototype; - constructing and testing the second prototype. At the customer's option, the entire project can be aborted if the risk is too great. The existing prototype is evaluated in the same manner as was the previous prototype, and, if necessary, another prototype is developed. The preceding steps are iterated until the customer is satisfied. The final system is constructed, based on the refined prototype. The final system is thoroughly evaluated and tested. Spiral Model
Some people make things happen, some watch things happen, while others wonder what has happened. Those who do not read are no better off than those who cannot. Two things are infinite: the universe and human stupidity; and I’m not sure about the universe. ~ Albert Einstein Vision without action is a daydream. Action without vision is a nightmare. If I had nine hours to chop down a tree, I’d spend the first six sharpening my ax. ~ Abraham Lincoln Failures are divided into two classes – those who thought and never did, and those who did and never thought. Quotes…..
Personnel best talent training team building Budget & schedule multiple estimates design to budget requirements scrubbing Wrong functions user surveys, prototype User interface prototyping, scenarios Risks and Responses
Excessive features requirements scrubbing Many changes high change threshold External component problems compatibility analysis, benchmarking Real-time perform simulation, benchmarking prototyping Technical limits cost/benefit prototyping Risks and Responses
- Is a software development methodology that uses minimal planning in favor of rapidprototyping. The "planning" of software developed using RAD is interleaved with writing the software itself. The lack of extensive pre-planning generally allows software to be written much faster, and makes it easier to change requirements. - It involves methods like iterative development and software prototyping. - Four phases of RAD are: Requirements planning User design Construction Cutover, testing training and installation Rapid Prototyping
Component Assembly Model (CAM) has a close resemblance with the Rapid Application Development (RAD) model. CAM uses a lot of previously made components. CAM doesn’t need to develop programs from scratch, but it will be putting together powerful components. All the developers has to do is to know what the customer wants, look for the components to answer the need and put together the components to create the program. Component Assembly Projects: typically object oriented modules Rapid Application Development: techniques for compressing the life cycle - Computer Aided Software Engineering - Joint Application Development Other Systems Development Options
Standards are the key to effective quality management They may be international, national, organizational or project standards Product standards define characteristics that all components should exhibit e.g. a common programming style Process standards define how the software process should be enacted (performed) Software Development Standards
Encapsulation of best practice- avoids repetition of past mistakes Framework for quality assurance process - it involves checking standard compliance Provide continuity - new staff can understand the organization by understand the standards applied Importance of Standards
CMM, Capability Maturity Model from the Software Engineering Institute. GAPPS, Global Alliance for Project Performance Standards- an open source standard describing COMPETENCIES for project and program managers. A Guide to the ProjectManagement Body of Knowledge. HERMES method, Swiss general projectmanagement method, selected for use in Luxembourg and international organizations. The ISO standards ISO 9000, a family of standards for quality management systems, and the ISO 10006:2003, for Quality management systems and guidelines for quality management in projects. PRINCE2, PRojects IN Controlled Environments. Team Software Process (TSP) from the Software Engineering Institute. Total Cost Management, Framework, AACE International's Methodology for Integrated Portfolio, Program and ProjectManagement) V-Model, an original systems development method. The Logical framework approach, which is popular in international development organizations. IAPPM, The International Association of Project & Program Management, guide to Project Auditing and Rescuing Troubled Projects. PM International Standards
The SEI works with industry, academic institutions and the United States government to improve the performance and reliability of computer systems by managing pilot programs, conducting tests, offering courses and providing services for licensing and publication. U.S Defence Dept. funded institute associated with Carnegie Mellon Mission is to promote software technology transfer particularly to defence contractors Maturity model proposed in mid-1980s, refined in early 1990s. Work has been very influential in process improvement SEI
There are five levels defined along the continuum of the CMM and, according to the SEI: Initial (chaotic, ad hoc, individual heroics) - the starting point for use of a new or undocumented repeat process. Repeatable - the process is at least documented sufficiently such that repeating the same steps may be attempted. Defined - the process is defined/confirmed as a standard business process, and decomposed to levels 0, 1 and 2 (the latter being Work Instructions). Managed - the process is quantitatively managed in accordance with agreed-upon metrics. Optimizing - process management includes deliberate process optimization/improvement. Maturity model levels
It focuses on project management rather than product development. It has no formal theoretical basis. It concentrate on process, but ignores people. It ignores the use of technologies such as rapid prototyping. It does not incorporate risk analysis as a key process area It does not define its domain of applicability SEI model problems (CMM)
"In times of universal deceit (deception, fraud), telling the truth will be a revolutionary act." We are what we repeatedly do. If the idiots hate you, it proves you're not one of them! Quote
maintenance conversion new systems development IS Project Types
System architecture project, strategic system plan for the organization. End user projects. Business re-engineering projects, new ways of doing business. Technology implementation. Package implementation. Mcleod-Smith view IS project differently
by far maintenance projects the most common type of IS duration training categories fixing errors minor enhancements. major enhancements, high level of design Maintenance Projects
Impact on Organization’s Master Plan biggest factor if significant contribution to revenue, more likely to have established maintenance team can contribute as revenue source (royalties) or as a production tool if less revenue impact, MORE LIKELY TO HAVE PROJECT TEAMfor maintenance Duration of Maintenance Projects
some companies use maintenance as a training ground for new employees exposure to maintenance can make an organization’s operations much clearer Training & Maintenance Projects
clear objective - complexity depends on nature of the system, error, personnel BEST CASE: small system, easily traced can assign to someone familiar with it WORST CASE: nobody familiar with system very large & complex system system evolved from earlier versions FIXING ERRORS
adding, modifying, deleting data or reports a degree of original design constrained by original design usually not under critical conditions therefore, more likely to examine alternative approaches more likely assigned to those with design capabilities, knowledge of the organization MINOR ENHANCEMENTS
design & implementation scope high wide-scale modification of existing module, or development of new module can be a collection of minor enhancements with some common characteristic need experienced personnel MAJOR ENHANCEMENTS
EASIEST IF personnel know system clear connection to a corporate goal straightforward processes CASE tool used to develop DIFFICULT WHEN new personnel hard to assess criticality of system no design & implementation standards MAJOR ENHANCEMENTS
change an existing system (not necessarily computerized) manual to computer-based one computer platform to another CONVERSION PROJECTS
closest to pure design & development major pitfalls improper specification failure to accommodate changes need knowledge of existing system, desired system, how to make transition Convert Manual to Automated
need senior management support need to convince affected employees that the change will lead to better working environment JOB REDEFINITION MAY DISPLACE EMPLOYEES- need retraining Conversion Change Management
from one computer system to another NEW JOB DESCRIPTIONS example - text only to text & image keyboard only to scanning, working with objects DATA RETRIEVAL changes Conversion to new or emerging technologies much more involved Convert to New Technologies
SIMPLEST new hardware similar to old new operating system similar to old existing applications modular vendor supplied routines for conversion WORST major change: single task to multi-task line-oriented to icon-oriented keyboard to mouse Convert to New Technologies
translate from one language to another most from 3GL (COBOL) to 4GL need experts in both old & new languages impact on data & code structure take full advantage of 4GL Language-Based Conversions
instead of sequential control, statements written as rules fired when all conditions satisfied object-oriented approaches objects control processing need expertise in old & new languages more code reuse in object-oriented Non-procedural Conversions
causes convert to new platform for marketing purposes bring in-house a formerly time-shared system purchase new computing platform most effort in converting low-level input & output processing routines Hardware-based Conversions
same vendor - little problem IBM 32 bit words with 8 bit bytes CDC 60 bit words with 6 bit bytes code (even in same language) won’t run same vendors may supply different codes BEST CASE - vendor specific I/O localized in routines supplied by vendor USUALLY some adjustments required Hardware-based Conversions
each type of system has different project management characteristics transaction processing (TPS) management control decision support systems (DSS) group support systems (GSS) executive information systems Enterprise Resource Planning (ERP) Internet Commerce (IC) New Systems Development
high volumes of quantitative data, variety of input sources drive standard reports, basis for other systems complexity arises from volume may involve complex calculations Transaction Processing
more specialized than transaction processing monitor manpower allocations monitor project activities progress monitor production levels monitor sales by region compare expected with actual if variance too great, trigger action Management Control
explore decision alternatives data from a variety of sources may include models Project Team needs expertise in models Decision Support Systems
allow multiple decision makers to work on decision problem Process oriented, their primary function is to allow people to communicate: can be different time, place Features of GSS includes: anonymity brainstorming consensus building Group Support Systems
access to data of all types both in house and external. much more subjective data, long range, such periodic government reports. INTERFACE critical drill-down data tools for details about the summary data. trend analysis - graphics & statistics exception reports Executive Support Systems
Design to serve all computing needs of an organization. Generally implemented in modules. Not trivial to implement Vendors are willing to assist. Enterprise Resource Planning
Rethinking the business and its key process Developing affordable information technology infrastructure Constructing specific internet products and services. Internet Commerce