approach to system development. systems development life cycle a project is a planned undertaking...

58
APPROACH TO SYSTEM DEVELOPMENT

Upload: evelyn-kelley

Post on 18-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

APPROACH TO SYSTEM DEVELOPMENT

Page 2: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

SYSTEMS DEVELOPMENT LIFE CYCLE

• A project is a planned undertaking that has a beginning and an end and that produces a desired result or product.

• System development project describes a planned undertaking that produces a new information system.

Page 3: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

• Systems development life cycle (SDLC) is the entire process of building, deploying, using, and updating an information system.

• There are two approaches to SDLC– Predictive approach :an SDLC approach that

assumes the development project can be planned and organized in advance and that the new information system can be developed according to the plan

Page 4: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

• Adaptive approach: an SDLC approach that is more flexible, assuming that the project cannot be planned out completely in advance but must be modified as it progresses

Page 5: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

Traditional predictive approach

• All project planning activities are put into phases.

• The phases are project planning, analysis, design, implementation, and support.

• A group of activities that plan, organize and schedule the project are usually called project planning activities.

Page 6: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

• The next group of activities focus on understanding the business problem that needs to be solved and on defining the business requirements. This is Analysis Activities

• The third group of activities focus on designing a new system. This is design activities.

Page 7: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

• The next group of activities are necessary to build the system, which is referred to as implementation activities.

• These four group of activities are called phases, and they are the elements that provide the framework for managing the project.

• The last phase, support phase, includes the activities needed to upgrade and maintain the system after deploying.

Page 8: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

• Waterfall approach is more predictive and assumes that the various phases of a project can be carried out and completely entirely sequentially.

Page 9: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

Newer Adaptive Approach to SDLC

• Spiral model is an adaptive SDLC approach that cycles over and over again through development activities until a project is complete.

• It is generally considered to be the first adaptive approach to system development.

• The life cycle is shown as a spiral, starting in the center and working its way outward, over and over again, until the project is complete.

Page 10: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

• Prototype is a preliminary working model showing some aspect of a larger system.

• Prototypes are developed in each phase.

Page 11: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

Assignment

• Find more information on waterfall model and spiral model.

Page 12: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

METHODOLOGIES, MODELS, TOOLS AND TECHNIQUES

• System Development Methodologies provide comprehensive guidelines to follow for completing every activity in the system development life cycle including specific models, tools and techniques.

• Models are representation of an important aspect of the real world. Models used in system development include representation of inputs, outputs, processes, data, objects, object interactions, location, networks, and devices etc

Page 13: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

Some models of system components

• Flow chart• Data flow diagram• Entity-relationship diagram• Structure chart• Use case diagram• Class diagram• Sequence diagram

Page 14: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

Some models used to manage the development process

• PERT chart• Gantt chart• Organizational hierarchy chart• Financial analysis models

Page 15: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

Tools

• A tool is a software support that helps create models or other components required in the project.

Page 16: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

Some tools used in system development

• Project management application• Drawing/graphics application• Word processor/text editor• Computer-aided system engineering tools

(CASE)• Integrated development environment(IDE)• Database management application• Code generator tool

Page 17: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

Techniques

• A technique is a collection of guidelines that help an analyst complete a system development activity or task. It includes a step by step instructions for creating a model

Page 18: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

Some techniques used in system development

• Strategic planning techniques• Project management techniques• User interviewing techniques• Software testing techniques• Object oriented analysis and design

techniques

Page 19: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

Activities of each SDLC phase

Page 20: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

PLANNING PHASE

• The primary objectives are to identify the scope of the new system, ensure that the project is feasible, and develop a schedule, resource plan, and budget for the remainder of the project.

Page 21: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

• The are five activities in this phase– Define the problem– Produce the project schedule– Confirm project feasibility– Staff the project– Launch the project

Page 22: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

Project Schedule

• Work breakdown structure (WBS) is a list of all the individual tasks that are required to complete the project

• PERT/CPM Chart- Project Evaluation and Review Technique. Critical path method is a diagram of all the tasks identified in the WBS– Gantt Chart

Page 23: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

Project Feasibility

• Risk management: the project management area during which the team tries to identify potential trouble spots that could jeopardize the success of the project

