Pages

Welcome

Welcome To JPDESIGNS Blog

Subscribe in Reader

Subscribe in Reader

Tuesday, 24 February 2015

Systems Analysis Methods Part 2

 Systems Analysis Methods Part 2

Project Management is the process of planning and controlling development of a system within a specified timeframe at a minimum cost with the right functionality. This applies to any system.
A project manager has the primary responsibility for managing the hundreds of tasks and roles that need to be carefully coordinated.
In the 2000 Standish Group Study
Only 28% of system development projects successful.
72% of projects cancelled, completed late, completed over budget, and/or limited in functionality.
Key Steps in Managing a project
·         Identifying project size (scope)
·         Creating and managing the work-plan
·         Staffing the project
·         Coordinating project activities
Types of Project Management Software: Microsoft Project, Plan View, PM Office
Identifying project size
Project Manager’s Balancing Act
·         Project Management involves making trade-offs
·         Modifying one element requires adjusting the others

Project Estimation (Guess –ta- mate)
·         The process of assigning projected values for time and effort
·         Sources of estimates
¨       Methodology in use
¨       Actual previous projects
¨       Experienced developers
·          Estimates begin as a range and become more specific as the project progresses

Planning
Analysis
Design
Implementation
Typical industry standards for business applications
15%
20%
35%
30%
Estimates based on actual figures for first stages of SDLC
Actual
Estimated
Estimated
Estimated

4 person
5.33 person
9.33 person
8 person

months
months
months
months
SDLC= system development life cycle

Creating and Managing the work plan
Work Plan Information
Example
Name of  task
Start date
Completion date
Person assigned
Deliverable (s)
Completion status
Priority
Resources needed
Estimated time
Actual time
Preform economic feasibility
Jan 05,2005
Jan 19, 2005
Project sponsor: Mary Smith
Cost-benefit analysis
Open
High
Spreadsheet
16 hours
14.5 hours
LOC = Line of Code
Project Work plan
·         List of all tasks in the work breakdown structure, plus
·         Duration of task
·         Current task status
·         Task dependencies
·         Milestone (dates)
Tracking Project Tasks
·         Gantt Chart
·         Bar chart format
·         Useful to monitor project status at any point in time
Pert Chart
·         Flowchart format
·         Illustrate task dependencies
Identifying Tasks
·         Methodology
§  Using standard list of tasks
·         Top-down approach
·         Identify highest level tasks
·         Break them into increasingly smaller units
·         Organize into work breakdown structure
Managing Scope
·         Scope creep (size)
·         JAD and prototyping(joint application development)
·         Formal change approval
·         Defer additional requirements as future system enhancements



Time boxing
·         Fixed deadline
·         Reduced functionality, if necessary
·         Fewer “finishing touches”
Staffing the Project
Staffing Attributes
·         Staffing levels will change over a project’s lifetime
·         Adding staff may add more overhead than additional labour ”Brooke” said that
·         Using teams of 8-10 reporting in a hierarchical structure can reduce complexity

Coordinating Project Activities
Case Tools
Planning              Analysis               Design                  Implementation

                Upper CASE                                        Lower CASE
                                                Integrated CASE (I-CASE)
Classic Mistakes
·         Overly optimistic schedule
·         Failing to monitor schedule
·         Failing to update schedule
·         Adding people to a late project
Oversight committee

Project manager works with Client, Users, Subcontractors, Team leaders, They are all members

Feasibility
Feasibility is a measure of how beneficial or practical the development of an information system will be to an organization
Feasibility analysis/study is the process by which feasibility is measured. A project that is feasible at one point in time may become infeasible at a later point



Concept of feasibility checkpoints
Four Tests for Feasibility
1.       Operational
2.       Technical
3.       Schedule
4.       Legal
5.       Economic

