Tuesday, January 27, 2009

Human-computer interaction: Affordance, Usability Paradigms and Principles

What is Affordance?

Visibility ?
-Controls need to be visible with good mapping for their effects and their design should also suggest (afford) their functionality.

Affordance?
-Norman (1992) – is a technical terms that refers to the properties of objects
.What sort of operations and manipulations can be done to a particular objects
Eg – doors afford opening
- chair afford support
-Refers to the properties of objects.
..>Operations and manipulation can be done to a particular object.
-Make things visible
-Provide indication of how something can be used.
-Provide clues to what something “is for”
-Goal: use the object is evident just by looking at it.

-Buttons
..Flat
..Shadowed
-Hyperlinks
..Plain text
..Marked
-Cursor shapes

Perceptual
-Eg: button that affords pushing
wheel affords turning

Sequential
-Acting on one perceptual affordance leads to information indicating new affordances.
-Eg: Macintosh Scroll bar. There is a perceptual affordance to click the box (center) which immediately results in the box becoming “animated” and which affords moving the box left or right along the shaft. The affordance to grab the box leads sequentially to dragging.

Sound
-Action with sound.
-Eg: Sonic Finder designed by Gaver

Affordance - example
Does the design suggest that the door should be pushed or pulled?

Usability

•ISO defines usability as "the effectiveness, efficiency and satisfaction with which specified users can achieve specified goals in particular environments".
•usability is the measure of a product's potential to accomplish the goals of the users. It can be used in relation to any product that is employed to accomplish a task. In information technology, the term is often used in relation to software applications and Web sites.
•the term usability includes the following characteristics:
–ease of use
–ease of learning
–flexibility of use
–effectiveness of use
–user satisfaction

•identify the goals and to decompose effectiveness, efficiency and satisfaction and the components of the context of use into sub components with measurable and verifiable attributes.
–Effectiveness is the accuracy and completeness which specified users can achieve specified goals in particular environments.
–Efficiency: the resources expended in relation to the accuracy and completeness of goals achieved.
–Satisfaction: the comfort and acceptability of the work system to its users and other people affected by its use.


Usability framework according to ISO/DIS 9241-11.2.

Division of Usability

•Usability specification
–Usability specification refers to quantitative usability goals. It provides guidelines for knowing when an a system or an interface is good enough.
–Usability specification should be established as early as possible in the development process. It is regarded as a key in determining usability of an interactive system, by producing a metric against which usability of a particular user interface can be measured.

•Usability Evaluation
–Usability evaluation, meanwhile, is concerned with testing a prototype or a system to find out whether it is usable according to the specification.
–There are generally three types of usability evaluation methods:
•Usability testing
•Usability Inspection
•Usability Inquiry

Usability Testing
–Usability testing is a method by which users of a product are asked to perform certain tasks in an effort to measure the product's ease-of-use, task time, and the user's perception of the experience.
–Usability testing can be done formally, in a usability lab with video cameras, or informally, with paper mock-ups of an application or Web site.
–Changes are made to the application or site based on the findings of the usability tests. Whether the test is formal or informal, usability test participants are encouraged to think aloud and voice their every opinion. Usability testing is best used in conjunction with user-centered design, a method by which a product is designed according to the needs and specifications of users.

Usability Inspection
–Usability inspection is a method by which, usability specialists such as software developers or users will examine usability aspects of a user interface.

Usability Inquiry
–Usability inquiry is a method where usability evaluators obtain information about users' likes, dislikes, needs, and understanding of the system by talking to them, observing them using the system in real work, or letting them answer questions verbally or in written form.


Techniques for measuring usability

Monday, January 26, 2009

Human-computer interaction : Introduction

Objectives

Define HCI
-Understand the taxonomy of HCI
-Describe the components of HCI
-Understand the discipline contributing to HCI
-Understand the human factors

Definitions of HCI
-HCI is a discipline concerned with the design, evaluation and implementation of interactive computing systems for human use and with the study of major phenomena surrounding them. (ACM SIGCHI, 1992, p.6)
-A set of processes, dialogues and actions through which user employs and interacts with a computer. (Baecker and Buxton, 1987, p.40)
-HCI is about designing computer systems that support people so that they can carry out their activities productively and safely. (Preece 1994)

