Вы находитесь на странице: 1из 19

THE SOFTWARE DEVELOPMENT LIFE CYCLE AND THE EVOLUTION OF SYSTEMS DEVELOPMENT

Slide 1

SDLC and its phases


The System Development Life Cycle (SDLC)) is the process of understanding how an information system (IS) can support business needs, designing the system, building it, and delivering it to users. The key person in the SDLC is the systems analyst who analyzes the business, identifies opportunities for improvements, and designs IS to implement them. The basic SDLC that the IS projects follow has four fundamental phases: Planning Why build the system? Analysis Who, what, when, where will the system be? Design How will the system work? Implementation System delivery Each phase is itself composed of series of steps, which relies on techniques that produce deliverables. The deliverables are specific documents and files that provide understanding about the project. Te projects teams could move through the steps consecutively, incrementally, iteratively, or in yet another pattern. SDLC is a process of gradual refinement the deliverables produced in one phase are used in the next phase.

Slide 2

Planning phase

The planning phase is the fundamental process of understanding why an IS should be build and determining how the project team will go about building it. Steps Project instantiation Identify the business value Analyze the feasibility Deliverables

System request Feasibility analysis (technical, economic, organizational) Project Plan Work plan Staffing plan & Project charter GANIT chart, PERT/CPM, CASE tool Risk assessment

Project management Develop a work plan Staff the project Control and direct the project

Slide 3

Analysis phase

The analysis phase answers the questions of who will use the system, what the system will do, and where and when it will be used. During this phase, the project team investigates any current system(s), identifies improvement opportunities, and develops a concept for the new system Steps Analysis Information gathering Use Case modeling Structural modeling Behavioral modeling Deliverables Analysis plan Information Functional models Structural models Dynamic models

Slide 4

Design phase
The design phase decides how the system will operate, in terms of the hardware, software, and network infrastructure; the user interface, forms, and reports; and the specific programs, databases, and files that will be needed. Most of the strategic decisions were made in the analysis phase, but here is determined exactly how the system will operate. Steps Deliverables

Physical design Architectural design Interface design Database and file design Object design

Design strategy Architecture and infrastructure design Interface design Data storage design Program design

Slide 5

Implementation phase
The implementation phase is the final phase in the SDLC during which the system is actually build. For most systems it is the longest and most expensive part of the development process. Steps Construction Installation Support Deliverables Test plan & Program documentation Conversion plan, Training plan Support plan

Slide 6

The evolution of System Development Methodologies


A systems development methodology is a formalized approach to implementing the SDLC (i.e., it is a list of steps and deliverables.) The common methodologies are: 1. Structured design methodologies adopt a formal step-by-step approach to the SDLC that moves logically from one phase to the next. They emphasize the decomposition of a problem by either focusing on process decomposition or data decomposition. Produce a solid, well-thought-out system, but can overlook requirements because users must specify them early in the design process before seeing the actual system. 2. RAD-based methodologies attempt to speed up development and make it easier for the users to specify requirements by having parts of the system developed sooner. For this purpose are produced different versions or prototypes of the system through the use of CASE tools and fourth-generation/visual programming languages. 3. Object-oriented system analysis and design methodologies are most closely associated with a phased development RAD-based methodology. They focus on object decomposition where objects contain both process and data; use a use-case driven, architecture centric, iterative and incremental IS development approach; support three different view of the system: functional, static, and dynamic.

Slide 7

Structured Analysis and Design Methodologies


Projects move methodically from one to the next step Generally, a step is finished before the next one begins Uses two separate sets of diagrams to represent the processes and the data:

process-centered methodologies emphasize process model diagrams data-centered methodologies emphasize data model diagrams as the core of the system

The original SAD methodology is the Waterfall Development Method

Advantages: Identifies systems requirements long time before programming begins, minimizes changes to requirements as project proceeds. Disadvantages: Design must be specified on paper before programming begins.

Long time between system proposal and delivery of new system.


Slide 8

Rapid Application Development (RAD) Methodologies

RAD-based methodologies attempt to access the disadvantages of SAD methodologies by adjusting the SDLC phases to get some part of the system developed quickly and into the hands of the users. This way the users can better understand the system and suggest revisions that will bring the system closer to what is needed. Special techniques and computer tools are used to speed up the SDLC phases:

CASE tools (Computer-Aided Software Engineering tools) e.g. Rational Rose JAD (Joint Application Design) sessions information gathering where project team, users, and management work together to identify the requirements. Fourth generation/visual programming languages e.g. Visual Basic simplify and speed up programming. Code generators automatically produce programs from design specifications.

There are three main RAD methodology categories:


Phased development sequentially developed versions of the system Prototyping developing prototypes Throw-away prototyping developing design prototypes (not a working system.)
Slide 9

