Week 1 Module 1
Week 1 Module 1
Week 1 Module 1
Slide 1
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
Slide 7
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
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.
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.
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
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
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
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
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