1 / 26

Technologies for Developing Systems

Explore structured development methodologies, fourth-generation languages, software prototyping, and CASE components for efficient system development. Learn how CASE tools and RAD techniques improve productivity and enhance software engineering.

llam
Download Presentation

Technologies for Developing Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Technologies for Developing Systems Chapter 9 Information Systems Management In Practice 5E McNurlin & Sprague

  2. Foundations of System Development • Discipline through structured development • Figure 9-1is the classic system development life cycle (waterfall approach) • The Traditional Application Development Approach (characteristics): • Hand coding in third generation language, e.g. COBOL • “Structured Programming” development methodology • Automated Project management system • A database management system

  3. Foundations of System Development • The Traditional Application Development Approach (characteristics); • A mix of online and batch applications in the same system • Development of mostly mainframe applications • Programming by professional programmers only • Various automated, but not well integrated s/w tools • A well-defined sign-off process for system delivery • User participation mainly in require definition and installation phases

  4. Structured Development • More discipline: established standards for process and documentation to increase productivity and developers’ ability to deal with complexity • Higher reliability and fewer errors: to catch errors as early as possible through inspection • More efficient use of resources: thorough project management approaches resulted in cost savings, increased productivity, and better allocation of human resources; reduced the tendency for system development project overruns

  5. Fourth-Generation Languages • Field turns towards ease of use - make development of small systems possible • Features and functions of 4GLs: • Database management system: The heart of a 4GL provides data management and control • Data dictionary: The repository for data definitions • Nonprocedural language: Permits people to write programs using sequences of commands in the order they think rather than the order the computer requires

  6. Fourth-Generation Languages • Interactive query facilities: Permits the retrieval of adhoc information using dialogues and menus • Report generator: A flexible query facility used directly by end users to retrieve information and generate reports in diverse formats • Selection and sorting: The ability to select data records using Boolean logic, to extract desired information from those records, and to sort the information as desired

  7. Fourth-Generation Languages • Screen formatter: A facility to easily develop screen interactively • Word processor or text editor: Ideally, a comprehensive word processor with a full screen editor and mail-merge • Graphics: Standard routines for creating bar charts, histogram, scatter diagrams, etc. • Library of Macros: For storing sequence of commands • Programming Interface: Linkage to programming languages, to handle complex conditional logic

  8. Fourth-Generation Languages • Reusable code: A facility for storing and retrieving prewritten program modules for insertion into other programs to improve productivity • Software development library: Tools for rapid system development • Backup and recovery: A facility for automatic storage backup, restart, and recovery • Security and privacy safeguards: Password protect, data encryption, and data access controls • Links to other DBMS: Links to enable transparent data transfer between database systems

  9. Software Prototyping • A live,working system. Performs actual work and may become actual production system, or replaced by a coded one • Purpose: to test assumptions about user’s requirements, application design, or program logic • Software system created quickly: language creates code • Iterative process, each version performs function in an increasingly efficient manner

  10. Case Example: Santa Fe Railroad • Used Mapper to create an operational system in a 4GL, unusual at the time. Used prototyping and productivity improved 8 times vs COBOL. • Management decided to teach operational railroad employees to program, rather than teach programmers the intricacies of railroad operations. Operational systems are more hardware intensive, support costs are half, but complaints to IS department nonexistent • Goal: create generic database that remains stable and used through the company. Mapper DB huge, with many small databases.

  11. Computer-Aided Software Engineering (CASE) Components • Information repository: stores and organizes all information needed to create, modify, and develop software system • Front-end tools: used in all phases that lead up to coding • Back-end tools: used to automatically generate source code • Development workstation: the more powerful the better

  12. Computer-Aided Software Engineering (CASE) • Software development and project management methodology • Timeboxing: Technique that uses CASE to guarantee delivery of a system within 120 days • Rapid Application Development (RAD)

  13. Case example: DuPont Cable Management Services • System was needed to maintain inventory of every wire, telephone, modem, wiring closet connection, etc. No software package could handle the scale/workload. • Custom-built software flexible to handle company expanding telecom facilities. • DuPont IEA: 4 phases to implement project (IEA and customer): • 1: Go ahead - day 1, customer agrees to participate • 2: System definition - days 2 to 30:$ to implement • 3: ”Timebox” - 90 days, create design specs and prototypes • 4: Installation - Day 120, customer 90 days to verify system

  14. Lessons learned about CASE • View CASE as a strategic technology • To build complex mission-critical systems • To cut development time • To change systems quickly • To solve development backlog-reuse development components • Treat CASE as a strategic technology-IS project • Create a technical support group • Do not wait for the perfect tools - CASE products will evolve.

  15. The 1990s • Client-Server systems • Web-based (or network-centric) development • Integration of hardware and software (off-the-shelf)

  16. Client/Server Computing • Far more flexibility than mainframe-based systems • desktop: graphics, animation, video • servers: production updating

  17. Case Example - MGM • Previously had over 26 disparate systems on PCs • C-S could empower 20 worldwide film rights salespeople • Equipped with SQL DB on laptop and CD-ROM with video clips, license details are transmitted directly to headquarters • Architecture - three levels: • AS/400 - central processor for database, transaction-based licensing software • H-P 9000 server, contains data and processing, Unix front-end + Powerbuilder • Client machines - local processing, DB, and presentation (laptops and workstations); daily upload

  18. Systems Integration: Approaches • Database Management Systems: allow applications to share data stored in a single or distributed database • Enterprise Resource Planning (ERP) Systems: all applications come from a single vendor and are specifically designed to communicate with each other • Middleware: applications communicate with each other through a third-party translation software - see Figure 9-4

  19. Internet-Based Systems The Internet is now a common medium for conducting business. • Internet-based systems must be scalable, reliable, and integrated both internally and externally with systems of customers or business partners.

  20. Internet-Based Systems: Application Servers The application server has grown into a framework for developing Internet-based applications. • Application server categories: • Business Logic Processing: the application server stores and runs business logic components for applications • Automation of Low-Level Core Processes: The application server can generate networking and communication code, and code for a wide range of low-level functions

  21. Internet-Based Systems: Application Server Categories • Application server categories: • Middleware: the application server becomes the back-end link to legacy systems • Application Development: the application server is delivering many of the capabilities provided by integrated development environment (IDE) • Prebuilt Components: inclusion of pre-built components (tag libraries, Java Beans) in application servers by vendors

  22. Java Development Platform Java has been in many cases the starting point for the development of Internet-based systems. • Major components in Java server-side platform • Enterprise Java Beans (EJB) • Java 2 Enterprise Edition (J2EE) • Microsoft components • Component Object Model (COM) • Distributed Component Object Model (DCOM)

  23. Applications Service Providers ASPs are companies that rent software applications over the Internet. Advantages: applications running in a short time and little initial investment Disadvantages: negotiating service level agreements and support during downtime • Types of ASPs (see Figure 9-6) • Enterprise • General Business • Specialist • Vertical

  24. Project Management Keys to project management success: • Establish the ground rules: Define the technical and architectural specifications for the systems • Adhere to industry standards • Use an open architecture • Web-enable the system • Power with subsystems • Discipline, planning, documentation, and management

  25. Project Management • Obtain and document (the “final”) user requirements • Obtain tenders from the appropriate potential vendors • Working with suppliers • Convert existing data • Moving forward after implementation

  26. Conclusion • Traditional approach from the 1960s evolved to give more discipline, control, and efficiency. Moved programming from an “art” to a “craft.” Problems: development times, low user involvement and flexibility • 1970s and 1980s: data-driven development, stressed improving early phases in development; 4GL and software prototyping permitted more rapid development; CASE and object oriented (software re-use) • 1990s client-server and Web-based development, integration of components and packages

More Related