• Economic feasibility: the analysis to compare costs and benefits to see whether investing in the development of a new system will be beneficial

• Organizational and cultural feasibility: Each Company has its own culture and any new system must be accommodated within the culture.

Page 24: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

• Technological feasibility: A new system brings new technology into the company. A project management team needs to assess very carefully the proposed technological requirements and available expertise.

• Schedule feasibility: the development of a project schedule always involves high risk.

Page 25: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

• Resource feasibility: the project team must assess the availability of resources for the project. The primary resource consists of the members of the team.

• The other resources include adequate computer resources, physical facilities, and support staff.

• If there is delay in the availability of these resources, schedule can be affected.

Page 26: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

Completing feasibility analysis

• Not every project is feasible• A project that is not feasible today due to

technical difficulties, high cost or inadequate expertise may become feasible in the future.

Page 27: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

Staffing and launching the project

• Develop a resource plan for the project• Identify and request specific technical staff• Identify and request specific user staff• Organize the project

Page 28: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

ANALYSIS PHASE

• The primary objective of this phase is to understand and document the business needs and the processing requirements of the new system. Analysis is a discovery process.

Page 29: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

• There are six primary activities– Gather information– Define system requirements– Build prototypes for discovery of requirements– Prioritize requirements– Generate and evaluate alternatives– Review recommendations with management

Page 30: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

Gather Information

• Considerable amount of information are required during the analysis phase

• Documentation from the existing system should also be studied carefully

• Methods of gathering information– Review existing reports, forms, and procedure descriptions– Conduct interviews and discussions with users– Observe and document business processes– Build prototypes– distribute and collect questionnaires– Conduct joint application design (JAD) sessions– Research vendor solutions

Page 31: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

Review existing reports, forms, and procedure descriptions

• Two sources of information for existing procedures and forms– External source to the organization-at industry-

wide professional organizations and at other companies.

– Existing business documents and procedure descriptions within the organization. It helps to get preliminary understanding of the processes and also used during interviews.

Page 32: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

• Forms and reports currently being used are requested by the analysts.

• Reviewing the documentation of existing procedures helps identify business rules that may not come up in the interviews

• Written procedures help discover discrepancies and redundancies in the business processes.

• Review documentation with users to identify errors

Page 33: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

Conducting interviews and discussions with users

• Interviewing stakeholders is by far the most effective way to understand business functions and business rules.

• It is most time-consuming and resource-expensive option.

• Interviews require multiple sessions with each of the users or user groups

Page 34: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

• Three areas to conduct effective interviews– Preparing the interview– Conducting the interview– Following up the interview

Page 35: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

Observe and document business processes

• Documenting workflows– Work flow is the sequence of steps to process a

business transaction.

Page 36: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

System Requirements

• The modeling process is a learning process for an analyst.

• As the model is developed, the analyst learns more and more about the system

• Modeling continues while information is gathered, and the analyst continually reviews the models with the end users to verify that each model is complete and correct.

Page 37: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

• The analyst studies each model, adds to it, rearranges it, and then checks how well it fits with other models being created.

• Modeling can continue for quite some time, and it does not always have a defined end.

• Two types of system models are developed• A logical model shows what the system is

required to do in great detail, without committing to any one technology

Page 38: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

• The focus of the model is what information the users need, not what form it will take.

• Physical model shows how the system will actually be implemented. The physical model of the output would include details about format.

• Object oriented techniques produce class diagrams and use case diagrams

Page 39: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

• System requirements are all of the capabilities and constraints that the new system must meet or specifications that define the functions to be provided by the system.

• Two categories: functional and non functional requirements.

• Functional requirements are the activities that the system must perform-that is the business uses to which the system will be applied

Page 40: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

• The derive directly from the capabilities identified in the planning phase.

• The new system must handle all of the functions specified in the functional requirements.

Page 41: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

• Nonfunctional requirements are characteristics of the system other than activities it must perform or support.

• There are many different types of nonfunctional requirements

Page 42: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

Types of nonfunctional requirements

• Technical requirements describe operational characteristics related to the environment, hardware, and software of the organization.

