Title: Systems Analysis
1Systems Analysis Programming
10
Chapter
- 10.1 Systems Development
- 10.2 Programming A Five-Step Procedure
- 10.3 5 Generations of Programming Languages
- 10.4 Programming Languages Used Today
- 10.5 Object-Oriented Visual Programming
- 10.6 Markup Scripting Languages
2Systems Development
- Organizations can make mistakes, and big
organizations can make really big mistakes - Murphys Law Whatever can go wrong, will go
wrong, and at the worst possible time - A system
- A collection of related components that interact
to perform a task in order to accomplish a goal - Systems Development
- 6-phase process of gathering information about
system requirements and using that to develop a
new system that improves productivity
Warning! Road Out!
3Systems Development
- The three kinds of roles (users) of a project
are - Users
- The new system must ALWAYS be developed in
consultation with the people who will be using
the completed system - Management
- Managers within an organization should be
consulted about the system, as they control the
budget and resources - Technical staff
- The Information Systems or IT staff must be
involved so they can make sure the technology is
there
4Systems Development
- Systems Analyst
- An information specialist who performs systems
analysis, design, and implementation - His or her job is to study the information and
communications needs of an organization and
determine what changes are needed to deliver
better information to the people who need it
5Systems Development
- The 6 phases of systems analysis design are
- Information systems are frequently revised and
upgraded - Steps in the cycle often overlap
System Develovement Life Cycle
6Systems Development
- Phase 1 Conduct a preliminary investigation
- Conduct a preliminary analysis
- Propose alternative solutions
- Interview people within the organization
- Study what competitors are doing
- Decide to leave the system as is, improve it, or
develop a new system - Describe costs and benefits
- Submit a preliminary plan with recommendations
- This should be a written report
- Get management approvals for next phase
7Systems Development
- Phase 2 Analyze the system
- Gather data
- Interview employees and managers
- Develop, distribute, analyze questionnaires
- Review current written documents
- Observe people and processes at work
- Analyze the data
- Use system modeling tools
- Create a data flow diagram to show how data flows
through the system - Write a report and get approvals for next phase
- Document how the current system works
- Document problems with the current system
- Describe the requirements for the new system
8Systems Development
- Phase 3 Design the system
- Notice that you dont design the new system until
you have done phase 2 since that establishes the
requirements it must meet! - Do a preliminary design
- Often involves prototyping
- Do a detail design, showing
- Input requirements
- Output requirements
- Storage requirements
- Processing requirements
- System controls
- Backup
- Write a report and get approvals for next phase
9Systems Development
- Phase 4 Develop the system
- Develop or acquire the software
- Acquire and integrate the hardware
- Test the system
- Unit testing
- Systems testing with both analysts and end-users
- End-user testing is critical, as they dont know
the software and will show the developers where
they forgot something
10Systems Development
- Phase 5 Implement the system
- Choose a strategy to convert to the new system
- Direct implementation
- Parallel implementation
- Phased implementation
- Pilot implementation
- Train the users
- Document the system
- Give classes or train the trainers
11Systems Development
- Phase 6 Maintain the system
- Perform periodic evaluations
- Make changes to the system based on new
conditions - Document those changes
12Programming A Five-Step Procedure
- A program is a list of instructions that the
computer must follow to process data into
information - The five steps are
- Clarify/define the problem
- Design the program
- Code the program
- Test the program
- Document and maintain the program
135 Generations of Programming Languages
- 1945 1st Generation Machine Language
- The basic language of the computer all zeros
and ones - Each CPU architecture had a different machine
language
145 Generations of Programming Languages
- 1945 1st Generation Machine Language
- Mid-1950s 2nd Generation Assembly Language
- Mnemonic version of machine language
- Faster to program in than machine language
- Each CPU architecture had a different assembler
155 Generations of Programming Languages
- 1945 1st Generation Machine Language
- Mid-1950s 2nd Generation Assembly Language
- Mid-1950s to 60s 3rd Generation High-level
Languages (procedural languages) such as FORTRAN,
COBOL, BASIC, C - These languages are portable (the same across all
CPUs) - The programmer writes, then interprets or
compiles the programs - The compiler or interpreter translates the code
into the CPU-specific assembler
165 Generations of Programming Languages
- 1945 1st Generation Machine Language
- Mid-1950s 2nd Generation Assembly Language
- Mid-1950s to 60s 3rd Generation High-level
Languages (procedural languages) such as FORTRAN,
COBOL, BASIC, C - Early 1970s 4th Generation Problem-oriented
Languages such as SQL, Intellect, NOMAD, FOCUS - Easier to program in than 3rd generation
languages - Three types are
- Report generators
- Query languages
- Application generators
175 Generations of Programming Languages
- 1945 1st Generation Machine Language
- Mid-1950s 2nd Generation Assembly Language
- Mid-1950s to 60s 3rd Generation High-level
Languages (procedural languages) such as FORTRAN,
COBOL, BASIC, C - Early 1970s 4th Generation Problem-oriented
Languages such as Intellect, NOMAD, FOCUS - Early 1980s 5th Generation Natural Languages
- Programming languages that use human language to
give people a more natural connection with
computers - Part of the field of artificial intelligence
18Programming Languages Used Today
19Object-Oriented What Is an Object?
- Objects are key to understanding object-oriented
technology. - Look around right now and you'll find many
examples of real-world objects your dog, your
desk, your television set, your bicycle.
20Object-Oriented What Is an Object?
- Real-world objects share two characteristics
- They all have state and behavior.
- Dogs have state (name, color, breed, hungry) and
- behavior (barking, fetching, wagging tail).
- Identifying the state and behavior for real-world
objects is a great way to begin thinking in terms
of object-oriented programming.
21Object-Oriented What Is an Object?
- Software objects are conceptually similar to
real-world objects they too consist of state and
related behavior. - An object stores its state in properties (fields,
attributes or variables in some programming
languages) - An object exposes its behavior through methods
(functions in some programming languages).
22Object-Oriented What Is a Method?
- Methods operate on an object's internal state and
serve as the primary mechanism for
object-to-object communication. - Hiding internal state and requiring all
interaction to be performed through an object's
methods is known as data encapsulation a
fundamental principle of object-oriented
programming.
23Object-Oriented Visual Programming
- In Object oriented Programming (OOP) data and
processing instructions are combined into an
object that can be reused - Object
- Self-contained module consisting of reusable code
- Message
- The instruction received by the object indicating
it is time to perform an action - Method
- The processing instructions within the object to
perform the specified action
24Object-Oriented Visual Programming
- Black Box
- Objects are like a black box in that the
- actions and the objects are specified, but
- the methods used are internal to the object
- This means the programmer that uses an object
does not need to know how the program inside the
object does what it does - For example, Microsoft Excel is like an object
- Most of us use Excel without understanding what
the programmers at Microsoft did to make Excel
work - If we had to know that, it would take a lot
longer to learn how to use Excel! - Programmers who use objects can write programs a
lot faster, because objects save so much work
25Object-Oriented Visual Programming
- 3 basic concepts of OOP
- Encapsulation
- One object contains (encapsulates) both
- State Data (properties)
- Relevant processing instructions or behavior
(methods) - Inheritance
- One object can be used as the foundation for
other objects - Objects can be arranged in hierarchies classes
and subclasses - Objects can inherit actions and attributes from
each other - Polymorphism
- Allows a single definition to be used with
different data types and different functions - Means a message produces different results
depending on the object it is sent to
26Object-Oriented Visual Programming
Example of Inheritance Hierarchy with
Specialization
The Door class
Actions performed by a door (behavior)
Subclasses of doors inherit from the door class,
but also have their own unique actions and
attributes
Notice we only list the actions attributes when
they differ from those of class
27Object-Oriented Visual Programming
- Visual Basic is an example of visual programming
- Using a mouse, the programmer drags and drops
objects on screen - The objects are arranged to make up the graphical
user interface for the program being written - By double-clicking on those objects, the
programmer can get into a coding window and write
the programs to control the actions and behaviors
of those objects - This makes it fast and easy to build prototype
user interfaces and get end-user approval before
doing a lot of programming