The importance of HCI
-HCI is important in the design process since the computer interface is the first point of contact the user has with the system and the user will judge the system on the basis of the interface.

-Systems should consider some aspects of the cost:
..>The cost of software is high and the competitive edge is more difficult to achieve. The interface to a system might give it this edge.
..>The cost to train users is high, therefore, a system which is easy and natural to use will save money in the long run, since the training time will be kept to a minimum.
..>The cost of human error can be high. Systems that are transparent ought to reduce the likelihood of error or to aid error recovery.

Taxonomy of HCI

Use and context
>social organization and work
.>Humans are interacting social beings.
.>Considers models of human activity.
Small group, organizations, socio-technical systems
.>Quality of work life..

application areas
>Characteristics of application domain, e.g : individual vs group work
>Popular style
.>ocument production, tutorial and help, multimedia information kiosks, embedded systems.

human-machine fit & adaptation
>Improve the fit between the designed object and its use
>How systems are selected and adopted, how systems adapt to the user (customization), how users adapt to the system (training, ease of learning), user guidance (help, documentation, error-handling)

Human characteristics (how people work and how they are expected to interact with machines)
>human information processing
>Characteristics of the human as a processor of information
>Memory, perception, motor skills, attention, problem solving…

language, communication, and interaction
>Aspects of language
>Syntax, semantics, conversational interaction, specialized languages

ergonomics
>Characteristics of people and their relationship to workspace and the environment
>Arrangement of displays and controls, fatigue and health, design for the disable…

Computer system & interface architecture
>input & output devices
>dialogue techniques
>dialogue genre
>computer graphics
>dialog architecture

Development process
>design approaches
>implementation techniques & tool
>evaluation techniques




Disciplines contributing to HCI
.Computer Science
-To provide knowledge about the capability of technology and wide assortment of software tools.
-It also provides methods for facilitating design & development.

.Cognitive Psychology
-It provides knowledge about the capabilities & limitation of users
-Concerned with understanding human behavior such as what we see, what we touch, what we taste.

.Social and organizational psychology
-Concerned with studying the nature and causes of human behavior in a social context.
-The role of social and organizational psychology is to inform designers about social and organizational structures and about how the introduction of computers will influence working practices.

.Ergonomics
-Developed from the interests of a number of different disciplines.
-Its purpose is to define and design tools and various artifacts for different work, leisure and domestic environments to suit the capabilities and capacities of users.

Linguistics
-Is the scientific study of language
-Understanding of the syntax (structure) and semantic (meaning) is important

Artificial Intelligence
-Concerned with the design of intelligent computer programs which simulate different aspects of intelligent human behaviour.
-The relationship of AI and HCI is mainly concerned with users’ needs when interacting with an intelligent interface.

.Philosophy, sociology and anthropology
-Traditionally, they have not been directly involved with the actual design of computer systems, but rather with the consequences of developments in information technology and technology transfer.

.Engineering and design
-Engineering is the applies science which relies heavily on model building and empirical testing. its takes the findings of science and utilizes them in the production of artifacts.
-Design contributes creative skills and knowledge to this process.

Human Factor (Ergonomics)


"The scientific study of the relationship between human and their work environment" (Murrell, 1965; Chapanis, 1965)

.Is the study of the physical characteristics of the interaction:
-How the controls are designed
-The physical environment in which the interaction takes place
-The layout and physical qualities of the screen.

Issues Addressed by Ergonomics
-Arrangement of controls and displays
-Sets of controls and parts of the display should be grouped logically to allow rapid access by the user.
-Should be organized in terms of
...Functionality – controls and displays are organized so that those that are functionally related are placed together
...Sequential - controls and displays are organized in a particular task sequence.
...Frequency - controls and displays are organized based on the frequency of used

The physical environment of the interaction
-Where will the system be used
-By whom will it be used
-Will users be sitting, standing or moving about
-Considerations
..Size
The smallest user should be able to reach all the controls (this may include a user in a wheelchair), and the largest user should not be cramped in the environment. In particular, all users should be comfortably able to see critical displays.
..Seat
For long period of use, the user should be seated for comfort and stability, and seating should provide back support.
..Stand
If required to stand, the user should have room to move around in order to reach all the controls.

