Chapter 1 Review
System development methodology
A standard process followed in an organization to conduct all the steps necessary to analyze, design, implement, and maintain information systems.
Rational Unified Process (RUP)
An object-oriented systems development methodology. RUP establishes four phases of development: inception, elaboration, construction, and transition. Each phase is organized into a number of separate iterations
Application software
Computer software designed to support organizational functions or processes
What is information systems analysis and design?
It is a complex organizational process used by a team of business and systems professionals in order to develop and maintain computer based information systems
Why is it important to use systems analysis and design methodologies when building a system? Why not just build the system in whatever way seems to be "quick and easy?" What value is provided by using an "engineering" approach
Performing system analysis will help in preventing common bad coding techniques By using Systems Analysis we can identify the problem and make a plan to solve it thoroughly. Every possible aspect of the system is anticipated in an effort to minimize possible risks and failures. For example during Analysis phase we search and write down users' requirements. This is a crucial issue to assure our system will be useful. After all, at the end this system aims to aid users in their work
Computer-aided software engineering (CASE) tools
Software tools that provide automated support for some portion of the systems development process
What are CASE tools?
Software tools that provide automated support for some portion of the systems development process. They support a wide variety of SDLC activities.
Object-oriented analysis and design (OOAD)
Systems development methodologies and techniques based on objects rather than data or processes.
What is object-oriented analysis and design?
Systems development methodologies and techniques based on objects rather than data or processes. *Goal* of OOAD: to make systems elements more reusable, thus improving system quality and productivity of systems analysis and design
Information systems analysis and design
The complex organizational process whereby computer-based information systems are developed and maintained
Maintenance
The final phase of the SDLC in which an information system is systematically repaired and improved
Planning
The first phase of the SDLC in which an organization's total information system needs are identified, analyzed, prioritized, and arranged.
Implementation
The fourth phase of the SDLC in which the information system is coded, tested, installed, and supported in the organization
Systems analyst
The organizational role most responsible for the analysis and design of information systems.
Logical design
The part of the design phase of the SDLC in which all functional features of the system chosen for development in analysis are described independently of any computer platform
Physical Design
The part of the design phase of the SDLC in which the logical specifications of the system from logical design are transformed into technology-specific details from which all programming and system construction can be accomplished.
Inheritance
The property that occurs when entity types or object classes are arranged in a hierarchy and each entity type or object class assumes the attributes and methods of its ancestors - that is, those higher up in the hierarchy. The property allows new but related classes to be derived from existing classes
Analysis
The second phase of the SDLC in which system requirements are studied and structured
Design
The third phase of the SDLC in which the description of the recommended solution is converted into logical and then physical system specifications
Systems Development Life Cycle (SDLC)
The traditional methodology used to develop, maintain, and replace information systems.
List and explain the different phases in the SDLC
*1. Planning:* An organization's total information system needs are identified, analyzed, prioritized, and arranged *2. Analysis:* System requirements are studied and structured *3. Design:* Description of the recommended solution is converted into logical and then physical system specifications *4. Implementation:* The information system is coded, tested, installed, and supported in the organization *5. Maintenance:* The information system is systematically repaired and improved
Explain what is meant by Agile Methodologies
Describes the responsive development of a system made of small software modules (often web-based applications) by a group of collaborators who work concurrently and closely under a leader who ensures engineering best practice and delivery of the customer requirements. Focuses on *(1)* adaptive rather than predictive methodologies, *(2)* people rather than roles, and *(3)* self-adaptive processes
Compare figures 1-2 and 1-3. What similarities and differences do you see?
Figure 1-2 shows the SDLC 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 Figure 1-3 shows the SDLC as a spiral in which we constantly cycle through the phases at different level of detail Both contain the same 5 phases of the SDLC
Explain how object-oriented analysis and design differs from the traditional approach. Why isn't RUP represented as a cycle? Is that good or bad? Explain your response.
Object-oriented analysis and design is a set of systems development methodologies and techniques based on objects, which combine data descriptions (attributes) and activities (methods) rather than the traditional data description (data analysis) separate from processes (programming). Rational Unified Process is an object-oriented systems development methodology. RUP establishes four phases of development: inception, elaboration, construction, and transition. Each phase is organized into a number of separate iterations which is why RUP is not represented as a cycle. RUP isn't bad, Object-oriented analysis and design just have more amounts of process and documentation than RUP.
When would you use Agile Methodologies versus an engineering-based approach to development?
Use Agile Methodologies if your project involves: • unpredictable or dynamic requirements • responsible and motivated developers, and • customers who understand the process and will get involved
Object
a structure that encapsulates (or packages) attributes and methods that operate on those attributes. An object is an abstraction of a real-world thing in which data and processes are placed together to model the structure and behavior of the real-world object.
What is eXtreme Programming?
an approach to software development that breaks a project into tiny phases, and developers cannot continue on to the next phase until the first phase is complete It is distinguished by: • Short, incremental development cycles • Automated tests • Two-person programming teams • Coding, testing, listening, designing • Coding and testing operate together
Describe each of the *5* major component of a comprehensive CASE system. Is any component more important than any other?
• *Diagramming tools:* graphical representation) • *Computer Displays and Report Generators:* prototype how systems "look and feel" • *Analysis tools:* automatically check for consistency in diagrams, forms, and reports • *A central repository:* integrated storage of diagrams, reports, and project management specifications • *Documentation Generator:* standardize technical and user documentation. The *repository* is a key factor in enabling CASE more easily manage larger, more complex projects and to seamlessly integrate data across various tools and products.
List and explain some of the problems with the traditional waterfall SDLC
• Feedback ignored, milestones lock in design specs even when conditions change • Limited user involvement (only in requirements phase) • Too much focus on milestone deadlines of SDLC phases to the detriment of sound development practices
How has systems analysis and design changed over the past four decades?
*1950's* development focused on the processes the software performed and efficiency of processing was the main goal. *1960's & 1970's*organizations started to realize how expensive it was to develop customized information systems for every applications - shift from process first to data first. *1980's* CASE tools were developed to make systems developers work easier and more consistent, and systems developer job went through a transition from builder to integrator *1990's* Focused on systems integration with client/server platforms, more and more systems development efforts focused on the Internet, specifically the web. *Today* - continued focus on developing systems for te internet and for firms intranets and extranets, usually not developed in house.
Describe how CASE is used to support each phase of the SDLC
*Project Identification and selection:* Diagramming and matrix tools to create and structure information *Project initiation and planning:* Repository and documentation generators to develop project plans. *Analysis:* Diagramming to create process, logic, and data models *Logical and physical design:* Form and report generators to prototype designs, analysis and documentation generators to define specifications *Implementation:* Code generators and analysis, form and report generators to develop system, documentation generators to develop system and user documentation. *Maintenance:* All tools are used (repeat life cycle)
Object class
A logical grouping of objects that have the same (or similar) attributes and behaviors (methods).