Monday, January 19, 2009

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









1 comment:

Unknown said...

I have also heard about import .sql files into a mssql db, not sure which tool works faster