1/56
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
Why are failed systems abandoned?
analysts tried to build wonderful system w/o understanding the organization
Primary goal
create value for the organization
Systems Analyst
Analyzing the business
Identifying opportunities for improvement
designing information systems to implement these ideas
Systems Analyst Skills
Technical skills
Business skills
Analytical skills
Interpersonal
Management
Ethical
Technical Skills
existing environment and the new system’s tech foundation and the way both can be fit into an integrated technical solution
Business Skills
how IT can be applied to business processes and to ensure that IT delivers real business value
Analytical skills
put to test regularly in both project and organizational level
Interpersonal Skills
Communicate effectively
Management
manage the pressure and risks associated with unclear situations
Ethically
fairly and honestly
Systems Development Life Cycle
Planning
Why build the system?
Analysis
Who, what, when, where will the system be?
Design
How will the system work?
Implementation
System delivery
Planning
Identifying business value
Analyze feasibility
Develop work plan
Staff the project
Control and direct project
Analysis
Info gathering
Process modeling
Data modeling
Design
Physical design
Architectural design
Interface design
Database and file design
Program design
Implementation
Construction
Installation
Methodology
formalized approach or series of steps
SDM Categorization
Process centered
Data centered
Object oriented
Structured Design
Moves methodically from one to the next step
Waterfall
Parallel
Waterfall Development
Pros
identifies systems requirements long before programming begins
Cons
design must be specified on paper before programming begins
long time between system proposal and delivery of new systems

Parallel Development

Rapid Application Development
Phased development
A series of versions
Prototyping
System prototyping
Throw-away prototyping
Design prototyping
Critical elements of rapid application development
CASE tools
JAD sessions
Fourth generation/visualization programming languages
Code generators
Prototyping

Throw-away Prototyping

Object Oriented Systems Analysis and Design (OOSAD)
Use Case Driven
use cases as primary modelling tools
Architecture Centric
requirements focus on software architecture for a more cost effective approach
Iterative and Incremental
Benefits of OOSAD
modularity
Iterative and Incremental Development

Agile
Individuals & Interactions over Process & Tools
Working Software over Comprehensive Documentation
Customer Collaboration over Contract Negotiation
Responding to Change over Following a plan
Extreme Programming
Communication - rapid feedback
Simplicity - KISS
Feedback - incremental changes
Courage - quality first mentality
Scrum
Ideas for features
Items managed by product owner
Product owner develops and manages a prioritized feature list
Product backlog
to-do list
Sprints
the development cycles in Scrum development process
DevOps & Custom Methodologies
Inclusion of operations personnel with the dev team
Continuous deployment
Selecting the Appropriate Methodology
Clarity of User Requirements
Familiarity with Tech
System Complexity
System Reliability
Short Time Schedules
Schedule Visibility
Unified Process Phases
Inception
Elaboration
Construction
Transition
Unified Process Workflows
Engineering workflow
Business modelling workflow
Requirements workflow
Design workflow
Implementation workflow
Testing workflow
Deployment workflow
Unified Modeling Language
Object Management Group
Structure Diagrams
Behavior Diagrams
Version 2.5 of the UML defines a set of 15 diagramming techniques
Why OOS?
Managing code
Maximize Reuse
Build on other’s work
Modularity
No need to start from scratch
Combines both process and structure oriented
Basic Characteristics of OOS
Classes and objects
Methods and Messages
Encapsulation and Information Hiding
Inheritance
Polymorphism and Binding
Class
template to define specific instances or objects
Object
Instantiation of a class
Attributes
Describes the object
Behaviors
specify what object can do
Method
implement an object’s behavior
Message
sent to trigger methods
Encapsulation
combination of data and process into an entity
Information Hiding
only the info required to use a software module is published to the user.
Internal workings are hidden
Superclass
general class are at the top of a hierarchy of classes
Subclasses
inherit attributes and methods from classes higher in the hierarchy
Abstract Class
cannot be instantiated directly
Concrete Class
can be instantiated
Polymorphism
message can be interpreted differently by different classes of objects - method overriding
Dynamic Binding
Run Time
Late binding
Overriding
method that is actually called is not chosen by the object-oriented system until the system is running
Polymorphism is made possible through dynamic binding
Static Binding
Compile Time
Early binding
Overloading
developer has to choose which method should be called instead of allowing the system to do it
Use Case Driven
allows developers to focus on how users interact with the system
Encapsulation
Hiding the content of the object
Communication only through the object’s methods
Key to reusability
Polymorphism
same message triggers diff methods in diff objects
dynamic binding means specific method is selected at run time
implementation of dynamic binding is language specific
need to be very careful about run time errors
need to ensure semantic consistency
Inheritance
singe inheritance - one parent class
multiple inheritance - multiple parent classes
redefinition and inheritance conflict
most inheritance conflicts are due to poor classification