Health Issues
-These are the factors in the physical environment that directly affect the quality of the interaction and the user's performance :
...Physical Position
...Temperature
...Lighting
...Noise
...Time

The use of colour
-Importance of Arrangement of Control and Displays
...Give strong emotional reaction
...Add accents to an uninteresting display
...Facilitate subtle discrimination in complex displays
...Emphasize the logical organization of information
...Draw attention to alert the users








Tuesday, January 20, 2009

Kaspersky Mobile Security 7.0

Kaspersky Mobile Security 7.0 offers powerful protection for data stored on smartphones in the event that the device is lost, as well as protecting against network attacks, malware and SMS spam. A series of technical and functional modifications have improved the performance of the product, making it more effective and user-friendly.

Key new functions available in Kaspersky Mobile Security 7.0 allow users to completely block a lost device or to remotely delete the data on it. Moreover, if a smartphone is stolen, the SIM-Watch function prevents the thief from accessing data on the phone without the original SIM card; as soon as the original SIM card is replaced, a message notifies its owner of the new telephone number.

Kaspersky Mobile Security 7.0 scans incoming files and network connections in real-time, performing antivirus scans of the whole device on demand or on schedule. The product also blocks messages from unwanted or incorrect numbers, as well as SMS messages containing words or phrases entered by the user into a blacklist.

Regular updates of antivirus databases allow Kaspersky Mobile Security 7.0 to protect against the very latest malicious programs. Updates are performed automatically at intervals set by the user and are available via WAP/HTTP (GPRS, EDGE, Wi-Fi, etc.) or via a PC during synchronization.

Kaspersky Mobile Security 7.0 can be installed on smartphones running Windows Mobile 5.0, 6.0 or Symbian version 9.x Series 60 3rd.

download here:
http://www.kaspersky.com/trials

Kaspersky Anti-Virus 2009

Kaspersky Anti-Virus 2009 is an essentially new approach to data security. The main feature of the application is restricting the programs' rights to access the system resources. It helps prevent unwanted actions by suspicious and hazardous programs. The application's capabilities in the protection of user's confidential data have been considerably enhanced. The application now includes wizards and tools which substantially facilitate execution of specific computer protection tasks

The new features in Kaspersky Anti-Virus 2009:

New Protection Features:
- Scanning of operating system and software for vulnerabilities with their subsequent elimination maintains a high system security level and prevents sneaking of hazardous programs into your system.
- New wizards � Security Analyzer and Browser Configuration facilitate the scanning for and elimination of security threats and vulnerabilities in the applications installed on your computer, operating system's and browser settings.
- Kaspersky Lab now reacts faster to the new threats due to the use of Kaspersky Security Network technology that gathers data about infection of users' computers and sends it to Kaspersky Lab's servers.
New System Restore wizard helps fix system damages after malware attacks.

New confidential data protection features:
- Security of confidential data entered from the keyboard is ensured by a new tool Virtual keyboard.

New protection features for internet use:
- Protection against internet intruders has been upgraded due to the extended databases of phishing sites.
- Security of working with instant messengers is provided by ICQ and MSN traffic scan.

New program's interface features:
- The new program's interface reflects the comprehensive approach to information protection.
- High information capacity of dialog boxes helps user quickly make decisions.
- The functionality of reports and statistics information about the application's operation has been extended. The possibility of using filters allowing flexible setup when working with reports makes this product irreplaceable for professionals.

Extract (with a PortableApps folder at the device's root) and run KAV8Portable.
Only scanner: no monitor.
Not actived but you can update bases after each launch.
Language fixed by launcher according UserDefaultLang.

Interface Language: English, French, Russian

OS: Windows 2000, XP, Vista

download here:
http://www.kaspersky.com/downloads

free key:
T6B6K-8YK22-VBQH7-ZUZJG
T1JVS-NNMBD-K1QTN-SUBP8

Kaspersky Internet Security 2009

Kaspersky Internet Security 2009
Kaspersky Internet Security 2009 is a new line of Kaspersky Labs products, which is designed for the multi-tiered protection of personal computers. This product is based on in-house protection components, which are based on variety of technologies for maximum levels of user protection regardless of technical competencies. This product utilizes several technologies, which were jointly developed by Kaspersky Labs and other companies; part of them is implemented via online-services.

Features:
* Integrated protection from all Internet threats
* Integrated antivirus protection: 1) Hourly automated database updates, 2) Preliminary behavior analysis, 3) On-going behavior analysis. New!
* Real-time scanning for email, Internet traffic and files
* Personal firewall with an IDS / IPS system. Improved!
* Protection from leaks of confidential data. New!
* Parental Control. New!
* Protection from spam and phishing
* Automatic database updates