• Performance requirements describe operational characteristics related to measures of workload, such as throughput and response time.

Page 43: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

Types of nonfunctional requirements

• Usability requirements describe operational characteristics related to users, such as the user interface, related work procedures, online help, and documentation.

• Reliability requirements describe the dependability of a system – how often a system exhibits behaviours such as service outages and incorrect processing and how it detects and recovers from those problems. They are sometimes considered a subset of performance requirements

Page 44: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

• Security requirements describe which users can perform what system functions under what condition.

• Both functional and nonfunctional system requirements are needed for a complete definition of a new system and both are investigated and documented during systems analysis.

• Functional requirements are most often documented in graphical and textual modesl

Page 45: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

Stakeholders

• They are all the people who have an interest in the success of a new system

• Categories– The users who actually use the system on a daily

base– The clients, those who pay for and own the system– The technical staff, the people who must ensure

that the system operates in the computing environment of the organization.

Page 46: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

Users as stakeholders

• Two dimensions: horizontally and vertically• By horizontally, the analyst must look for

information flow across business departments or functions. For example, a new inventory system may be affected receiving, warehousing, sales, and manufacturing. Individuals from each of these departments must describe their requirements

Page 47: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

• By vertical dimension, we mean the information needs of clerical staff, of middle management, and of senior executives. Each of these stakeholders has different information requests for the system that must be included in the design

• Users on the vertical dimension– Business users– Information users– Management users– Executive users– External users

Page 48: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

THE DESIGN PHASE

• The objective is to design the solution system based on the requirements defined and decisions made during the analysis.

• High level design consists of developing an architectural structure for the software components, database, user interface, and operating environment.

• Low level design entails developing the detailed algorithms and data structures that are required for software development.

Page 49: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

• Seven major activities– Design and integrate the network– Design the application architecture– Design the user interfaces– Design the system interfaces– Design and integrate the database– Prototype for design details– Design and integrate the system controls

Page 50: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

Implementation phase

• The final system is built, tested, and installed. The objective is not only to produce a reliable, fully functional information system but also to ensure that the users are all trained and that the organization is ready to benefit as expected from use of the system.

Page 51: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

• Five major activities– Construct software components– Verify and test– Convert data– Train users and document the system– Install the system

Page 52: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

SUPPORT PHASE

• The objective is to keep the system running productively during the years following its initial installation.

• Three major activities– Maintain the system– Enhance the system– Support the users: help desk with knowledgeable

technicians to support

Page 53: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

TWO APPROACHES TO SYSTEM DEVELOPMENT

• Traditional approach• Object oriented approach

Page 54: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

OBJECT-ORIENTED APPROACH

• This views an information system as a collection of interacting objects that work together to accomplish tasks.

• The system consists of objects.• An object is a thing in the computer system

that is capable of responding to messages.• Object oriented programming languages

include c++, java, c#

Page 55: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

• Object-oriented analysis defines all of the types of objects that do the work in the system and shows what user interactions, use cases, are required to complete tasks.

• Object-oriented design defines all of the additional types of objects necessary to communicate with people and devices in the system, shows how the object interact to complete tasks, and refines the definition of each type of object so it can be implemented with a specific language or environment.

Page 56: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

• Object-oriented programming consists of writing statements in a programming language to define what each type of object does.

• An object is a type of thing-a customer or an employee.

• Identifying types of objects means classifying things.• A classification or class represents a collection of

similar objects.• Object oriented development uses a class diagram to

show all of the classes of objects in the system

Page 57: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

BENEFITS OF OBJECT ORIENTED APPROACH

• Naturalness and Reuse– People tend to think about the world in terms of

tangible objects.– Also because it involves classes of objects, and

many systems in the organization uses the same objects, these classes can be used over and over again whenever they are needed. Eg. Menus, dialog boxes, windows, and buttons, customer, product.

– There is less need to reinvent the wheel to create an object

Page 58: APPROACH TO SYSTEM DEVELOPMENT. SYSTEMS DEVELOPMENT LIFE CYCLE A project is a planned undertaking that has a beginning and an end and that produces a

• Many systems being developed today combine both traditional and object oriented technology.

• Assignment– Read on traditional approach