The Systems Development Environment

The Systems Development Environment

Introduction to Systems Analysis and Design

  • A career in systems analysis involves continuous education and the development of a diverse range of talents.

  • The evolution of businesses and systems requires an emphasis on speed in systems analysis and design.

  • Systems development is recognized not just as an art, but as a critical organizational process for developing efficient computer-based information systems.

  • Information systems analysis and design is driven by organizational needs despite advances in information technology.

Understanding Information Systems

  • Information systems help in managing business operations and processes.

  • A significant outcome of effective systems analysis is the development of application software, which supports specific organizational functions (e.g., inventory management, payroll).

  • Components of a total information system include:

    • Hardware

    • Systems software

    • Documentation and training materials

    • Job roles connected to the system

    • Controls and user work methods

Roles of Systems Analysts

  • Systems Analyst: Primary responsibility for analyzing organizational needs and methods, and integrating IT solutions.

  • Business Analyst: Focuses on business value and improving processes; understands the relationship between business operations and IT.

  • Requirements Analyst: Collects and structures requirements from stakeholders; possesses strong communication and elicitation skills.

  • Infrastructure Analyst: Addresses technical issues related to hardware, software, networks, and databases.

  • Software Architect: Guides application design within the context of the IT environment.

  • Change Management Analyst: Manages user support, documentation, training, and strategies to counter resistance to change.

  • Project Manager: Oversees project timeline, budget, and value delivery; often experienced in systems analysis.

Skills Required for Systems Analysts

  • Technical Skills: Understanding existing systems and integrating new solutions.

  • Business Skills: Applying IT effectively in business contexts.

  • Analytical Skills: Problem-solving at project and organizational levels.

  • Interpersonal Skills: Managing team dynamics and communication under pressure.

  • Management Skills: Effective communication and presentation abilities.

  • Ethical Skills: Maintaining integrity and trust with colleagues and users.

Historical Context of Systems Development

Development Timeline

  • 1950s: Focused on automating processes within departments, requiring machine or assembly language.

  • 1960s: Technological advancements introduced 3GL, leading to smaller, faster computers and the emergence of the software industry.

  • 1970s: Increase in disciplined systems development, introduction of database management systems, shifting focus from processes to data.

  • 1980s: Rise of microcomputers and 4GL, along with graphical interfaces and CASE tools.

  • 1990s: Emphasis on GUI applications, client-server paradigms, and the Internet; organizations often purchase enterprise-wide systems.

  • 2000s+: Focus on Internet systems and web application development; trends towards modular systems and wireless components.

Systems Development Life Cycle (SDLC)

Phases of SDLC

  1. Planning: Identifying and prioritizing organization-wide information system needs.

  2. Analysis: Studying and structuring system requirements.

  3. Design: Developing logical and physical specifications for the recommended solution.

  4. Logical Design: Developing the logical specifications for the recommended solution. This phase outlines what the system will accomplish without detailing how it will be built.

  5. Physical Design: Developing the physical specifications for the system, including hardware and software needs, as well as network infrastructure and data storage solutions that will support the logical design.

  6. Implementation: Coding, testing, and installing the information system.

  7. Maintenance: Ongoing improvements and repairs to the information system.

Characteristics of SDLC

  • Provides clear definitions and relationships between different phases.

  • Often adapts to combine analysis, design, code, and test activities, resembling Agile methodologies rather than strictly following a linear model.

Traditional Waterfall Model Limitations

  • The waterfall model is criticized for its inflexibility; once a milestone is achieved, it becomes difficult to revisit previous phases.

  • Limited user involvement and assumption that all requirements can be captured at the beginning can hinder adaptability amidst changing business conditions.

Tools and Approaches in System Analysis and Design

CASE Tools

  • CASE tools assist in various phases of the SDLC and help automate routine tasks for improved efficiency.

Agile Approach

  • Agile development principles encourage flexibility and adapt to changes in requirements, focusing on meeting the actual development conditions.

Object-Oriented Analysis and Design (OOSAD)

  • Breaks problems into objects that contain both data and functionalities, allowing collaborative design and implementation by different teams.

Software Systems Acquisition

  • Shift from in-house development towards various sources of software acquisition:

    • Outsourcing: Relying on external firms for information system applications.

    • Hardware Manufacturers: Companies like IBM concentrate on system software.

    • Packaged Software Producers: Off-the-shelf solutions (e.g., Microsoft).

    • Custom Software Producers: Firms that tailor systems for specific business needs.

    • Enterprise Solutions: ERP systems like those by SAP integrate business functions seamlessly.

    • Application Service Providers (ASP): Host applications for others on a subscription basis.

Evaluating Software Options

Criteria for Choosing Software

  • Key factors include cost, functionality, vendor support, flexibility, documentation, response time, and ease of installation.

  • Vendor viability is crucial; firms should avoid unstable vendors.

  • Budgetary considerations must include costs for ongoing support and upgrades.

Process of Software Selection

  • Carefully gather user requirements before evaluating software options; ensure that the software can meet both core and essential tasks.

Roles of Systems Analysts

  • Systems Analyst: Analyzes organizational needs and integrates IT solutions.

  • Business Analyst: Focuses on enhancing business value and processes, understanding the link between operations and IT.

  • Requirements Analyst: Gathers and organizes requirements from stakeholders; possesses strong communication and elicitation skills.

  • Infrastructure Analyst: Tackles technical issues related to hardware, software, networks, and databases.

  • Software Architect: Oversees application design within the IT environment's context.

  • Change Management Analyst: Manages user support, documentation, training, and strategies for managing resistance to change.

  • Project Manager: Supervises project timelines, budgets, and delivery of value; often experienced in systems analysis.