·         Operational feasibility
Operational feasibility measures how well the solution of problems or specific solution will work in the organization
·         Feasibility tests
It is also a measure of how people feel about the system/project
How do the end-users and management feel about the problem solution
·         Technical feasibility
Measures the practicality of a specific technical solution and the availability of technical resources and expertise
Most difficult area to asses at this stage
Go/ No Go Design
Feasibility tests
Three major considerations
Development Risk: can the system element be designed so that necessary function and performance are achieved within the constraints uncovered during analysis
Resource availability:
Has relevant technology progressed to a state to support the system?
Schedule feasibility:
Measures how reasonable the project timeline is given our technical expertise, are the project deadlines reasonable?
Missed schedule are bad but inadequate systems are worse
Feasibility Tests need to determine whether the deadlines are mandatory or desirable. It is preferable (unless the deadline is absolutely mandatory) to deliver a properly functioning information system late than to deliver an error-prone information system on time.
Legal Feasibility
Legal Feasibility is a determination of any infringement, violation or liability that could result from development of a system.
All projects are feasible – given unlimited resources and infinite time!


Economic Feasibility
Measures the cost effectiveness of a project or solution. Often called a cost-benefit analysis.
Generally the bottom line consideration for most systems. Exceptions: national defence systems, high technology applications e.g. Space Program.
System Development Costs
Usually once off costs that will not recur after the project has been completed.
·         Facilities
·         Equipment and installation
·         Software and licences
·         Consulting fees
·         Training/ personnel costs
The lifetime benefits must recover both the developmental and operating costs. (Key)
System Operating Costs
System Operating Costs Recur throughout the lifetime of the system.
Costs classified as fixed and variable
Fixed costs  occur at regular intervals and at relatively fixed rates
·         Lease
·         Salaries
Variable costs occur in proportion to some usage factor
·         Supplies
·         Overhead costs         e.g. utilities, maintenance
What Benefits Will The System Provide?
Benefits normally increase profits or decrease costs.
Tangible Benefits
Tangible Benefits are those that can be easily quantified.
Measured in terms of monthly or annual savings or profit to the firm.
·         Fewer processing errors
·         Reduced expenses
·         Increased sales
·         Reducing staff- automation of manual functions




Intangible benefits
Intangible benefits are those benefits believed to be difficult or impossible to quantify
Improved customer goodwill
Improved employee moral
Sales tracking system which leads to better information for marking decisions
·         Reputation
Pay Back Analysis
Break-even point is when lifetime benefits will overtake the lifetime costs.
A.      Will our current printer be able to handle the new reports and forms required of a new system?    Technical.
B.      What are the fixed and variable costs of the operating the system?    Economic
C.      Does the system provide adequate throughput and response time?  Operational
D.      Does the system offer adequate service level and capacity to reduce the costs of business or increase the profits of the business?  Operational
E.       What are the tangible and intangible benefits of the system?  Economic
F.       Does the system offer adequate controls to ensure against fraud and embezzlement and to guarantee the accuracy and security of data and information?   Operational 
G.     Does the system make maximum use of available resources, including people, time, flow of forms, minimum processing delays, and the like?   Operational
H.      Does management support the system?     Operational
I.        What is the net present value of the system?    Economical
J.        How will the working environment of the user change?     Operational
K.      How do the users feel about their role in the new system?  Operational
L.       Do we have the expertise to implement the solution?     Technical
M.    What is the payback period for the proposed system solution?      Economical
N.     Does the system provide users and managers with timely, pertinent, accurate, and usefully formatted information?  Operational
O.     What is the return on investment for the new system?     Economical
P.      Is the project deadline mandatory or desirable?   Schedule
Q.     Does the system provide desirable and reliable service to those who need it?    Operational
R.      Is the system flexible and expandable?    Operational
S.       Are the resource available in our data processing?     Technical
Sample Candidate System
·         Custom
·         Off the shelf
Feasibility analysis matrix   is a tool
We weight each of the of the types of feasibility in percentages and then sore each section


Net Payback Analysis
The time value of money recognizes that a dollar today is worth more than a dollar one year from now.
(Future) value (FV) of £1 in n years, at interest rate, i, can be described by the following equation.
FV =PV(1+i)
Where
FV = Future value
PV = Present value
n = Number of years
i = Interest rate (discount rate)
Example: Net payback analysis
The value of €500 after 2 years at an annual interest  rate of 6% would be:
FV =500(1+0.06)2 = 500(1.236)=€561.80
Restating the above equation:
FV/(1+i)n =PV
FV x 1/(1+i)n = PV
Discount factor
Example: Net Payback Analysis
If you were offered €561.80 in two years time, 6%discount rate, what is the value today?
€561.80 x 1/(1+0.06)2 = PV
PV = €561.80 X 1/(1.1236)
PV = €561.80 X 0.8899
PV = €500
The discount factor is always:
1/(1+i)n
The discount factor on a sum to be received a year from now (6%P.a)
1/(1.06)1=0.94
Two years from now:
1/(1.06)2=0.889