Additional Features
* Protection from viruses, Trojans and worms
* Protection from spyware and adware
* Protection from all types of keyloggers. Improved!
* Detection of all types of rootkits. Improved!
* Protection from viruses when using ICQ and other IM clients
* Rollback of malicious changes on your PC
* Self-defense of the antivirus program from being disabled or stopped
* Tools for creating a Rescue Disk
* Free technical support

Using the Internet safely and securely
Secure surfing. The solution analyses web pages and blocks potentially malicious web-based content. It also blocks
pop ups and ads, which are not simply irritating: virus writers often use ads to install Trojans that steal your
confidential data or give the Trojan?s owner access to your computer.

Privacy Control
Many malicious programs attempt to locate and harvest user IDs and passwords for online bank accounts, auctions,
shops, email, payment systems, chat rooms, online games and etc from Windows Protected Storage. Kaspersky Internet
Security monitors and blocks all attempts to collect and forward your confidential data from this storage area.

Protection from phishing
Kaspersky Internet Security filters out phishing emails and protects you from accessing websites run by phishers
who use social engineering to fool you into sharing your banking or online payment information.

Parental Control
Parents can protect their children from online predators by creating blacklists of individual websites, as well
as identifying categories of forbidden content such as drugs, ----ography and so on. These lists can be customized
by user type for children, teens or adults. In addition, parents can manage their children?s Internet experience
by limiting the amount of time they spend online.

Anti-virus protection and more
Protection from all of today?s Internet threats. Kaspersky Lab combines three protection technologies to protect
you against viruses, Trojans, worms, keyloggers, rootkits and other threats. This means that you are safe from
spyware, adware, ----ware, crimeware and anything else today?s cyber criminals invent.

Firewall
The inbuilt personal firewall provides new generation protection from intrusions and data leaks. The default
settings for popular applications control network and Internet activity using the IDS/IPS to prevent hackers from
taking over your computer or stealing your data. Stealth mode allows you to surf safely and invisibly, protecting
you from becoming a target for hacker attacks.

Anti-spam protection
The anti-spam module uses a combination of filtration methods to protect you from spam targeting you personally:
white and black lists of senders and content, self-modifying algorithms for text analysis, graphical spam analysis
and more.

Self-protection
Today virus writers begin their attack on your computer by disabling anti-virus protection. Kaspersky Internet
Security is designed to block all attempts to disable protection, leaving you to work and play securely.

Restoring your data and your system
Rollback of malicious changes. Kaspersky Internet Security monitors system and application behavior for suspicious
behavior. Once malicious behavior is detected, the process is blocked and any changes caused by malicious code
are rolled back. Your system is clean and your original data is intact.

Rescue disk
Creating a rescue disk is quick and easy using the built in wizard in Kaspersky Internet Security. If your
computer is ever attacked by a virus, you can restore and disinfect your system right away by yourself using the
rescue disk you created even if the operating system has been damaged.

download here:
http://www.kaspersky.com/downloads

Monday, January 19, 2009

Data Base : COMPONENTS OF A DBMS

What is a DBMS?
DBMS (or Database Mgmt System).A software for creating and managing large databases efficiently.
.E.g.
-Oracle
-MSAccess
-Sybase

Real Business: What is a DBMS
Database management systems:
Provide efficient and secure access to large amounts of data.
Address problems such as:
How to store the data
How to query data efficiently
How to update the data securely (by multiple users)
Contrast with using file systems for the same task

Database Industry
-Relational databases are a great success of theoretical ideas.
-“Big 3” DBMS companies are among the largest software companies in the world.
-IBM (with DB2) and Microsoft (SQL Server, Microsoft Access) are also important players.
-$20B industry
-Challenged by object oriented DBMS.

