Systems, Roles, and Development Methodologies
Systems, Roles, and Development Methodologies
• Why
◦ Core for systems analysts, developers, and managers
◦ Business Problems ↔ Technical Solutions
◦ Leads to clearer requirements, defined scope, fewer reworks
• Your Role: Systems “Architect”
◦ Plan before you build: know users and environment
◦ Define requirements precisely
◦ Ensure solutions fit real-world needs
• Course Roadmap
◦ Systems Analysis Fundamentals
◦ Information Requirement Analysis
◦ The Analysis Process
◦ The Essentials of Design
1/
43
Course Logistics
2/
43
Systems, Roles, and Development Methodologies
CSE 4407
Ajwad Abrar
Junior Lecturer
Department of Computer Science and Engineering
Islamic University of Technology
• Opening thought
◦ Information is now a key organizational resource, just like people or materials.
◦ It needs management
• The Information Explosion: Networked computers and the web have amplified the
amount and complexity of information we handle
• Chapter Goals: We will explore
◦ Fundamentals of Information Systems (IS)
◦ Roles of Systems Analysts
◦ Development Lifecycles (SDLC, Agile, O-O)
◦ Open Source and CASE Tools
4/
Overview 43
Why Bother with Systems Analysis and Design (SAD)?
5/
Need for Systems Analysis and Design 43
The Cost of Chaos vs. The Value of Structure
6/
Need for Systems Analysis and Design 43
Security and Privacy: Not Just an Add-On!
• The Reality
◦ Security is critical but challenging
◦ Multiple vulnerabilities exist in any system
◦ “Perfect” security is unrealistic – it involves trade-offs (value of data vs. risk vs. cost)
• The SAD Approach: Security by Design
◦ Build security and privacy controls in from the VERY BEGINNING
◦ Much more effective and desirable than trying to patch security onto older systems
(legacy systems)
◦ Always assess and improve security when updating existing systems
◦ User training on security is also crucial
7/
Need for Systems Analysis and Design 43
The Systems Analyst: Bridging Worlds
8/
Roles of a Systems Analyst 43
The Analyst Wears Many Hats...
9/
Roles of a Systems Analyst 43
...Agent of Change and Essential Qualities
10 /
Roles of a Systems Analyst 43
The Traditional Blueprint: Systems Development Life Cycle (SDLC)
• Main Goal: Correctly identify the core Problems, Opportunities, and Objectives
• Why: Getting this wrong means wasting significant time and resources solving the
wrong issue!
• Activities
◦ Honestly assess the current business situation
◦ Pinpoint specific problems (often the reason the analyst was called in)
◦ Identify opportunities (situations where IT can provide improvement or competitive
advantage)
◦ Discover and define clear business objectives
• Who’s Involved: Users (especially management), Analysts, Systems Managers
• Key Output: Feasibility Report (Defines problem, summarizes objectives, initial
scope estimate, recommends Go/No-Go)
12 /
The Systems Development Life Cycle 43
SDLC Phase 2: Understanding Users and Their Needs
• Main Goal: Determine human needs regarding the information system. How do
users need to interact?
• Methods for Gathering Info
◦ Interactive: Interviews, Questionnaires, Sampling data
◦ Unobtrusive: Observing users work, analyzing existing documents (“hard data”)
◦ All-encompassing: Prototyping (building preliminary versions)
• Focus: Human-Computer Interaction (HCI)
◦ Physical aspects? (Legible, audible, safe?)
◦ Cognitive aspects? (Easy to learn, use, remember?)
◦ Affective aspects? (Pleasing, engaging, fun?)
◦ Productivity? (Support tasks, enable new capabilities?)
• Key Framework: Understand the Who, What, Where, When, How of current
processes, and Critically: WHY?
• Who’s Involved: Analysts, Users (Operational level often)
13 /
The Systems Development Life Cycle 43
SDLC Phase 3: Analyzing System Needs
• Main Goal: Use the requirements from Phase 3 to design the logical structure of
the new system
• Key Design Activities
◦ Input Design: Designing procedures, forms, screens for accurate and efficient data
entry
◦ Interface Design: Defining how the user interacts with the system (menu, GUI,
navigation). Focus on usability, accessibility (audible, legible, safe), aesthetics. User
involvement is crucial here.
◦ Database Design: Designing the logical structure of the database to store data
effectively and intuitively
◦ Output Design: Designing reports, screen displays, etc. to deliver the needed
information effectively
• Who’s Involved: Analyst (leading design), often working closely with Users
(especially for UI/Output)
15 /
The Systems Development Life Cycle 43
SDLC Phases 5 and 6: Construction and Quality Checks
• Implementation Activities
◦ User Training: Teaching users how to operate the new system (Analyst oversees)
◦ System Conversion: Planning and executing the switch from the old system to the new
one (e.g., parallel run, direct cutover, phased)
◦ Data Conversion: Migrating data from old formats/systems
◦ Installation: Setting up hardware, software
◦ Go Live: The new system is officially launched!
• Evaluation
◦ Occurs throughout the SDLC, not just a final step
◦ Continues after implementation
◦ Key Question: Is the system meeting objectives? Are users using it effectively?
• Reality Check: SDLC is often Cyclical. Discoveries might force revisiting earlier
phases
17 /
The Systems Development Life Cycle 43
After Launch: The Ongoing Cost and Effort of Maintenance
20 /
The Agile Approach 43
Agile in Practice: Flexibility and Teamwork
• Dynamic Resource Balancing: Agile methods often adjust Time, Cost, Quality, and
Scope to meet goals
• Core Practices
◦ Short Release Cycles
◦ Sustainable Pace (e.g., 40-hour work week)
◦ Onsite Customer (Direct, continuous user involvement)
◦ Pair Programming
• Popular Agile Framework: Scrum
◦ Named after a rugby formation (emphasizes teamwork)
◦ Sprints: Short, fixed-duration work cycles (typically 2-4 weeks)
◦ Goal per Sprint: Deliver a potentially releasable increment of the product
◦ Team Empowerment: Teams often choose how to accomplish the work for a sprint
21 /
The Agile Approach 43
The Agile Journey: 5 Key Stages
22 /
The Agile Approach 43
Getting Started with Agile: Exploration and Planning
23 /
The Agile Approach 43
The Cycle: Iterate, Produce, Maintain
24 /
The Agile Approach 43
Thinking in Objects: Object-Oriented Analysis and Design
25 /
Object-Oriented Systems Analysis and Design 43
O-O: Similar Phases, Different Rhythm
• Similarities to SDLC
◦ Follows similar high-level phases (Problem Identification, Analysis, Design)
◦ Uses rigorous, detailed modeling (UML)
• Pace: Because of the detailed modeling, the pace is often more deliberate than
Agile (similar to SDLC in rigor)
• Key Difference: Iterative Nature within Phases
◦ Often uses a Spiral Model approach:
• Analyze → Design → Implement a small part of the system (e.g., a key feature)
• Repeat (spiral outwards) for the next part
◦ Reworking diagrams and components based on learning is expected and normal
26 /
Object-Oriented Systems Analysis and Design 43
The O-O Workflow with UML
27 /
Object-Oriented Systems Analysis and Design 43
O-O Steps 1 and 2: Understanding Interactions
28 /
Object-Oriented Systems Analysis and Design 43
O-O Steps 3 and 4: Classes and States
29 /
Object-Oriented Systems Analysis and Design 43
O-O Steps 5 and 6: Refining Design and Building
30 /
Object-Oriented Systems Analysis and Design 43
Common Ground: More Similar Than Different?
31 /
Choosing Which Systems Development Method to Use 43
Making the Choice (1/3): When to Use SDLC?
32 /
Choosing Which Systems Development Method to Use 43
Making the Choice (2/3): When to Use Agile?
33 /
Choosing Which Systems Development Method to Use 43
Making the Choice (3/3): When to Use O-O?
34 /
Choosing Which Systems Development Method to Use 43
Beyond Proprietary: Open Source Software (OSS)
• What: Software where the source code is publicly available for anyone to study,
share, and modify
• Contrast: Opposite to proprietary software (where source code is hidden/secret)
• Core Principles: Collaboration, Shared contribution and benefits, Modifications
typically shared back, Adherence to specific open source licenses
• Philosophy: Often viewed as a communal process and product, sometimes aimed
at broader societal benefit
• Examples: Linux, Android, Apache Web Server, Mozilla Firefox Browser
• Growing Importance In: Cloud Computing, Big Data Analytics, AI/Machine Learning,
Internet of Things (IoT), Cybersecurity, Blockchain
35 /
Developing Open Source Software 43
The OSS Ecosystem: Communities and Platforms
• Diverse Communities: OSS isn’t one entity; communities vary (e.g., based on goals,
structure: ad hoc, standardized, organized, commercial)
• Supporting Foundations: Provide crucial infrastructure, governance, legal support,
event organization
◦ Example: The Apache Software Foundation, The Linux Foundation (hosts 1000s of
projects)
• Key Development Platform: GitHub (Owned by Microsoft)
◦ Provides: Code hosting (using Git), Collaboration tools, Issue tracking, Developer
profiles and networking
• Underlying Technology: Git
◦ The most widely used open source version control system. Essential for tracking
changes to code files over time, especially in collaborative projects
36 /
Developing Open Source Software 43
Bridging Worlds: Corporations and OSS
• Historical Divide
◦ Corporations → Proprietary code (Guarded for competitive advantage)
◦ OSS Communities → Shared code and community values
• The Modern Reality: Collaboration
◦ Companies increasingly participate in and contribute to OSS
• “The Third Design Space” [3]
◦ A metaphorical space where corporate developers and community developers
collaborate
◦ Creates: New shared design environments, resources, associations
◦ Results In: Innovative shared software, new development processes (blending
corporate needs and community practices), developers skilled in both worlds
◦ Enables: Innovations potentially not achievable in purely commercial or purely
community settings alone
37 /
Developing Open Source Software 43
Corporate Motivations: Why Participate in OSS?
38 /
Developing Open Source Software 43
The Rules of the Road: OSS Licensing and Compliance
• Licenses are CRITICAL: They define permissions, obligations, and restrictions for
using, modifying, and distributing OSS code
• Community Consensus: Licenses arise from and are chosen by specific OSS
communities
• Popular Examples: Apache Licence 2.0, GNU General Public License (GPL - v2, v3,
LGPL), MIT License, BSD Licenses, Mozilla Public License 2.0
• Your Responsibility: When using OSS components, you must identify their licenses
and ensure compliance. Failure can have legal consequences!
• Compliance Tools and Standards
◦ Software Package Data Exchange (SPDX): A standard format for communicating license
information clearly (Linux Foundation WG)
◦ FOSSology: An open-source tool/toolkit (Linux Foundation Project) to scan codebases,
identify licenses and copyrights, and help manage compliance workflows
39 /
Developing Open Source Software 43
OSS on Your Resume: Skills and Opportunities
40 /
Developing Open Source Software 43
The Analyst and Open Source
[1] Project Management Institute, A Guide to the Project Management Body of Knowledge (PMBOK®
Guide) – Seventh Edition and The Standard for Project Management, 7th. Newtown Square, PA, USA:
Project Management Institute, 2021 (cit. on pp. 11, 20).
[2] K. Beck and C. Andres, Extreme Programming Explained: Embrace Change, 2nd. Boston, MA:
Addison-Wesley Professional, 2004 (cit. on p. 23).
[3] K. E. Kendall, J. E. Kendall, M. Germonprez, and L. Mathiassen, “The Third Design Space: A postcolonial
perspective on corporate engagement with open source software communities,” Information Systems
Journal, vol. 30, no. 2, pp. 369–402, 2020. doi: 10.1111/isj.12270 [Online]. Available:
[Link] (cit. on p. 37).
[4] J. E. Kendall, K. E. Kendall, and M. Germonprez, “Game theory and open source contribution: Rationale
behind corporate participation in open source software development,” Journal of Organizational
Computing and Electronic Commerce, vol. 26, no. 4, pp. 323–343, 2016. doi:
10.1080/10919392.2016.1228360 [Online]. Available:
[Link] (cit. on
p. 38).
42 /
References 43
References II
[5] The Linux Foundation Research Team, “The 10th Annual Open Source Jobs Report,” The Linux
Foundation Research Team, Tech. Rep. 10, 2022. doi: 10.70828/RZRE1873 [Online]. Available:
[Link]
report (cit. on p. 40).
[6] NASA, NASA Open Source Software, [Link] A catalog of open source software
released by NASA, 2012 (cit. on p. 41).
43 /
References 43