ERD:  is an Entity Relationship Diagram
Focus on system data
DFD:  is a Data Flow Diagram
Focus on system processes
System Modelling
A model is a representation of reality
Logical models
Show what a system “is” or “does”. They are implementation- independent- illustrate the essence of the system
Physical model
Show what a system “is” or “does” and how  the system is physically and technically implemented- implementation-dependent
System Modelling
System analysis activites focus on the logical system models:
Logical models removes biases
Logical models reduce the risk of missing business requirements
Allow us to communicate with end users in a non-technical language
Data Modelling
Sometimes called data base modelling because a data model is usually implemented as a data base
The process of constructing data models helps analysis ans users quickly reach consensus on business terminology and rules.
Data Models are frequently referred to entity relationship diagrams (ERD)
Entities
All systems contain data-Data describes “things”
A concept to abstractly represent all instances of a group of similar “things” is called an entity.
An entity is something about which we want to store data.
E.g Persons, Places, Objects, Events about which we need to capture and store data.





An entity instance is a single occurrence of an entity
Attributes
The pieces of data that we want to store about each instance of a given entity are called attributes
Values for each attribute are defined in terms of three properties: data type, domain, and default
The data type for attribute:
E.g
Number   10-99
Text           max size 30
Date         mmddyy
The domain
The domain of an attribute defines what values an attribute can legitimately take on.
E.g
Number   integers- 10-99
Text          max size 30
Date        format-  mmddyy
The default value for an attribute is that value which will be recorded if not specified by the user
 E.g number = 0
Key
Hence every entity must have an identifier or key
Candidate Key: where an entity can have more than one –Key- each of these attributes is called a candidate key
Candidate Key: where a group of attributes is required to uniquely identifies an instance of an entity
DVD entity in video store
Title NO + Copy No
Primary Key
Is that candidate key which will most commonly be used to uniquely identify a single entity instance
Type ID (instance Primary Key)
Alternate keys
Are those not specified as primary keys



Customer
Customer Number (PK)
Customer Name
Shipping address*
Billing address*
Balance due*


A primary key imported into order becomes a foreign key

Order
Order number (PK)
Order date
Order total cost
Customer number (FK)


                                                                                Has placed
 




*alternative keys
If I took customer name and customer number it would be a concatenated key

 


Ordered Product
Order product ID (PK)
Order number (FK)
Product number (FK)
Quantity ordered unit price

Inventory product
Product number (PK)
Product name
Unit of measure
Unit price



                                                                                Sold as 



 A Subsetting criteria
Is an attribute whose values divide all entity instances into useful subsets.
Need to identify all male students and all female students
Relationships
A relationship is a natural business association that exits between one or more entities
A connecting line between two entities on an entity relationship diagram (ERD) represents a relationship
A verb phrase describes the relationship
All relationships are implicitly bidirectional, they can be interpreted in both directions (binary)

Curriculum

Student
                                                                O  or more students
                                                          Is being studied by              is enrolled in     
                                                                                                                           1 or many
Cardinality
The complexity or degree of each relationship is called cardinality
Cardinality defines the minimum and maximum number of occurrences of one entity foe a single occurrence of related entity
E.g must there exist an instance of student for each instance of curriculum? No
Must there exist an instance of curriculum for each of students? Yes
3 important things in a ERD
1.       Attributes
2.       Keys (primary, alternate, foreign)
3.       Cardinality – show symbol and relationship E.g 1 to many
The degree of a relationship is the number ot entities that participate in the relationship
A Binary relationship has a degree = 2
Recursive relationship degree =1
An associative entity is an entity that inherits its primary key from more than one other entity (parents)
Foreign Keys
A foreign key is a primary key of one entity that is duplicated in another entity for the purpose of identifying instances of a relationship
A non –specific relationship (or many –to-many relationship) is one in which many instances of one entity are associated with many instances of another entity

