Information Systems/Systems Development

Systems development is a process used in systems engineering, information systems, and software engineering for planning, creating, testing, and deploying an information system.[1]

Objectives and Skills

edit

Objectives and skills for the systems development portion of CLEP Information Systems include:[2]

  • Software development (prototyping, SDLC, RAD, CASE, JAD, Agile)
  • Systems development (feasibility, process, systems analysis, systems design, end-user development, project management)
  • System implementation (testing, training, data conversion, system conversion, system maintenance, post-implementation activities, post-implementation review, documentation)
  • Information processing methods (batch, real-time, transaction)
  • User interface design (GUI, multimedia)
  • Standards (development, purpose, proprietary, open source)

Readings

edit
  1. Wikibooks: Introduction to Computer Information Systems/Program Development
  2. Wikipedia: Systems development life cycle
  3. Wikipedia: Software development process
  4. Wikipedia: User interface design
  5. Wikipedia: Rapid application development
  6. Wikipedia: Computer-aided software engineering
  7. Wikipedia: Transaction processing system
  8. Wikipedia: Agile software development

Multimedia

edit
  1. Youtube: CIS 121 - System Development Life Cycle
  2. Youtube: Simplified Software Development
  3. YouTube: Introduction To Agile
  4. YouTube: Business Analysis and System Development
  5. YouTube: System Implementation
  6. YouTube: Transaction Processing System
  7. YouTube: Understanding Agile
  8. Youtube: Rapid Application and Agile Development Methodologies
  9. Project Roles in System Development

Activities

edit
  1. Review Wikipedia: Systems development life cycle and Wikipedia: Waterfall model. Compare and contrast the two methodologies. For historical reference, see University of North Florida: Software Development Life Cycle as an example of assignments from this perspective.
  2. Review Wikipedia: Systems development life cycle and Wikipedia: Agile software development. Compare and contrast the two methodologies.
  3. Review Wikipedia: Processing modes and the different types of computer processing. Consider your bank or credit card account. Is your current balance immediately available, suggesting real-time processing, or is it updated daily, suggesting batch processing?
  4. Read the article ConceptDraw: Graphic User Interface. Then identify different features of a GUI, including windows, title bars, buttons, menus, icons, content areas, scroll bars, status bars, etc.
  5. Review Wikipedia: Diagramming software. Select a diagramming program and create a diagram, flowchart, or mind map for systems development.
  6. Complete the TutorialsPoint: System Analysis and Design Tutorial

Research and Discussion

edit
  1. A company you are working for is implementing a new system at your work location. Select a phase in the system development life cycle that interests you. Discuss the activities that may occur during this step of the SDLC and include how it has impacted you at your place of work.
  2. What are the benefits derived from using a systems development methodology? Support your answer.
  3. Describe the purpose of systems analysis and design when developing information systems and how it can apply to you. What are potential advantages and disadvantages to systems analysis?
  4. What do you do first when implementing a new system? Explain your experience. Does it support the SDLC?
  5. Compare and contrast SDLC and Agile development? What are the pros and cons of each development?

Lesson Summary

edit

Software Development

  • Software development is the process of computer programming, documenting, testing, and bug fixing involved in creating and maintaining applications and frameworks involved in a software release life cycle and resulting in a software product.[3]
  • Software prototyping is the activity of creating prototypes of software applications, i.e., incomplete versions of the software program being developed.[4]
  • The systems development life cycle (SDLC), also referred to as the application development life cycle, is a term used in systems engineering, information systems, and software engineering to describe a process for planning, creating, testing, deploying and maintaining an information system.[5]
  • Rapid application development (RAD) is an alternative to the conventional waterfall model of software development which puts less emphasis on planning tasks and more emphasis on development through the use of prototypes addition to or even sometimes in place of design specifications.[6]
  • Computer-aided software engineering (CASE) is the domain of software tools used to design and implement software that is high-quality, defect-free, and maintainable.[7]
  • Joint application design (JAD) is a process used to collect business requirements while developing new information systems for a company which includes approaches for enhancing user participation, expediting development, and improving the quality of specifications.[8]
  • Agile software development is a group of software development methods in which requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development, early delivery, continuous improvement, and encourages rapid and flexible response to change.[9]
  • The Waterfall model is a breakdown of sequential project activities. Each phase depends on the completion of the prior step and corresponds to a specialization of tasks. this model does not allow for much flexibility and can be time consuming since you can't progress until the previous step is complete.