Functionality of a DBMS
-Storage management
-Abstract data model
-High level query and data manipulation language
-Efficient query processing
-Transaction processing
-Resiliency: recovery from crashes
-Interface with programming languages

Why Use a DBMS?
-Data independence and efficient access.
-Reduced application development time.
-Data integrity and security.
-Uniform data administration
-Concurrent access and recovery from crashes.

The Study of DBMS
-Several aspects:
=Modeling and design of databases
=Database programming: querying and update operations
=Database implementation
-DBMS study cuts across many fields of Computer Science: OS, languages, AI, Logic, multimedia, theory...

Need for a DBMS
0To be able to appreciate why we need a DBMS, we must look at what are the limitations of the file processing system (FPS) traditionally used for accessing huge amount of data.
-So, what is a FPS?
=One of the ways to store, manipulate and retrieve large files of data.

For example : a savings bank.
Two types of files
Account File
Customer File.
A separate computer program is written to accomplish the following tasks
Debit or Credit an Account
Add a new account.
Find an account balance.
Generate monthly statements.
Each program defines and manages its own data.
Development of the system proceeds as follows:
New application programs must be written as the need arises.
New permanent files are created as required.


Functions of DBMS
Data Abstraction
The major purpose of a database system is to provide users with an abstract view of the system.
The system hides the details of how data is stored and created and maintained.
There are three levels of abstraction:
Physical Level:
Conceptual Level:
View Level:

Three levels of data abstraction
Physical Schema:
-Is concerned with how the data is stored in the computer’s hard-disk.
E.g. index, B-tree, hashing.
-Lowest level of abstraction.
-Complex low-level structures described in detail.
Conceptual Schema:
-Next highest level of abstraction.
-a detailed specification of the overall structural organization of the data.
-Specifically, what data is stored in the database and the relationships among the data (ER Models).
-Database administrator level.
External Schema or User-View Schema:
-Highest level.
-Describes part of the database for a particular group of users.
-Can be many different views of a database.
E.g. tellers in a bank get a view of customer accounts, but not of payroll data.

Data Base : Introduction

Introduction
Where do we begin?

=What is ‘data’?
=Data
-raw facts
-text, graphics, images, sound and video segments that have meaning in the users’ environment.

What is Metadata ?
-“data about data”
-i.e. data describing the properties or characteristics of data.

What is a database?
=Database
-Kind of electronic filing cabinet.
i.e. a container for a collection of computerized data files.
=Users of a database
-Add new files to the database.
-Remove (Delete) files from the database.
-Insert data into existing files.
-Retrieve data from existing files.
-Change/Delete data in existing files.

The problems with the straight file-processing approach
1.Program-data dependence
•Since in a TFPS, each application program accesses the data files directly, programs are dependent on how data is structured and stored giving rise to the following problems.
–Each application program needs to include code for the metadata of each file
–Each application program must have its own processing routines for reading, inserting, updating and deleting data
–Lack of coordination and central control
–Non-standard file formats
–Changes in data structuring requires changing all the application programs that reference it.

2.Difficulty in accessing data
–May have to write a new application program to satisfy an unusual request.
–E.g. find all customers with the same postal code.
–Could generate this data manually, but a long job...

3.Data redundancy and inconsistency
–Since in FPS, new files are created as required, same information may be duplicated in several places leading to data redundancy.
–All copies may not be updated properly resulting in inconsistent data.

4. Multiple Users
•Want concurrency for faster response time.
•Need protection for concurrent updates.
•E.g. two customers withdrawing funds from the same account at the same time - account has $500 in it, and they withdraw $100 and $50. The result could be $350, $400 or $450 if no protection.

5.Security problems
lE.g. Every user of the system should be able to access only the data they are permitted to see.
lpayroll people only handle employee records, and cannot see customer accounts; tellers only access account data and cannot see payroll data.
lDifficult to enforce this with application programs.

6.Integrity problems
@Data may be required to satisfy constraints.
@lE.g. no account balance below $25.00.
@Again, difficult to enforce or to change constraints with the file-processing approach.
•These problems and others led to the development of database management systems.