JAD (joint application development) sessions
Facts collected by sampling existing forms and files; researching similar system; surveys of users and management
How to construct data models
Step 1 – Identify Entity
Entities should be named with nouns that describe the person, event, place, or tangible thing about which we want to store data.
Step 2 – Define keys for each entity
The value of a key should not change over the life time of each entity instance.
The value of a key cannot be null (entity integrity)
Step 3 Draw a rough draft of the ERD model
Step 4 Identify Data Elements/ Attributes
Step 5 Draw the Fully Attributed Data Model
Process Concepts & Conventions
Logical process are work or actions that must be performed no matter how you implement the system
Each process will be implemented as one or more physical process that may include:
·         Work performed by people
·         Work performed by robots / machines
·         Work performed by computer soft ware
Three types of logical processes: functions, events, and elementary process.
Functions
A function is a set of related and on-going activates of the business. A function has no start or end  it just continuously performs it’s work as needed.
Events
An event is a logical unit of work that must be completed as a whole
Elementary process
An event process can be further decomposed into elementary processes that illustrate in detail how the system must respond to an event
Three Errors with process
A black hole is when a process has inputs but no outputs. Data enters the process and then disappears
A miracle is when a process has output but no input
A grey hole is when the inputs of a process are insufficient to produce the output(most common)

Process modelling  
 A technique for organizing and documenting the structure flow of data through a system analysis /processes
A data flow diagram (DFD)/(bubble graph)
Process model consists of data flow depicts the flow of data through a system diagram and the work or processing preformed by the system.
As information moves through software , modified by series of transformations
Data Flow Diagram
Uses three symbols and one connection

What are the symbol of a DFD (data flow diagram)


Process
Rounded rectangle or circles represent process performs transformation on its input data to yield tis output data

Process

Process
 


External agents or external entity
Square represent External agents, a source of system inputs or a sink of system outputs residing outside system

Eternal
Agent

1.       Data flows should not split into two or more different data flows

2.       Don’t  connect 2 exit entities NB don’t connect to data store
3.       Process need to have at least  one input data flow and one output data flow,
Data stores
Open ended boxes represent data stores, repository of data- never to be shown in a context diagram
Data Flows
Arrows represent data flows, to connect processes to each other
Rules for DFDs
1.       Each object must connect to at least one other process- objects is external entity, process, data store, data flow
2.       Each process must use at least one input data flow and produce one output data flow
3.       Each item in a process’s data flow must correspond or derive from the process’s input data flow
4.       Each data flow to or from a data store/ external entity must connect to a process. Maximum 7 process per DFD
Arrange process so that major data flow is from left to right
Process: verbs
Data flows: external entities; data stores: nouns
A Process
Is work performed on, or in response to, incoming data flow or conditions


Process Decomposition
When a complex system is too difficult  to fully understand when viewed as a whole (meaning as a single process)
System analysis separates a system into its component subsystems, which in turn are decomposed into smaller subsystem
Process abstraction
Process of reducing complexity by mapping details into one higher level concept, ie. A concept diagram
Never add data stores to a context diagram
Only one process, data flows and external entities are placed in a context diagram
Requirements-Gathering Techniques
Interviews
Most commonly used technique
Basic steps
·         Selecting interviewees
·         Designing interview questions
·         Prepare for the interview
·         Conducting the interview
·         Post-interview follow up
Selecting interviewees
·         Based on information needs
·         Best to get different perspectives
Managers
Users
Ideally, all key stakeholders
·         Keep organizational politics in mind
Designing interview questions
·         Unstructured interview useful early in information gathering
Goal is broad, roughly defined information
·         Structured interview useful later in process
Goal is very specific information
Preparing for interview
·         Prepare general interview plan
List of question
Anticipated answers and follow ups
·         Confirm areas of knowledge
·         Set priorities in case of time shortage
·         Prepare the interviewee
Schedule
Inform of reason for interview
Inform of areas of discussion
Conducting the interview
·         Appear professional and unbiased
·         Record all information
·         Check on organizational policy regarding tape recording
·         Be sure you understand all issues and terms
·         Separate facts from opinions
·         Give interviewee time to ask questions
·         Be sure to thank the interviewee
·         End on time
Post –interview follow-up
·         Prepare interview notes
·         Prepare interview report
·         Have interviewee review and confirm interview report
·         Look for gaps and new questions
Joint Application Development(JAD)
·         A structured group process focused on determining requirements
·         Involves project team, users, and management  working together
·         May reduce scope creep by 50%
·         Very useful technique
·         Quality : walkthrough, inspections, and formal technical reviews
JAD Participants
·         Facilitator
Trained in JAD techniques
Sets agenda and guides group processes
·         Scribe(s)
Record content of JAD sessions
·         Users and managers from business area with broad and detailed knowledge
Preparing for JAD sessions
·         Time commitment – ½ day to several weeks
·         Strong management support is needed to release key perticipants from their usual responsibilities
·         Careful planning is essential
·         E-JAD can help alleviate some problems inherent with groups





