Chapter 10 Notes CIS 310 PDF

Title Chapter 10 Notes CIS 310
Author GARRETT POTVIN
Course Management Information Systems
Institution California State Polytechnic University Pomona
Pages 7
File Size 233.2 KB
File Type PDF
Total Downloads 28
Total Views 145

Summary

Download Chapter 10 Notes CIS 310 PDF


Description

Chapter 10: Information Systems Development Programming   

Software is created via programming Programming is the process of creating a set of logical instructions for a digital device to follow using a programming language Programming process is sometimes called “coding” because the syntax is not in a form that everyone can understand

Systems-Development Lifecycle 

Systems-Development Life Cycle (SDLC) – a methodology first developed in the 1960s to manage the large software projects associated with corporate systems running on mainframes o Structured and risk-averse methodology designed to manage large projects that included multiple programmers and systems that would have a large impact on the organization



SDLC is sometimes referred to as the waterfall methodology – each step is a separate part of the process, and only when one step is completed can another step begin After each step, an organization must decide whether to move to the next step Critisisms o Quite rigid o Projects can take months or years to complete

 

Rapid Application Development 

Rapid Application Development (RAD) – a software-development (or systems-development) methodology that focuses on quickly building a working model of the software, getting feedback from users, and then using that feedback to update the working model o After several iterations, final version is developed and implemented



Step 1: Requirements Planning o Overall requirements for the system are defined, a team is identified, and feasibility is determined Step 2: User Design o Representatives of the users work with the system analysts, designers, and programmers to interactively create the design of the system o Design system in JAD (Join Application Development) sessions Step 3: Construction o As the user design is being created, programs are being created with the ability to still make changes o Application developers working with users build the next version of the system o Changes can be made as developers are working on the program Step 4: Cutover o Go live and placed in production o System is completed Benefits: o Much more compressed than SDLC o Many of the SDLC steps are combined o Focus on user participation and iteration o Better suited for smaller projects than SDLC o Advantage of giving users ability to provide feedback throughout the process o Quicker









Agile Methodologies   

 



Agile Methodologies – group of methodologies that utilize incremental changes with a focus on quality and attention to detail Each increment is released in a specific period of time called a time box, creating a regular release schedule with specific objectives Shares some principles with RAD o Iterative development o User interaction o Ability to change Based on “Agile Manifesto” which was first released in 2001 Characteristics of agile methods include: o Small cross-functional teams that include development-team members and users o Daily status meetings to discuss the current state of the project o Short time-frame increments (from days to one or two weeks) for each change to be completed o At the end of each iteration, a working project is completed to demonstrate to the stakeholders Goal is to provide the flexibility of an iterative approach while ensuring a quality product

Lean Methodology 

  



Focus is on taking an initial idea and developing a minimum viable product (MVP) o MVP is working application with just enough functionality to demonstrate the idea behind the project Works best in entrepreneurial environment where a company is interested in determining if their idea for a software application is worth developing Change in strategy of MVP is called a pivot Feedback is generated in two forms o Direct observation and discussion with users o Usage statistics gathered from the software itself Usually requires several iterations as the team uses the feedback to determine whether to continue in the same direction or to “pivot” in a new direction

Quality Triangle  

Decisions are made during development that affect three factors – time, cost, and quality Quality triangle states that for any product or service being developed, you can only address two of the following factors. Compromise/tradeoffs required. o Time – spend more or less time on a project o Cost – spend more or less money on a project o Quality – meets or doesn’t meet requirements. Minimal or no bugs at implementation.

Programming Languages  

Used to develop new systems Multiple generations of programming languages

First-generation languages are called machine code  Programming is done by directly setting actual 1s and 0s using binary code  Very specific instructions have to be entered line by line o Second-generation languages (Assembly)  Gives English like phrases to the machine code instructions making it easier to program  Must run through an assembler which converts it into machine code  Very specific instructions have to be entered line by line o Third-generation languages  Not specific to the type of hardware on which they run  Much more like spoken languages  Most must be compiled, a process that converts them into machine code  Examples of languages:  BASIC  C  PASCAL  Java o Fourth-generation languages  Enable fast application development using intuitive interfaces and environments  Most have a very specific purpose, such as database interaction or report writing  Tools can be used by those with very little formal training in programming  Allow for quick development of applications and/or functionality  Examples of languages:  Clipper  FOCUS  FoxPro  SQL  SPSS Lower level languages such as assembly language are much more efficient and execute much more quickly and have finer control over the hardware as well o