System Development

  • Before any system planning is done, a feasibility study should be conducted to determine if creating a new or improved system is a viable solution. This will help to determine the costs, benefits, resource requirements, and specific user needs to be required for completion.[10]
  • The goal of system analysis is to determine where the problem is, in an attempt to fix the system. This step involves breaking down the system in different pieces to analyze the situation, analyzing project goals, breaking down what needs to be created and attempting to engage users so that definite requirements can be defined.[11]
  • In systems design, the design functions and operations are described in detail, including screen layouts, business rules, process diagrams and other documentation. The design stage takes as its initial input the requirements identified in the approved requirements document. For each requirement, a set of one or more design elements will be produced as a result of interviews, workshops, and/or prototype efforts. Design elements describe the desired system features in detail and generally include functional hierarchy diagrams, screen layout diagrams, tables of business rules, business process diagrams, pseudo-code, and a complete entity-relationship diagram with a full data dictionary. These design elements are intended to describe the system in sufficient detail, such that skilled developers and engineers may develop and deliver the system with minimal additional input design.[12]
  • Project management is the discipline of carefully projecting or planning, organizing, motivating and controlling resources to achieve specific goals and meet specific success criteria. Project management processes include initiating, planning, executing, monitoring and controlling, and closing.[13]

System Implementation

  • New systems are tested in a variety of ways and at various levels to provide information on the functionality and performance of the product or service that is to be utilized. [14] [15]
  • After the system is tested, operational and production training is provided to users who will be maintaining the system and those using the system for production.[16]
  • Data conversion and system conversion translates data and systems from one format to another, which can be completed in increments or all at once, allows users to access and process information and data all under the implemented system.[17]
  • After a system is fully implemented, system maintenance and post-implementation activity are required for upkeep and enhancements, post-implementation review to analyze and evaluate the system's performance and assess any potential changes and enhancements to improve functionality.[18] [19]
  • Documentation is taken throughout the whole implementation process-- pre-implementation, during implementation, and post-implementation-- to record, measure, and audit the system's effectiveness and functionality.[20]

Information Processing

  • Transaction processing is a style of computing that divides work into individual, indivisible operations, called transactions.[21]
  • Batch processing is the execution of a series of programs (jobs) on a computer without manual intervention. Several transactions, called a batch are collected and processed at the same time. The results of each transaction are not immediately available when the transaction is being entered; there is a time delay.[22]
  • Real-time systems attempt to guarantee an appropriate response to a stimulus or request quickly enough to affect the conditions that caused the stimulus. Each transaction in real-time processing is unique; it is not part of a group of transactions.[23]

Graphical user interface

  • The goal of user interface design is to make the user's interaction as simple and efficient as possible. [24]

Key Terms

edit
agile software development
A group of software development methods in which requirements and solutions evolve through collaboration between self-organizing, cross-functional teams which promotes adaptive planning, evolutionary development, early delivery, continuous improvement, and encourages rapid and flexible response to change. [25]
alpha testing
Simulated or actual operational testing by potential users/customers or an independent test team at the developers' site.[26]
batch processing
Batch processing is the execution of a series of programs (jobs) on a computer without manual intervention. Several transactions, called a batch are collected and processed at the same time. The results of each transaction are not immediately available when the transaction is being entered;[1] there is a time delay.[27]
beta testing
Comes after alpha testing and can be considered a form of external user acceptance testing.[28]
compiler
A language translator that converts an entire program into machine language before executing it.[29]
computer aided design (CAD)
The use of computer systems to assist in the creation, modification, analysis, or optimization of a design.[30]
computer-aided software engineering (CASE)
The domain of software tools used to design and implement software applications.[31]
data dictionary
A centralized repository of information about data such as meaning, relationships to other data, origin, usage, and format. [32]
data flow diagram
A graphical representation of the "flow" of data through an information system, modeling its process aspects.[33]
decision table
A precise yet compact way to model complex rule sets and their corresponding actions which associates conditions with actions to perform.[34]
end-user development
Activities and tools that allow end-users – people who are not professional software developers – to program computers.[35]
Feasibility Study
 