Conducting the JAD Session
·         Formal agenda and ground rules
·         Top- down structure most successful
·         Facilitator activities
Keep session on track
Help with technical terms and jargon
Record group input
Stay neutral, but help resolve issues
·         Post-session follow up report
Post JAD follow –up
·         Post session report is prepared and circulated among session attendees
·         The report should be completed approximately a week to two after the JAD session
Questionnaires
·         A set of written questions, often sent to a large number of people
·         May be paper-based or electronic
·         Select participants using samples of the population
·         Design the questions for clarity and ease of analysis
·         Administer the questionnaire and take steps to get a good response rate
·         Questionnaire follow up report
Good questionnaire design
·         Begin with nonthreatening and interesting questions
·         Group items into logically coherent sections
·         Do not put important items at the very end of the questionnaire
·         Do not crowd a page with too many items
·         Avoid abbreviations
·         Avoid biased or suggestive items or terms
·         Pre-test the questionnaire to identify confusing questions
·         Provide anonymity to respondents
Document analysis

·         Study of existing material describing the current system
·         Forms, reports, policy manuals, organization charts describe the formal system
·         Look for the informal system in user additions to forms /report and unused form /report elements
·         User changes to existing forms /reports or non-use of existing forms /reports suggest the system needs modification



Observation
·         Watch processes being preformed
·         Users/managers often don’t accurately recall everything they do
·         Checks validity of information gathered other ways
·         Be aware that behaviours change when people are watched
·         Be unobtrusive
·         Identify peak and lull periods
Selecting the appropriate requirements- gathering techniques
·         Type of information
·         Depth of information
·         Breadth of information
·         Integration of information
·         User involvement
·         Cost
·         Combining techniques
Reference information attained from course material 

Sunday, 22 February 2015

Systems Analysis Methods

Systems Analysis Methods

Hi guys,
in this post I want to cover some aspects of System Analysis, but rather than just put some facts on a page I thought that a recording would be a bit better.(Tip: I found that listening to the recordings made it easier to take in the information).
mp3 Audio System Analysis Your browser does not support the audio tag.


I have put audio player at the top of the page where you can play the podcast or use the down load link to down load the file.

I have put part 2 of Systems Analysis Methods  in a Podcast.
This will give you the basics of Systems Analysis and help you to learn some of the terminology used with systems analysis.

In the following text I have put together what I felt were some of the most important aspects of system Analysis Methods module.

Terms:
Data: Data are raw facts about the organization and its business transactions.
Information: Information is data that has been refined and organized by processing and human intelligence
Knowledge – data and information that is further refined based on the facts, truths, beliefs, judgments, experience, and expertise of the recipient
Information systems: An arrangement of people, data, processes, and information technology that interact to collect, process, store and provide as output the information needed to support an organization

Examples of Information systems:
·       Information technology a contemporary term that describes the combination of computer technology (hardware and software) with telecommunications technology (data, images, and voice networks)
·      Transaction processing systems transaction processing system (TPS) is an information system that captures and processes data about business transactions (Day to Day) Example: wages, inventory.
·       Management Information System (MIS) reporting for management Information system that provides for management-oriented reporting based on transaction processing and operations of the organization.
·       Decision support system(stocks and shares)(DSS) Information system that either helps to identify decision making opportunities or provides information to help make decisions- Example: stocks and shares
·       Expert system (capture expertise 3rd world example) Information system that captures the expertise of workers and then simulates that expertise to benefit of non-experts                 Artificial Intelligence – mycin – for blood disorders.
·       Office automation system Information system that supports the wide range of business office activities that provide for improved work flow between workers. Example email, Microsoft office. 