Compiled vs Interpreted  

Compiled language – program code is translated into machine readable form called an executable that can be run on the hardware (Example: C, C++, and COBOL) Interpreted language – requires a runtime program to be installed in order to execute which then interprets the program code line by line and runs it



o Generally easier to work with, but is slower and requires more system resources o Examples: BASIC, PHP, Perl, and Python o HTML and Javascript are also considered interpreted because they require a browser Java is a hybrid of the above two. Java is partially compiled to a program that can be run by the java virtual machine.

Procedural vs. Object Oriented 



Procedural language – allows a programmer to define a specific starting point for the program and then execute sequentially o All early programming languages Object oriented programming language o Setup so that the programmer defines objects that can take certain actions based on input from the user

What is COBOL? 

A procedural, compiled language that at one time was the primary programming language for business applications

Programming Tools Integrated Development Environment (IDE) 







Provides a variety of tools for the programmer o An editor for writing the program that will color-code and highlight keywords from the programming language o A help system that gives detailed documentation regarding the programming language o A compiler/interpreter, which will allow the programmer to run the program o A debugging tool, which will provide the programmer details about the execution of the program to resolve problems in the code o A check-in/check-out mechanism, which allows for a team of programmers to work together on a project without overwriting each other’s code Most popular IDE is Microsoft’s Visual Studio o Visual studio is the IDE for all of MS programming languages  Visual BASIC  Visual C++  Visual C# Computer-aided software-engineering (CASE) – allows a designer to develop software with little or no programming. o CASE tool writes the program for the designer o Goal is to create quality code based on input created by the designer IDE vs CASE o IDE provides tools to assist writing the program and code must still be written o CASE has little or no programming

Building a Website 

In early days, making a website required a knowledge of HTML

 

In present, most websites are built with a variety of tools, but final product transmitted to browser is still HTML (and CSS) While HTML is used to define the components of a webpage, Cascading style sheets (CSS) is used to define the styles of components on a page

Build vs. Buy  



Company must decide whether to build a software program themselves or purchase from an outside company Purchasing software from an outside company vs. Building in-house o Advantages:  Generally less expensive to buy vs. build  Off the shelf software available much more quickly than if it were built in-house  Software packages can take years or months to build  Purchased package has already been tested and had bugs worked out  Purchased package can be up and running in a month o Disadvantages:  If purchased, same software you are using can be used by competitors  Difficult to differentiate business process if purchased package since competitors use same software  Must customize purchased package and maintain customizations Role of systems integrator to make various purchased systems and existing systems at the organization

End-User Computing    



Refers to systems in which nonprogrammers can create working applications Others (Non-IT) develop their own solutions that are not trained in programming or software development Needs to be managed and guidelines established Advantages: o Development is closer to those that will use the application o May receive the application sooner than if it was from IT Disadvantages: o Several applications may perform the same functions which may or may not have the same results (duplication of effort) o May not be fully tested and bug-free o Data is not always backed up

Testing  

Critical part of any development project to detect and fix bugs before the system is implemented Process: o Unit testing  Done by programmer for their standalone modules o System testing

o

 Done once the individual units are bug free  Integrated with other bug free modules and tested as a whole User acceptance testing  Conducted by end-users on meeting requirements  Any bugs, errors, or problems are retested

Implementation Methodologies  

Several different methodologies an organization can adopt to implement a new system. Four of the most popular: o Direct cutover – organization “cuts over” on a specific date from the old system to the new system. Very fast and least expensive. Riskiest method. o Pilot implementation – pilot group starts using new system before the rest of the organization. Allows support teams to focus on smaller groups of individuals o Parallel operation – old and new systems are used simultaneously for a limited period of time. Least risky. Most expensive because work is duplicated and support is needed for both systems. o Phased implementation – different functions from the new application are used as functions from the old application are turned off. Allows organization to slowly move from one system to another.

Change Management  

All proposed changes should be communicated to all affected personnel including IT IT should be managing which code has been tested and signed off by the end users prior to implementation (critical component of IT oversight)

Maintenance  

Changes need to be made when bugs are found and new features are requested IT management must ensure that the system continues to stay aligned with business priorities and continues to run well...


Similar Free PDFs