Approaches to System Development
Agile Modeling Principles
-develop software as your primary goal -enable the next effort as your secondary goal -minimize modeling activity - few and simple -embrace change, and change incrementally -model with a purpose, build multiple models -build high quality models and get feedback rapidly -focus on content rather than representation -learn from each other with open communication -know your models and how to use them -adapt to specific project needs
Manifesto for Agile Software Development
-value responding to change over following a plan -value individuals and interactions over processes and tools -value working software over comprehensive documentation -value customer collaboration over contract negotiations
Walking Skeleton
a development approach in which the complete system structure is built with bare-bones functionality
Structure Chart
a graphical diagram showing the hierarchical organization of modules
Agile Development
a guiding philosophy and set of guidelines for developing information systems in an unknown, rapidly changing environment
Agile Modeling
a guiding philosophy in which only models that are necessary, with a valid need and at the right level of detail, are created
Structured Programming
a programming approach where each module has one start point and one end point and uses sequence, decision, and repetition constructs only
System Development Methodology
a set of comprehensive guidelines for the SDLC that includes specific models, tools, and techniques
Integrated Development Environments
a set of tools that work together to provide a comprehensive development and programming environment for software developers
Tool
a software application that assists developers in creating models or other components required for a project
Data Flow Diagram
a structured analysis model showing inputs, processes, storage, and outputs of a system
Structured Analysis
a technique to determine what processing is required and to organize those requirements by using structured analysis models
Chaordic
a term used to describe adaptive projects that are chaotic and ordered
Object
a thing in an information system that responds to messages by executing functions or methods
Waterfall Model
an SDLC approach that assumes the phases can be completed sequentially with no overlap
Incremental Development
an SDLC approach that completes portions of the system in small increments across iterations, with each increment being integrated into the whole as it is completed
Spiral Model
an adaptive SDLC approach that cycles over and over again through development activities until completion
Adaptive Approach to the SDLC
an approach that assumes that the project must be more flexible and adapt to changing needs as the project progresses
Predictive Approach to the SDLC
an approach that assumes the project can be planned in advance and that the new information system can be developed according to the plan
Object-Oriented Design
defining all of the types of objects necessary to communicate with people and devices in the system, showing how objects interact to complete tasks, and refining the definition of each type of object so it can be implemented with a specific language or environment
Technique
guidelines to specify a method for how to carry out a development activity or task
Object-Oriented Programming
programming using object-oriented languages that support object classes, inheritance, reuse, and encapsulation
Phases
related groups of development activities, such as planning, analysis, design, implementation, and support
Object-Oriented Approach
system development based on the view that a system is a set of interacting objects that work together
Structured Approach
system development using structures analysis, structured design, and structured programming techniques
Support Activities
the activities in the support phase whose objective is to maintain and enhance the system after it is installed and in use
Help Desk
the availability of support staff to assist users with technical or processing problems of the information system
Top-Down Programming
the concept of dividing a complex program into a hierarchy of program modules
Structured Design
the design process of organizing a program into a set of modules and organizing those modules into a hierarchical structure
Object-Oriented Analysis
the process of identifying and defining the use cases and the sets of objects in the new system
Visual Modeling Tools
tools that help analysts create and verify graphical models and may also generate program code