MIS 307 - Chapter 1 - The System Development Environment
types of CASE Tools
-diagramming tools enable systems data to be represented graphically -analysis tools auto check for errors in diagrams, forms, and reports -code generators enable to auto generation of program and database definition code from design docs, diagrams, forms, and reports
The 1980s also included:
-off the shelf software -4th gen languages
SDLC
1. Planning 2. Analysis 3. Design 4. Implementation 5. Maintenance
three key principles of Agile methodologies
1. focus on adaptive rather than predictive methodologies 2. focus on people rather than roles 3. focus on self-adaptive processes
the relevant parts of eXtreme programming that relate to design specifications are:
1. how planning, analysis, design, and construction are all fused into a single phase of activity 2. unique way of capturing and presenting system requirements and design specs
RUP has 4 phases:
1. inception 2. elaboration 3. construction 4. transition
What three elements work together to form an organizational approach to systems analysis and design?
1. methodologies 2. tools 3. techniques
advantages of paid (two-person) programming:
1. more (and better) communication 2. higher levels of productivity 3. higher-quality code 4. reinforcement of the other practices in eXtreme programming such as the code-and-test discipline
Fowler recommends agile/adaptive processes if your project involves:
1. unpredictable or dynamic requirements 2. responsible and motivated devs 3. customers who understand the process and will get involved
two key emphases of eXtreme programming:
1. use of two-person programming teams 2. having a customer on-site during the dev process
Agile Methodologies
A family of development methodologies characterized by short iterative cycles and extensive testing; active involvement of users for establishing, prioritizing, and verifying requirements; and a focus on small teams of talented, experienced programmers.
RUP
Rational Unified Process
object-oriented analysis and design
Systems development methodologies and techniques based on objects rather than data or processes.
What can the SDLC be thought of as?
a circular process in which the end of the useful life of one system leads to the beginning of another project that will develop a new version or replace an existing system altogether
the output of the analysis phase is
a description of (but not a detailed design for) the alternative solution recommended by the analysis team
With eXtreme programming
all phases of the SDLC converge into a series of activities base don the basic processes of coding, testing, listening, and designing
inheritance
allows the creation of new classes that share some of the characteristics of existing classes ex: using a class of "person" to define another class of "customer"
techniques
are particular processes that analysts follow to help ensure their work is well thought out, complete, and comprehensible to others
tools
are typically computer programs that make it easy to use and benefit from techniques and to faithfully follow the guidelines of the overall development methodology
application software
computer software designed to support a specific organizational function or process
CASE Tools (acronym)
computer-aided software engineering tools
a methodology adopted by an organization will be
consistent with its general management style
In the 1950s
development focused on the processes the software performed
eXtreme programming
distinguished by its short cycles, incremental planning approach, focus on automated tests written by programmers and customers to monitor the dev process, and reliance on an evo approach to dev that lasts throughout the lifetime of the system
1990s
focused on systems integration; devs used visual programming environments, such as Power Builder and Visual Basic, to design the user interfaces for systems that run on client/server platforms
implementation can continue
for as long as the system exists b/c ongoing user support is also part of implementation
main purpose of CASE tools
helping programmers and analysis do their jobs more efficiently and more effectively by automating routine tasks
primary task of OO analysis
identifying objects and defining their structure and behavior and their relationships
What did 4th gen languages do that prior gen languages did not?
instructed a computer on what to do instead of how to do it
information systems analysis and design
is a complex, challenging, and stimulating organizational process that a team of business and systems professionals uses to develop and maintain computer-based information systems.
the goal of OOAD
is to make systems elements more reusable, thus improving system quality and the productivity of systems analysis and design
object class
logical grouping of objects that have the same (or similar) attributes and behaviors ex: "person" "customer" "product"
primary task of OO design
modeling the details of the objects' behavior and communicating with other objects to that system requirements are met
The 1960s
saw important breakthroughs in technology that enabled the development of smaller, faster, less expensive computers (minicomputers) and the beginnings of the software industry
systems development methodology
standard process followed in an organization to conduct all the steps necessary to analyze, design, implement, and maintain information systems
In the 1970s
systems development began to be viewed more as a science than an art; become more like engineering
planning
the 1st phase of SDLC; someone identifies the need for a new or enhanced system
analysis
the 2nd phase of the SDLC; the analyst thoroughly studies the organization's current procedures and the information systems used to perform organizational tasks
design
the 3rd phase of the SDLC; analysts convert the description of the recommended alternative solution into logical and then physical system specifications
implementation
the 4th phase of the SDLC; the information system is coded, tested, installed, and supported in the organization
maintenance
the 5th/final phase of SDLC; programmers make the changes that users ask for and modify the system to reflect evolving business conditions
The first procedural, or 3rd gen, computer programming languages didn't become available until
the beginning of the 1960s
the smaller and less risky a project
the more that agile/adaptive methodologies will apply
the larger and riskier a project
the more that traditional methodologies will apply
systems analyst
the organizational role most responsible for the analysis and design of information systems
logical design
the part of the design process that is independent of any specific hardware or software platform
physical design
the process by which the logical specifications are transformed into technology-specific details
In any given SDLC phase,
the project can return to an earlier phase if necessary
Systems Development Life Cycle (SDLC)
the traditional methodology used to develop, maintain, and replace information systems
objects
usually correspond to the real things an information system deals with, such as customers, suppliers, contracts, and rental agreements
The 1980s
were marked by major breakthroughs in computing in organizations, as microcomputers became key