Flowchart
an assessment of the practicality of a proposed project or system which helps to determine the costs, benefits, resource requirements, and specific user needs required for completion.[36]
flowchart
A program design tool that graphically shows step-by-step the actions a computer program will take.[37]
graphical user interface (GUI)
is a type of user interface that allows users to interact with electronic devices through graphical icons and visual indicators such as secondary notation, instead of text-based user interfaces, typed command labels or text navigation.[38]
implementation phase
The SDLC phase that includes testing, training, equipment replacement, and file conversion.[39]
information architecture
Development of the process and/or information flow of the system.[40]
integrated development environment (IDE)
An IDE is a software development application that consists of tools for debugging, source code editing, and automation.[41]
investigation phase
The SDLC phase where existing business problems and/or opportunities are studied.[42]
joint application design (JAD)
A process used to collect business requirements while developing new information systems for a company which includes approaches for enhancing user participation, expediting development, and improving the quality of specifications.[43]
maintenance phase
The system is assessed to ensure it does not become obsolete and changes are made to initial software.[44]
parallel systems
A process used in testing systems where the old system and the new system are operated simultaneously to verify the new system is working properly.[45]
program design
The phase of the program development life cycle in which the program specifications are expanded into a complete design of the new program.[46]
program coding
The phase of the program development life cycle in which the program code is written using a programming language.[47]
project management
The process and activity of planning, organizing, motivating, and controlling resources, procedures and protocols to achieve specific goals in scientific or daily problems.[48]
rapid application development (RAD)
A design approach that emphasizes the necessity of adjusting requirements in reaction to knowledge gained as the project progresses, and based on the use of prototypes in addition to or even sometimes in place of design specifications.[49]
real time processing
Attempt to guarantee an appropriate response to a stimulus or request quickly enough to affect the conditions that caused the stimulus.[50]
scrum (Software Development)
Scrum is a software development framework that is designed to work with small teams focusing on two weeks development cycles called "sprints".[51]
source code
A computer program before it is compiled.[52]
systems development life cycle (SDLC)
A process used by systems engineers and systems developers to plan for, design, build, test, deliver and maintain information systems.[53]
stepwise refinement
A process used to break problems down into smaller problems.[54]
software maintenance
After the deployment of a new interface, occasional maintenance may be required to fix software bugs, change features, or completely upgrade the system.[55]
software prototyping
The activity of creating incomplete test versions of a software program being developed. [56]
systems design
The process of defining the architecture, components, modules, interfaces, and data for a system to satisfy specified requirements.[57]
unified modeling language (UML)
A set of standard notations for creating business models; widely used for modeling object-oriented programs.[58]
usability inspection
A set of methods where a tester evaluates a user interface.[59]
user interface design (UI)
is the design of user interface for machine and software, such as computer, home appliances, mobile devices and other electronic devices, with the focus on maximizing usability and the user experience. Wikipedia: User interface design [60]
transaction processing (TPS)
A Transaction Processing System (TPS) is a type of information system that collects, stores, modifies and retrieves the data transactions of an enterprise. Transaction processing systems also attempt to provide predictable response times to requests, although this is not as critical as for real-time systems. Rather than allowing the user to run arbitrary programs as time-sharing, transaction processing allows only predefined, structured transactions. Each transaction is usually short duration and the processing activity for each transaction is programmed in advance.[61]

Review Questions

edit
Enable JavaScript to hide answers.
Click on a question to see the answer.
  1. The activity of creating prototypes of software applications, i.e., incomplete versions of the software program being developed is ____________.
    Software prototyping
  2. What is the term used in systems engineering, information systems, and software engineering to describe a process for planning, creating, testing, deploying and maintaining an information system?
    The systems development life cycle (SDLC), also referred to as the application development life cycle.
  3. An alternative to the conventional waterfall model of software development which puts less emphasis on planning tasks and more emphasis on development through the use of prototypes addition to or even sometimes in place of design specifications is ___________.
    Rapid application development (RAD)
  4. What is the domain of software tools used to design and implement software that is high-quality, defect-free, and maintainable?
    Computer-aided software engineering (CASE)
  5. What is the process used to collect business requirements while developing new information systems for a company which includes approaches for enhancing user participation, expediting development, and improving the quality of specifications?
    Joint application design (JAD)
  6. A group of software development methods in which requirements and solutions evolve through collaboration between self-organizing and cross-functional teams is called _______________. It promotes adaptive planning, evolutionary development, early delivery, continuous improvement, and encourages rapid and flexible response to change.
    Agile software development
  7. What should be conducted to determine if creating a new or improved system is a viable solution? This will help to determine the costs, benefits, resource requirements, and specific user needs required for completion.
    A feasibility study
  8. The goal of system analysis is _____.
    The goal of system analysis is to determine where the problem is, in an attempt to fix the system. This step involves breaking down the system in different pieces to analyze the situation, analyzing project goals, breaking down what needs to be created and attempting to engage users so that definite requirements can be defined.
  9. In systems design, _____.
    In systems design, the design functions and operations are described in detail, including screen layouts, business rules, process diagrams and other documentation. The design stage takes as its initial input the requirements identified in the approved requirements document. For each requirement, a set of one or more design elements will be produced as a result of interviews, workshops, and/or prototype efforts. Design elements describe the desired system features in detail and generally include functional hierarchy diagrams, screen layout diagrams, tables of business rules, business process diagrams, pseudo-code, and a complete entity-relationship diagram with a full data dictionary. These design elements are intended to describe the system in sufficient detail, such that skilled developers and engineers may develop and deliver the system with minimal additional input design.
  10. What is the discipline of carefully projecting or planning, organizing, motivating and controlling resources to achieve specific goals and meet specific success criteria which contain the following processes: initiating, planning, executing, monitoring and controlling, and closing?
    Project management
  11. New systems are tested _____.  
    New systems are tested in a variety of ways and at various levels to provide information on the functionality and performance of the product or service that is to be utilized.  
  12. After the system is tested, _____ is provided to users who will be maintaining the system and those using the system for production.
    After the system is tested, operational and production training is provided to users who will be maintaining the system and those using the system for production.
  13. Data conversion and system conversion _____.
    Data conversion and system conversion translates data and systems from one format to another, which can be completed in increments or all at once, allows users to access and process information and data all under the implemented system.
  14. After a system is fully implemented, system maintenance and post-implementation activity are required for _____. 
    Upkeep and enhancements, post-implementation review to analyze and evaluate the system's performance and assess any potential changes and enhancements to improve functionality. 
  15. What is created throughout the whole implementation process-- pre-implementation, during implementation, and post-implementation-- to record, measure, and audit the system's effectiveness and functionality?
    Documentation
  16. The style of computing that divides work into individual, indivisible operations, is called ________________.
    Transaction processing
  17. An execution of a series of programs (jobs) on a computer without manual intervention. Several transactions are collected and processed at the same time. The results of each transaction are not immediately available when the transaction is being entered; there is a time delay. This is known as ___________________.
    Batch processing
  18. What type of systems attempt to guarantee an appropriate response to a stimulus or request quickly enough to affect the conditions that caused the stimulus. Each transaction is unique and it is not part of a group of transactions.
    Real time systems
  19. The goal of _________________________ is to make the user's interaction as simple and efficient as possible.
    user interface design