Phased Development
The phased development-based methodology breaks the overall system into a series of versions that are developed sequentially. The most important and fundamental requirements are bundled into the first version of the system. Additional analysis is performed based on version 1, then version 2 is designed and implemented, and so on the process continues until the system is complete. Advantages: Quickly getting a useful system to the users hands. Begins to provide business value sooner that as the system was delivered after completion, as when using waterfall methodology. The users can identify important additional requirements sooner that with the SAD. Disadvantages: The users begin to work with systems that are intentionally incomplete. So it is critical to identify the most inportant and useful features and to include them in the first version.
Slide 10

Prototyping
A prototyping-based methodologies perform the analysis, design, and implementation phases concurently, and all these phases are performed repeatedly in a cycle until the system is completed. Advantages: Very quickly provides a system for the user to interact with helps to more quickly refine real requirements. Disadvantages: The fast-paced system releases challenge attempts to conduct careful, methodical analysis can cause problems in the development of complex systems.
Slide 11

Throwaway Prototyping
Throw-away prototyping-based methodologies have a relatively thorough analysis phase and only design prototypes are developed (not a working system, represents part of the system that needs additional refinement, contains details for the users to understand the issues under consideration.

Advantages: Balance benefits of wellthought-out analysis and design, and prototype usage for refinement.

Disadvantages:
Takes longer to deliver the final system.
Slide 12

Object-Oriented Analysis and Design


Object-oriented system analysis and design methodologies are most closely associated with a phased development RAD-based methodology.

Attempts to balance emphasis on data and process processes and data are closely related and it is difficult to pick up one or the other as primary focus. The object-oriented methodologies use the RAD-based sequence of the SDLC phases as the problems are decomposed on objects that contain both data and process.
Uses Unified Modeling Language (UML) for diagramming. According to the creators of UML any modern object-oriented approach to developing IS must be:

Use-case driven use cases are used to define the behavior of the system, which allows the developers to focus on one activity at a time.
Architecture centric - the underlying software architecture of the system specification drives the specification, construction, and documentation. Iterative and incremental - most OO approaches to developing systems follow RAD-based approaches. The idea is that each iteration of the system should bring you closer and closer to meeting the needs of the users.

The same UML diagramming techniques are used through all the phases of the SDLC. The diagrams are rather conceptual and abstract at the start of the SDLC and gradually become more detailed.
Slide 13

Key Characteristics of the OO systems

The basic building block of an object-oriented system is the object. The object contains both data and processes. Class the template to define objects; defines all the data and processes that each object of that type contains. Instance/object a specific example of a class. Each class (and from there each object) has: Attributes - describe the data of the object Methods specify what processes the object can perform. In order an object to perform a method, a message is sent to the object. Messages are instructions (function or procedure call) sent to or received from other objects.

The key to reusability: Information hiding - the principle that only information required to use the object is available outside the object. Encapsulation - the mechanism that combines data and processes in a single object.
Slide 14

A Class and Its Objects


Instantiated Objects of the Class PATIENT 1: TOP PACKAGE: PATIENT -Name = Teresa Marks -Birthdate = March 16, 1975 -Phone number = 314-997-3456 Attributes PATIENT 2: TOP PACKAGE: PATIENT -Name = Mel Bourne -Birthdate = May 11, 1965 -Phone number = 314-997-3219

Class

PATIENT
-Name -Birthdate -Phone Number +Insert ()() +Delete ()()

Methods

Slide 15

Inheritance
Inheritance means that the classes can reuse attributes and methods that have been defined in other classes. Subclasses inherit the appropriate attributes and methods from its parent superclass.

Slide 16

Polymorphism
Polymorphism means that same messages can be interpreted differently by different classes or objects.

Slide 17

Project Team Roles

Business analyst - identifies the business value that a system will create, develops ideas and suggestions that improve the business process, and designs new processes and policies. Work experience - in the functional field or application, such as accounting, marketing or production management. System analyst - develops ideas and suggests technology innovation to business processes, designs new business process and information systems, and ensures that IS standards are maintained. Work experience - in analysis and design, programming, or some business area. Infrastructure analyst - ensures the new system conforms to organizational standards and identifies infrastructure changes needed (to the network, database, hardware and software). Work experience - in networking, database administration, or various hardware or software systems. Change management analyst - ensures that there is adequate documentation, user support, training, and change management strategies. Work experience - in organizational behavior (any business field). Project manager - ensures that the project completed on time and within budget and that the system delivers all benefits that intended by the project sponsor manages the team members, develops the project plan, assigns resources, and is the primary point of contact with the people outside the team. Work experience in project management and as a system analyst.
Slide 18

Summary

The Systems Development Lifecycle consists of four stages: Planning, Analysis, Design, and Implementation There are three major development methodologies: the waterfall method, RAD, and the Object-Oriented approach. The major elements in Object-Oriented design are: classes, objects/instances, attributes, methods, and messages. Encapsulation, Inheritance, and Polymorphism are also important objectoriented concepts The major team roles are: business analyst, systems analyst, infrastructure analyst, change management analyst and project manager.

Slide 19

Вам также может понравиться