Super/sub systems:
Subsystem: Part of a larger system
Supersystem: Larger system contains Subsystem
Analyst skills:
Working Knowledge of Information system must be aware of existing and emerging information technologies and techniques (keep up to date)
Computer Programming Experience and Expertise must appreciate programmers work as it is the principle link between business users and computer programmers
General Business Knowledge Analysts have to specify and defend technical solutions that address the bottom line value returned to the business
Problem-Solving Skills Creatively define alternative solutions to problems and needs. “We have always done it that way”- wrong attitude
Interpersonal Communications Skills must be able to communicate effectively, both orally and in writing. Communication skills, not technical skills, prove to be the single biggest factor in career success or failure.
Flexibility and adaptability No two development projects encountered will be identical.
Character and Ethics personal   character trait in which an individual’s understands the difference between “right” and “wrong” and acts accordingly. Eg, Not to share their organizations sensitive and secret information with others (copyright etc….)
Technologies/business drivers:
Business Drivers for today’s Information systems
·         Globalization of the Economy
Global Economy brings
1.       New and expanded international markets
2.       New international competitors
Impact on information systems
          Require support of multiple languages, currency exchange rates, business culture
2.       Demand for players who can communicate, orally and in writing, with management and users that speak different languages
3.       Compliance with country standards eg. TUV(France, Germany), FDA(Usa), NSAI(Uk), ISO9000(global)
·       Electronic Commerce and Business
E-Commerce
1.       The buying and selling of goods and services by using the internet
E-Business
1.       the use of the internet to conduct and support day-to-day business activites
Types of e-commerce and e-business
Business-to-customer (B2C)
Business-to-business (B2B)
Impact on information systems
Most new information systems are being designed for an internet (or intranet) architecture
Since the only client-side software is a web brower, the choice of client operating system is becoming less important

·       Security and Privacy
Security
1.       How will the business continue in the event of a security breach, terrorist attack, or disaster?
2.       How can the business protect its digital assets from outside threats?
Privacy
1.       Consumer demands for privacy in e-commerce transactions
2.       Government requirements
Impact on information systems
1.       Need to incorporate stringent security and privacy controls
·       Collaboration and Partnership
Organizations seek to break down the walls that separate organizational departments and functions
Organizations collaborate with outside business partners and even competitors
·       knowledge Asset Management
Data – Raw facts about people, places, events, and things that are of importance in an organization
Information- data that has been processed or reorganized into a more meaningful form for someone
Knowledge – data and information that is further refined based on the facts, truths, beliefs, judgments, experience, and expertise of the recipient
Knowledge Asset Management
Recognizes that data, information, and knowledge are critical business resources
Asks: “How can the organization manage and share knowledge for competitive advantage?
Strives to integrate the data and information that can create and preserve knowledge
·       Continuous Improvement and Total Quality Management
Business Processes – Tasks that respond to business events (eg. an order). Business processes are the work, procedures, and rules required to complete the business tasks, independent of any information technology used to automate or support them
Continuous process improvement (CPI) – The continuous monitoring of business processes to effect small but measureable improvements in cost reduction and value added. Proactive not Reactive
Total quality management (TQM) – A comprehensive approach to facilitating quality improvements and management within a business. Metric measurements, eg. How many test passed or How many bugs fixed. (Walkthrough) Quality inspection, audits, testing, metrics.
·       Business Process Redesign
(BPR) is the study, analysis, and redesign of fundamental business processes to reduce costs and /or improve value added to the business
More substantial changes and improvements than CPI- Usually complimented by CPI
Technology Drivers for today’s Information systems
·       Networks and the Internet
Networks include mainframe time-sharing systems, network servers, and a variety of desktop, laptop, and handheld client computers.
The most pervasive networking technologies are based on the internet.
xHTML and XML
Scripting languages
Web-specific programming languages
Intranets
Extranets
Portals
Web services
·       Mobile and Wireless Technologies
Some mobile and wireless technologies
PDAs
Smart phones
Bluetooth
Wireless networking
Impact on information systems
Wireless connectivity must be assumed
Limitations of mobile devices and screen sizes must be accommodated
·       Object Technologies
Object technology – A software technology that defines a system in terms of objects that consolidate data and behaviour (into objects)
Objects are reusable
Objects are extensible
Objects –oriented programming languages include C)), java, Smalltalk, and Visual Basic.net
·       Collaborative Technologies
Are those that enhance interpersonal communications and teamwork
E-mail
Instant messaging
Groupware, Work flow