Assessments

edit

See Also

edit

References

edit
  Type classification: this is a lesson resource.
  Completion status: this resource is considered to be complete.
  1. Wikipedia: Systems development life cycle
  2. CLEP: Information Systems
  3. Wikipedia: Software_development
  4. Wikipedia: Software prototyping
  5. Wikipedia: Systems development life cycle
  6. Wikipedia: Rapid application development
  7. Wikipedia: Computer-aided software engineering
  8. Wikipedia: Joint application design
  9. Wikipedia: Agile software development
  10. Wikipedia: Systems development life cycle
  11. Wikipedia: Systems development life cycle
  12. Wikipedia: Systems development life cycle
  13. Wikipedia: Project management
  14. Wikipedia: Systems development life cycle
  15. Wikipedia: Software testing
  16. Wikipedia: Systems development life cycle
  17. Wikipedia: Data conversion
  18. Wikipedia: Systems development life cycle
  19. Wikipedia: Project management
  20. Wikipedia: Systems development life cycle
  21. Wikipedia: transaction processing
  22. Wikipedia: batch processing
  23. Wikipedia: real-time computing
  24. Wikipedia: Graphical user interface
  25. Wikipedia: Agile Software Development
  26. Wikipedia: Alpha Testing
  27. Wikipedia: Transaction processing system
  28. Wikipedia: Beta Testing
  29. Wikipedia: Introduction to Computer Information Systems/Program Development
  30. Wikipedia: Computer-aided design
  31. Wikipedia: Computer-aided software engineering
  32. Wikipedia: Data dictionary
  33. Wikipedia: Systems development life cycle
  34. Wikipedia: Decision table
  35. Wikipedia: End-user development
  36. Wikipedia: Feasibility Study
  37. Wikipedia: Introduction to Computer Information Systems/Program Development
  38. Wikipedia: User interface design
  39. Wikipedia: Systems development life cycle
  40. Wikipedia: User interface design
  41. Wikipedia: Integrated_development_environment
  42. Wikipedia: System development life cycle
  43. Wikipedia: Joint application design
  44. Wikipedia: Systems development life cycle
  45. Wikipedia: Software testing
  46. Wikibooks: Introduction to Computer Information Systems/Program Development
  47. Wikipedia: Introduction to Computer Information Systems/Program Development
  48. Wikipedia: Project Management
  49. Wikipedia: rapid application development
  50. Wikipedia: Transaction processing system
  51. Wikipedia: Scrum_(software_development)
  52. Wikipedia: Introduction to Computer Information Systems/Program Development
  53. Wikipedia: Systems development life cycle
  54. Wikipedia: Top-down and bottom-up design
  55. Wikipedia: Systems development life cycle
  56. Wikipedia: Software development process
  57. Wikipedia:Systems design
  58. Wikipedia: Introduction to Computer Information Systems/Program Development
  59. Wikipedia: Usability inspection
  60. Wikipedia: User interface design
  61. Wikipedia: Transaction processing system