Please enable JavaScript.
Coggle requires JavaScript to display documents.
Systems analysis and design - Coggle Diagram
Systems analysis and design
Dev't of IS
What is a System?
A system is a collection of interrelated components that function together to achieve some outcome.
Skills
Technical
Knowledge of computer systems
Skills in software packages
Programming languages & OS'
Business
Org structure
Processes
Traditions, vision, values
People
Integrity
Ethics
Communication
Dev't Approaches
SDLC
Maturity
Succession planning
Growth
Life
Birth
Death
Structured vs OOP
Predictive vs Adaptive approaches
Project Mgmt
Project software
Work Breakdown
Music video - what tasks were needed to make it happen :musical_note::guitar:
Timeframes
Critical Path
Slack time
Early/Late time & start time
4.Risks! :warning:
Financial
Cost/Benefit
Operations
Benefits
Ongoing
ROI
Project Mgmt
Inexperience
Lack of skills
Change in team composition
User acceptance
5.Fact finding :mag:
Requirements
Functional
Non-Functional
Usability
Reliability
Performance
Security
Recording
UML Diagrams
Use-case
Class
Activity
Sequence
Note that UML is useless if someone doesn't know how to interpret them!!!!
Interview Agenda
Info gathering
Observation
Interviews
Questionaire
6.Requirements
Identifying Events
Types
External
triggered by external actors
Temporal
triggered at a time (e.g. every night)
Internal
triggered by an internal actor or other event
Scope
Oh, CRUD!
Create, read (or report), update, and delete. Used to identify data items handled by the IS
Lots more UML diagrams!
Use-Case
Actors
Use Cases
Automation Boundary
Relationships
Entities :silhouette::computer:
Thing.
Things
Cutomer
Product
Invoice
Employees
Attributes
Key
Any properties of the thing, e.g. colour of a product, name of a customer
Relationships
1:1
1:M
M:M
ERD
Domain Model
Modelling
Object vs Traditional
Data Flow Diagrams
System sequence diagrams
Alternatives for Implementation
Deployment environment
Environment must be considered with any implementation
Third-Party vendors
Request for Quote
Request for proposal
In house development
Turnkey solution
Systems design
Elements
Translate analysis to instructions useful for programing
Activities
Design the UI
Describe the environment
Application Components
Database Design
Software classes and methods
User Interface
HCI
System inputs and outputs
Present the right information to the right people!
Controls
What will stop unintended access to the software? What will stop errors from occuring in the application?
Implementation & Support
Deployment
Data transfer
Conversion of existing data
Reuse or reload existing database?
Training users
System Documentation
User Documentation
Move from Dev to Prod
Configure Prod environment e.g. servers
Cutover to new system
Phased
Parallel
Direct cut
Impementation
Testing
Unit Testing
Integration Testing
Performance & Stress testing
UAT
Support
Support & Change requests
Current Trends
Adaptive methodologies
Unified Process
4 Phases
Elaboration
Construction
Inception
Transition
Multiple Disciplines
Agile
Extreme Programming
User Stories
Testing for stories is planned before dev
Pair Programming
Collective ownership
Nobody Owns a piece of code, everyone can edit and adjust any piece of code, rather than having silos for different sections of code.
Strict standards & code discipline
Scrum
Crystal Methodology
Kanban
SAAS
Delivery model similar to a utility
Minimal software installed on user devices
Usually no servers on prem, all "cloud"
Cheaper for smaller businesses
Web Services
Software accessed via a web browser
Executes on the service owner's servers, not the user's PC
Delivers information via web pages