·       Enterprise Applications
Enterprise Resource Planning (ERP) – A software  application that fully integrates information systems that span most or all of the basic, core business functions.
An ERP solution is built around a common database shared by a common business functions.
Representative ERP vendors:
Baan
J.D.Edwards
Oracle
Peoplesoft
SAP AG (the market leader)
System development life cycle:
Provides overall frame work for managing systems development process, every project has a beginning, middle, and end.
Two main approaches to SDLC
Predictive approaches – assumes project can be planned out in advance (Waterfall)
Adaptive approach – More flexible, assumes project cannot be planned in advance (Rad)
All projects use some variation of SDLC
Methodologies – what they are?
A methodology is a formalized approach to implementing the SDLC
Companies use methodologies to ensure a consistent, reproducible approach is applied to all projects.
To reduce the risk associated with short cuts and mistakes, in order to produce complete and consistent documentation from one project to the next.
Principles of system development
·         Get the system users involved
·         Use a problem-solving approach
·         Establish phases and activities
·         Document through development
·         Establish standards
·         Justify systems as capital investment
·         Don’t be afraid  to cancel or revise scope
(Scope is always size) Divide and conquer, Design system for growth and change

Predictive and adaptive methodologies- Waterfall, Rad and Agile- Extreme Programming
Waterfall Model Methodologies (Predictive)
·         Organization recognises problem (Project Planning) project team investigates, understands problems and solution requirements (Analysis)
·         Solution is specified in detail (Design)
·         System that solves problem is built and installed (Implementation) System used, maintained and enhanced to continue to provide intended benefits ( Support)
Inflexible 
Advantages The system requirements are identified long before programming begins, changes to the requirements are minimized as the project proceeds
Disadvantages The design must be completely specified before programming begins, a long time elapses between the completion of the system proposal in the analysis phase and delivery of the system.
Rapid application development (RAD) (Adaptive)
A system development strategy that emphasizes speed of development through extensive user involvement in the Rapid, iterative, incremental construction of series of functioning prototypes of a system that eventually evolves into final system  
Prototype
A small- scale, representative, or working model of user’s requirements or a proposed design for an information system
Time box
The position of a non-extendable period of time, usually 60-90 days by which the first (Or next) version of a system must be delivered into operation
Advantages of RAD
·         Useful for projects- users’ needs imprecise
·         Encourages active user participation
·         Projects have higher visibility- extensive user involvement
·         User/Owners see working software based solution quickly
·         Change expected factor during development
Disadvantages of RAD
·         Some argue RAD causes “code, implement, repair”
·         RAD projects solve wrong problem analysis ignored
·         RAD based prototype may discourage looking at alternative technical solutions
·         Often better to throw away prototype- customers slow to do this.
·         Emphasis on speed (May adversely impact quality)


Agile Methodology (Extreme, Scrum, Kanban)
 Agile Methodology
Project at Chrysler- C3 2000
·         Focuses on streamlining the SDLC by eliminating much of the modelling and documentation overhead and the time spent on those tasks
·         Projects emphasize simple, Iterative development (Going around)

Agile Modelling Principles
·         Iterative  development
·         Working to fixed time instead of fixed scope
·         Favour broad business goals over fine-grained technical goals
·         Favour feedback and adaptation over prediction and control
·         Delay commitment until the last responsible moment
·         Favour direct interaction over documentation
·         Common misconception – agile methods discourage all documentation
·         Fundamental work products eg. User’s manual – deliverables
·         Incidental documentation- email/memorandums Re: Status of project not encouraged
·         Embrace change and change incrementally
·         Deliver or demonstrate business value early- not necessarily a public release
·         Build high quality models and get feedback rapidly
·         Learn from others –open communication
·         Simple design only code necessary to achieve results
ExtremeProgramming (XP)
·         Communication
In open, frequent verbal discussions
·         Simplicity
In design and implementing solutions
·         Feedback
On functionality, requirements, designs, and code
·         Courage (Important)
In facing choices such as throwing away bad code or standing up to a too-tight schedule