SOLUTION: The DATABASE Approach
•Central repository of shared data
•Data is managed by a controlling agent (a Database Management System (DBMS).
•Stored in a standardized, convenient form

Advantages of Database Approach
Program-Data Independence
–Metadata is stored in DBMS, so applications don’t need to worry about data formats.
–Data queries/updates are managed by DBMS so programs don’t need to process data access routines
–Allows the physical and (or) conceptual database schema to be altered without having to rewrite the application programs.
•Minimal Data Redundancy
–Leads to increased data integrity/consistency
•Improved Data Sharing
–Different users get different views of the data
•Enforcement of Standards
–All data access is done in the same way
•Improved Data Quality
–Constraints, data validation rules
•Better Data Accessibility/ Responsiveness
–Use of standard data query language (SQL)
•Security, Backup/Recovery, Concurrency
–Disaster recovery is easier

The Database Approach
•Database Application (DA)
–application program used to perform a series of database operations or activities on behalf of database user.
E.g create, read, update, delete

Types of Database Application
•Personal Computer Database
–support one user (standalone desktop database)
•Workgroup Database
–small team of people work together on the same project or application (LAN <25>
Component of Database Environment
CASE (Computer Aided Software Engineering Tools)
–tools used to design databases and application programs.
–Categories:
•Upper-CASE
•Lower-CASE
•Integrated-CASE
Repository
–centralized knowledge base of all data definitions, screen, data relationships, report formats and other system components.
•DBMS
Database – storehouse of the data
Application programs
User Interface
•Data Administrators
– personnel responsible for maintaining the database
System developers – personnel responsible for designing databases and software
End users

Components Of The Database Environment

“Users” of a Database
End Users
–use application programs, queries or reports prepared by developers (e.g. users of ATM)
•Application programmers / developers
–are computer professionals who write the application programs, reports, queries, etc.
•Database administrator
– handle security & authorization, recovery from crashes, tuning for performance, etc

System Analysis and Design Part 1 cont...

eXtreme Programming
•Extreme Programming is a discipline of software development based on values of simplicity, communication, feedback, and courage. It works by bringing the whole team together in the presence of simple practices, with enough feedback to enable the team to see where they are and to tune the practices to their unique situation.




System Owners
System owners are the information system’s sponsors and chief advocates. They are usually responsible for funding the project to develop, operate, and maintain the information system.

System Users
System users are the people who use or are affected by the information system on a regular basis—capturing, validating, entering, responding to, storing, and exchanging data and information. A common synonym is client. Types include:
–Internal users
•Clerical and service workers
•Technical and professional staff
•Supervisors, middle managers, and executive managers
•Remote and mobile users (internal but disconnected)
–External users

System Designers and System Builders
-System designers translate system users’ business requirements and constraints into technical solutions. They design the computer files, databases, inputs, outputs, screens, networks, and programs that will meet the system users’ requirements.
-System builders construct the information system components based on the design specifications from the system designers. In many cases, the system designer and builder for a component are one and the same.

Systems Analysts
A systems analyst studies the problems and needs of an organization to determine how people, data, processes, communications, and information technology can best accomplish improvements for the business. When information technology is used, the analyst is responsible for:
–The efficient capture of data from its business source,
–The flow of that data to the computer,
–The processing and storage of that data by the computer, and
–The flow of useful and timely information back to the business and its people.
Systems Thinking
Identify something as a SYSTEM ==>
Translate a specific physical situation into abstract terms ==>
Think about the essential characteristics of a specific situation

What is “SYSTEM”?
DEF : “An inter-related set of components with an identifiable boundary working together for some purpose”
Organizational Knowledge
-How work officially gets done in a particular organization
-Understand the organization’s internal politics
-Understand the organization’s competitive and regulatory environment
-Understand the organization’s strategies and tactics
Problem Identification
What is “PROBLEM”?
To identify:
-compare current situation to the desired situation
-Use models which are relied on by the IS users but it depends on organizational areas
-see problems from a broader perspective
Problem Analyzing & Solving

Analysis :
- find out more about the problem
- Formulate alternative solutions to the problems
- Phases :
Intelligence
Design
Choice
Implementation

General Problem-Solving Approach
1. Identify the problem.
2. Analyze and understand the problem.
3. Identify solution requirements or expectations.
4. Identify alternative solutions and decide a course of action.
5. Design and implement the “best” solution.
6. Evaluate the results. If the problem is not solved, return to step 1 or 2 as appropriate

Object-oriented Analysis and Design
•Methods of specifying requirements of the software in terms of real world objects, their behavior and their interactions
•The principles of objects, encapsulation, inheritance are the foundation for object-oriented systems development.

Object-Oriented Development Life Cycle
•Analysis
–Abstracts concepts from the application domain and describes what the system must do.
–Understand the requirements in order to be complete and accurate.
•Design
–how the application-oriented analysis model will be realized in the implementation environment.
–Rumbaugh separate design into 2: system design and object design
•Implementation
–Implement using programming language and/or database management system.

Benefits of object-oriented modeling:
•The ability to tackle more challenging problem domains
•Improved communication among users, analysts, designers and programmers
•Increased consistency among analysis, design, and programming activities
•Explicit representation of commonality among system components
•Robustness of systems
•Reusability of analysis, design and programming result.
•Increased consistency among all models developed during object-oriented analysis, design and programming.

UML Methods


The Unified Modeling Language
•“a language for specifying, visualizing, and constructing the artifacts of software systems, as well as for business modeling (UML Document Set, 1997)
•Use-case model
•Class diagram
•State diagram
•Sequence diagram

Use Case Modeling
•Use-case is done in the early stages of system development in order to gain understanding of the functional requirements of the system.
•Iterative process, include users .
•Promotes traceability whereby changes made in the use case model are then dictate to changes made in other model.
•Consists of actors and use cases

Use Case Diagram

Relationship between Use Cases
•Extend - <> (Adding new behavior, additional functionality)
•Include - <> (Refer to other use case)


Class Diagrams
•Class diagrams shows the static structure of an object-oriented model, object classes, internal structure and relationships.

•Three types of operations:
–Constructor
•Create new student
–Query
•Assess state of object, do not alter any state
–Update
•Alters state of an object
State Diagram
•Depicts various transitions or changes an object can experience during its lifetime, along with the events that cause those transitions.
Sequence Diagram
•Depicts the interactions among objects during a certain period of time.
•Presented either in generic form or in an instance form.
•Generic form -> all possible sequence to all the scenarios of a use case
•Instance form -> shows the sequence for only one scenario









System Analysis and Design Part 1: Foundations for Systems Development

Foundations for Systems Development
The concept of systems development
• A modern approach to system
analysis and design
• Types of Information System and
System development
• System development life cycle

Systems Analysis and Design
•A complex, challenging, and stimulating organizational process that a team of business and systems professionals uses to develop and maintain computer-based information systems.
•System analysis and design techniques provide the analyst with a systematic procedure for analyzing data input, data flow, and information output; furthermore, the techniques can improve the functioning of business.

IS and IT
-An information system (IS) is an arrangement of people, data, processes, communications, and information technology that interact to support and improve day-to-day operations in a business, as well as support the problem-solving and decision-making needs of management and users.
-Information technology is a contemporary term that describes the combination of computer technology (hardware and software) with telecommunications technology (data, image, and voice networks).

The concept of systems development
• information system and design
• application software
• software engineering processes
• methodologies
• techniques
• tools

Application software -Computer software designed o support organizational functions or processes.
Methodologies – comprehensive, multiple-step approaches to systems development that will guide your work and influence the quality of your final product.
Techniques-The particular processes that an analyst will follow to help ensure that his work is complete, well-done, and understood by project team members .
Tools –computer programs that make it easy to use and benefit from techniques and follow the guidelines of the overall development methodology.

A Modern Approach to System Analysis and Design
• Separating data and processes that handle data
3 components of IS :
i. Data
ii. Data flow
iii. Processing logic
* Process-oriented approach v.s. data-oriented approach

3 components of IS
•Data- Raw facts that describe people, objects, and events in an organization
•Information-Data that have been processed and presented in a form suitable for human interpretation, often with the purpose of revealing trends or patterns
•processing logic -The steps by which data are transformed or moved and a description of the events that trigger the occurrence of these steps
•A process-oriented approach is defined as an overall strategy to information systems development that focuses on how and when data are moved through and changed by an information system.
•data-oriented approach -An overall strategy to information systems development that focuses on the ideal organization of data, rather than where and how data are used
• Team - IS manager, system analyst
(SA), programmers,
end-users, supporting end-user,
business managers,
other IS Managers/Technicians

Types of IS and System development
• Transaction processing systems
• Management Information system
• Decision support system (DSS)
• Expert systems

-Transaction processing systems automate the handling of data about business activities or transactions.
==>
- automate the handling of data about business activities or transactions
- data for each transaction are captured, verified, accepted or rejected.
- Reports may be produced immediately.
- The analysis & design of TPS focuses on the firm’s
current procedures for processing transactions.

-Management information systems take the information generated by transaction processing systems and convert it into aggregated forms meaningful to managers.
==>
- takes the relatively raw data through a TPS and converts them into a meaningful form.
- Often requires data from several transaction processing systems.
- Must be able to develop a comprehensive and
accurate model of data in building an MIS.

-Decision support systems are designed to help organizational decision makers make decisions by providing an interactive environment that uses data and models.
==>
- designed to help organizational decision makers make decisions
- provides an interactive environment in which decision makers can manipulate data and models of business operations
- concentrates on 3 main components:
• database
• model base
• user dialogue

-Expert systems represent attempts to codify and manipulate knowledge rather than information by mimicking experts in particular knowledge domains.
==>
- used if-then-else rules or other knowledge representation forms that can describe the way an
expert would approach situations in a specific domain of problems.
- Need to acquire the knowledge of the expert in the particular problem domain.


Developing IS and the systems development life cycle.
-Systems development methodology
A standard process followed in an organization to conduct all the steps necessary to analyze, design, implement, and maintain information systems.
•Systems Development Life Cycle
The traditional methodology used to developed, maintain, and replace information systems.


What is methodology?
•The word Methodology is used in several ways.
•Methodology can refer to the science that studies the methods of problem solving. Most sciences have their own specific methodology.
•Methodology is sometimes used synonomously with "method," particularly a complex method or body of methods, rules, and postulates employed by a discipline. Some usage arbiters regard this usage as pretentious and questionable.
•In software engineering and project management, a methodology is a codified set of recommended practices, sometimes accompanied by training materials, formal educational programs, worksheets, and diagramming tools.



System development life cycle



•During the project identification and selection phase, an organization’s total information system needs are identified, analyzed, prioritized, and arranged.
•During the project initiation and planning phase, a potential IS project is explained, and an argument for continuing or not continuing with the project is made.
• During the analysis phase, the current system is studied, and alternative replacement systems are proposed.
•During the design phase, the description of the recommended solution is converted into logical and then physical system specifications.
• During the implementation phase, the information system is coded, tested, installed, and supported in the organization.
•During the maintenance phase, the system is systematically repaired and improved.


Other Approaches to Development
* Prototyping
an iterative process of systems development in which requirements are converted to a working system.
It will continually revised through close work between an analyst and users.
* Joint application design
a structured process in which users, managers, and analysts work together for several days in a series of intensive meetings to specify or review system requirements.
* Participatory design
focus on users and the improvement in their work lives.
*Rapid Application Development (RAD)
–Systems development methodology created to radically decrease the time needed to design and implement information systems. RAD relies on extensive user involvement. JAD sessions, prototyping, integrated CASE tools, and code generators.



Other Approaches to Development


CASE Tools
Computer Aided Software Engineering tools
-Software tools that provide automated support for some portion of the systems development process.
-an automated software tools used by systems analysts to develop information systems.
- It can be used to automate or support activities throughout the systems development process.

Agile Methodologies
•A more incremental process approach, called agile development, does much less up-front requirements analysis, but instead develops requirements in small increments as the process proceeds.
•The Agile Methodologies share three key principles:
–A focus on adaptive rather than predictive methodologies
–A focus on people rather than roles
–A focus on self-adaptive processes.
•Fowler(2003) recommends agile or adaptive process if the project involves:
–Unpredictable or dynamic requirements
–Responsible and motivated developers
–Customers who understand the process and will get involved

Comparing traditional and agile software processes.