Sad Power Point2016 - Copy
Sad Power Point2016 - Copy
ation
Advantages of the Traditional SDLC
Although sometimes criticized for its rigidity, a traditional SDLC
provided and continues to provide benefits for many organizations. In
addition to the reason it was initiated — namely, adding structure to a
previously unstructured process — the waterfall approach to system
development has two primary advantages:
•The explicit guidelines allow the use of less-experienced staff for
system development, as all steps are clearly outlined.
•The methodology promotes consistency among projects, which can
reduce the cost of ongoing support and allow staff to be transferred from
one project to another.
Disadvantages of the Traditional SDLC
•If followed slavishly, it can result in the generation of unnecessary
documents. Many methodologies have forms for every possible scenario.
Inexperienced staff may believe that all are required and may, for
example, insist on three levels of customer sign-off when only one is
needed.
•It is difficult for the customer to identify all requirements early in the
project; however, the sequential “river of no return” approach dictates
this. The philosophy of the SDLC means that there are no easy ways to
mitigate this problem and still remain true to the methodology.
The customer is involved only periodically, rather than being an active
participant throughout the project. This can result in misunderstandings
on both sides: IT and the customer
The Generic System Development Model
Systems Development Life Cycle – SDLC
SDLC is the series of steps used to mark the phases of development for
an information system. It is a common methodology for systems
development.
A.Systems Planning and Selection
It is the first phase of the SDLC in which an organization’s total
information system needs are analyzed and arranged and in which a
potential argument for continuing or not continuing with the project is
presented. The system planning and selection phase has two primary
activities.
•Identifying the need for a new or enhanced system
Information needs of the organization are examined and projects to meet
these needs are identified from
Requests to deal with problems in current procedures
The desire to perform additional tasks
The realization that information technology could be used to
improve the organization
The Systems analyst prioritizes and translates the needs into a written
plan including a schedule for developing new systems.
The organization may decide whether or not the resources devoted for
the project and a careful feasibility study is conducted to determine the
economic and organizational impact of the system
•The second task is investigating the system and determining the
proposed system’s scope. Then a specific plan for the proposed project
for the team to follow is produced. This Baseline Project Plan
customizes the standardized SDLC and specifies the time and resources
needed for its execution
B.Systems Analysis
During this phase, the analyst thoroughly studies the organizations
current procedures and the information systems used to perform tasks.
It has three sub phases,
First sub phase involves the systems analyst to determine the
requirements of the system, i.e., what the users want from a proposed
system
Next, the requirements gathered are structured (DFD, ERD) according to
their interrelationships, eliminating the redundancies
Third, system analyst has to generate alternative initial designs to match
the requirements, best suited design is selected for the development
after the comparison of all alternative designs
C. Systems Design
The system analyst converts the description of recommended solution
into logical and physical designs. Logical design involves in designing
the user interface, databases and compute processes, irrespective of the
programming languages (Algorithms, input and output forms, reports,
table normalization)
During the Physical design, the analyst team decides the programming
language, database systems to be used, hardware platform, operating
systems and network environment.
D.Systems Implementation and operation
•In this phase the information system is coded, tested and installed in the
organization, and in which the information system is systematically
repaired and improved
•Planning for both testing and installation is to be done as early as the
project planning and selection phase, because they both require extensive
analysis in order to develop exactly the right approach.
•This phase also includes the initial training to the users and
documentation of the system documented throughout the life cycle.
•During operation part, the problems faced by the users should be
solved, and changes and enhancements (new versions) are to be made as
per the users’ desire to reflect changing business conditions.
There inevitably comes a time, when an information system is no longer
performing as desired, when the costs of keeping a system running
become prohibitive, or when an organization’s needs have changed
substantially
Phase Products, out puts, or Deliverables
- priorities for systems and projects
System Planning - architecture of data, networks, hardware, and IS management
& - detailed work plan for selected project
Selection - specification of system scope - system justification or business case
- description of current system- general recommendation on how to fix,
System Analysis enhance or replace current system -- explanation of alternative systems,
and justification for chosen alternative
System - detailed specification of all system elements
Design - acquisition plan for new technology
System - code - documentation - training procedures and support capabilities
Implementation
- new versions or releases of software with associated updates to
& documentation, training and support
Operation
System Development Guideline
As you gain experience as a system analyst, you will develop your own
style and techniques. Although each project is different, you should
consider some basic guide lines as you build an information system.
•Sick to an overall development plan.
•Ensure that users are involved in the development process especially
when identifying and modeling system requirements.
•Identify major milestones for project review and assessment.
•Establish interim check points between major mile stones to ensure that
the project remains on schedule.
•Be flexible within the frame work of your plan.
Provide accurate and reliable cost, and benefit information
Approaches to System Analysis and Design
There are two approaches to Information system development:
1.Process-oriented and
2.Data-oriented
•Process-oriented approach
•Traditionally, Systems Analysts designed an Information System
based on what the system was meant to do, such as billing or
inventory control or, in our example, producing results statements.
•This meant that the focus was on outputs and processing logic – or,
in other words, on the flow, use and transformation of data.
•The data used as inputs were seen as important also, but secondary to
(not as important as) the application.
•Each system would contain its own files and data storage areas (e.g. a
payroll system and a system for scheduling classes & who will teach
them would each have their own sets of data for teachers in the
university)
•The data in each system would match the specifications for that system
only.
•Each system was considered (looked at) separately.
The analysis involved creating drawings/diagrams that show how the
data moves around the system and where it is stored in between flows
•Data-oriented approach
•Over time, the approach changed to being a more data-oriented. This
was a response to the problems above.
•This approach tends to focus on how the data should be represented or
organized, independently of where and how data are used in the system.
•A data model is produced – this describes the data and relationships
between the data. Business rules define how the organization deals with
the data.
•With this approach, databases are designed around subjects – such as
customers, suppliers, parts (or, in our university example, teachers,
students, and courses). This lets us use the same databases for many
different applications.
This led to the modern approach that usually includes a database for
storing data and applications that deal with getting and retrieving the
data from this one central location. This means that the application is
independent of data and data definitions – we can call this application
independence
Approach to System Development
Prototyping, rapid application development (RAD), Joint application design (JAD) and
Participatory design (PD) are four approaches that streamline and improve the systems
analysis and design process.
Rapid Application Development (RAD)
RAD refers to a type of software development approach which uses minimal planning
in favor of rapid prototyping. The "planning" of software developed using RAD is
interleaved with writing the software itself.
Key objective is fast development and high quality system at a relatively low
investment cost.
Breaking a project into smaller segments.
Aims to produce high quality systems quickly, through the use of
computerized development tools like Graphical User Interface (GUI)
builders, Computer Aided Software Engineering (CASE) tools, Database
Management Systems (DBMS), Fourth generation languages, etc.
Key emphasis is on fulfilling the business need while technological or
engineering excellence is of lesser importance.
Project control involves prioritizing development and defining
delivery deadlines or time boxes. The emphasis is on reducing
requirements, not in increasing the deadline.
It includes Joint Application Development (JAD), where users are
intensely involved in design.
Active user involvement is very important.
Produces documentation necessary to facilitate future development and
maintenance
Prototyping
Prototyping is an evolutionary development approach. Instead of
spending a lot of time producing very detailed specifications, the
developers find out only generally what the users want. The developers
do not develop the complete system all at once. Instead they quickly
create a prototype, which either contains portions of the system of most
interest to the users, or is a small-scale working model of the entire
system. After reviewing the prototype with the users, the developers
refine and extend it. This process is continued until the final
specifications
•Designing and building a scaled-down version of the desired
information system with the help of CASE tools
•Prototyping is a key tool that supports rapid application development.
RAD involves gaining user acceptance of the interface and developing
key system capabilities as quickly as possible.
•In this approach a small version or prototype of the system is prepared
and implemented.
•User while working with prototype makes suggestions.
Suggestions are incorporated to make it fully operational system
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.
JAD is a group-based method for collecting user requirements and
creating system designs. It is used within the systems analysis and design
stages of the SDLC. Unlike the traditional SDLC, where the analysts
interview individual users of the new information system to understand
their needs JAD has a meeting in which all users meet simultaneously
with analysts. During the meeting, all users jointly define and agree upon
systems requirements.
Participatory design
•PD involves users in the development process; they have an equal voice
in determining system requirements and in approving system design.
Software Engineering Process
Software Engineering is the science and art of building significant
software systems that are: 1) on time 2) on budget 3) with acceptable
performance 4) with correct operation.
Software engineering is concerned with theories, methods and tools for
professional software development. For example, Software engineering
expenditure represents a
significant fraction of the GNP of developed countries.
Software costs often dominate system costs. The costs of software on a
PC are often greater than the hardware cost. Software costs more to
maintain than it does to develop.
Software engineering is concerned with cost-effective software
development.
Software product may:-
Generic products: Stand-alone systems which are produced by a
development organization and sold on the open market to any
customer.
Generic products: Stand-alone systems which are produced by a
development organization and sold on the open market to any
customer.
Customized products: Systems which are commissioned by a specific
customer and developed specially by some contractor.
The Software Process is structured set of activities required to develop
a
software system with:
Specification- defining what the system should do;
Design- defining the organization of the system and implementing the
system;
Validation- checking that it does what the customer wants;
Evolution- changing the system in response to changing customer
needs.
Activities vary depending on the organization and the type of system
being developed.
•Specification: Set out the requirements and
constraints on the system.
1.Design: Produce a model of the system.
2.Manufacture: Build the system.
3.Test: Check the system meets the required
specifications.
4.Install: Deliver the system to the customer and
ensure it is operational.
•Maintain: Repair faults in the system as they
are discovered
Professional Responsibility: - Software engineers should not just be concerned with
technical considerations. They have wider ethical, social and professional
responsibilities.
Ethical Issues: - Confidentiality, Competence, Intellectual property rights and
Computer misuse.
CHAPTER IV
SYSTEM SELECTION AND PLANNING
Identification of Projects
System selection and planning is the primary phase of SDLC deals
with the process of identifying, selecting, initiating, planning projects
and assessing project feasibility. And, identifying and selecting projects
one of its tasks which is performed by a key member of top
management, or a steering committee composed of cross section
managers, or user departments, or the development group.
Projects identified by top management have a strategic
organizational focus, by the steering committees have a cross
functional focus, by the individual departments have a narrow,
tactical focus. The development group identifies projects based on
the ease with existing hardware and software systems.
Hence, projects may be identified by both top-down and
bottom-up initiatives. The systems analyst should support
these groups, to describe their information needs.
Classifying and ranking Information System development projects
is the second task under system selection and planning of SDLC.
This task is done by top managers, a steering committee, business units
or the IS development group. The criteria commonly used to evaluate
projects are
•Value chain analysis: Extent to which activities add greatest benefits
•Strategic alignment: Extent the projects achieves the long term goals
•Potential benefits: Extent to which the project helps to improve
profits, Customer service, etc and the duration of the benefits
•Resource availability: Amount and type of resources required for the
Project
•Project size / duration: Number of individuals and duration to
complete
•Technical difficulty / risk: Level of technical difficult to complete.
The factors must be considered when selecting a project are
•Perceived needs of the organization
•Existing systems and ongoing projects
•Resource availability
•Evaluation criteria
•Current business conditions
•Perspective of the decision makers
Interview transcripts
Questionnaire responses
Notes from observations
Meeting notes
Existing documents and
files
Business mission & strategy statement
Job descriptions
Training manuals
Observe workers at selected times to see how data are handled and
On job observation what information people need to do their jobs.
Process modeling
Logic modeling
Conceptual Data Modeling
Process modeling
It involves graphically representing the process, or actions, that capture, manipulate,
store, and distribute data between a system and its environment among components
with in a system. A common form of a process model is a Data Flow Diagram (DFD).
A Data Flow Diagram is a graphic that illustrates the movement of data between
external entities and the process and data stores within a system.
Modeling System Process
The analysis team begins the process of structuring requirements with an abundance
of information gathered during requirements determination. In structured analysis,
the primary deliverables from process modeling are a set of coherent, interrelated
data flow diagrams. Deliverables of the process modeling are:
Context DFD
DFDs of current physical system
DFDs of new logical system
Through description of each DFD component
Another organization or organizational unit that sends
data to or receives information from the system you are
analyzing.
A person inside or outside the business unit supported by
the system you are analyzing and who interacts with the
system.
Another information system with which the system you
are analyzing exchanges information
Developing DFDs
First, the boundary or scope of the system, and the systems interrelation ship
to its environment is represented by data flow diagram called a context
diagram.
Context Diagram a DFD of the scope of an organizational system that shows
the system boundaries, external entities that interact with the system and the
major information flows between the entities the system. All context
diagrams have only process labeled “0”.
Second, a context diagram is a DFD that provides a general overview of a
system. Other DFDs can used to focus on the details of a context diagram. A
Level-0 diagram is an example of such a DFD. A level-0 diagram represents
the primary individual processes in the system at the highest possible level of
detail.
Data Flow Diagramming Rules
You must follow a set of rules when drawing data flow diagrams. These rules
listed below, allow you to evaluate DFDs for correctness.
Rules governing Data Flow Diagramming
Process
No process can have only outputs. It is making data from nothing (a miracle). If
an object has only outputs, then it must be a source.
No process can have only inputs ( a black hole). If an object has only inputs, then
it must be a sink.
A process has a verb phrase label.