What is a user story? (KEY)
A user story describes functionality that will be valuable to either a user or a purchaser of a system or software.
Sample Stories: BigMoneyJobs jobs and search website
·         A user can search for jobs
·         A company can post new job openings
·         A user can limit who can see her resume
The following do not make good stories- do not represent functionality y users
·         Software will be written in C++ - users don’t care which programming language used
·         The program will connect to database through a connection pool-users don’t care about technical details of how application connects to the database

Which of the following are not good stories and why?
1     .       The user can run the system on windows XP and Linux (yes)
2     .       All graphing and charting will be done  using a third party library (no)
3     .       The user can undo up to fifty commands (yes)
4     .       The software will be released by June 30 (no)
5     .       The software will be written in Java (no)
6     .       The user can select her country from dropdown list (yes)
7     .       The system will use Log4J to log all error messages to a file (no)
8     .       The user will be prompted to save her work if she hasn’t saved it for 15 minutes (yes)
9     .       The user can expect an “Export to XML” feature (yes)
1     .   The user can export data to Xml (yes)
Some XP Practices
·       Planning – users develop a set of stories to describe what the system needs to do
·       Testing(TDD/TFD) Test first development/Test driven development
·       Tests are written before solutions are implemented
·       Pair Programming Two programmers work together on designing, coding and testing
·       Morning stand-up meetings Progress, problem reporting and tracking
·       Refactoring means rewrite ( The code but not the functionality) improving code without changing what it does
·       Owning the code collectively anyone can modify any piece of code
·       Continuous integration small pieces of code are integrated into the system daily or more often   
·       System Metaphor guides members towards a vision of the system
·       On-site Customer intensive user/customer interaction required
·       Small releases Produce small and frequent releases to user/customer
·       Forty-hour work week  (Consistency) project should be managed to avoid burnout
·       Coding Standards follow coding standards to ensure flexibility eg. Class names capitalised, method first character de-capitalised

Integrating the secure Development life cycle with Agile methods
Projects released by MSN using Agile
·         MSN Messenger 7.5
·         MSN Tabbed Browsing for MicroSoft Internet Explorer
·         MSN Support Tools
·         MSN Anti-Phishing add-in
Agile and the SDLC
·       Design tam pick a security coach
·         move people around – force more people to take security leadership position
·         Simple design –Secure design
·         User Story – encompass customers security concerns
Story may include directives
·         “ The software must not divulge the data in the orders database to unauthorized users”
·         “The client must always authenticate the validity of the server”
·         Latest compiler versions
·         All code scanning tools run over code
·         All scanning tools fixed or postponed
·         Do not use banned APIs (Deprecated)
·         All security best practice adhered to 


                                 Reference information attained from course material 





Sunday, 15 February 2015

Maths for Computing

Two's Compliment

The two's compliment of a number is defined as that number which when added to the original number will result in a sum of zero.

The binary number 110110110110 has a two's compliment of 001001001010:

                                             110 110 110 110
                                             001 001 001 001
   Ignore the carried 1    ( 1) 000 000 000 000

Subtraction can also be preformed using the two's compliment method.
To subtract A from B, A must be expressed as it's two's compliment and then the value of B is added to it, e.g.


           001 000      A(8) base 10
 

           111 000     Two's compliment of A (i.e. -A)
           101 111      B(47) base 10
     (1) 100 111      B-A ( 39) base 10

Ignore the carry


Wednesday, 11 February 2015

C# App

Hi Guys,
this is a short video in which i run through a Windows Phone App in Visual Studio.




In later videos I will run through the code behind the app.

Maths for Computing

Conversion of Binary to Decimal

Hi Guys,
in this post I am converting Binary into its decimal number including decimal points.
when we want to convert a binary number to decimal we must expand it, in the following video I will show you how this is done.
A couple of points to remember are that anything multiplied by zero is still zero and also anything to the power of zero is 1.



In the next part I will deal with adding and subtracting in binary. 
As many of you know maths is a vital part of computing, so I feel that it is important to understand how binary is used.
 
Blogger Templates