SAD Assignment 1
SAD Assignment 1
QUESTION ONE
PROJECT-Identification of Opportunities for IT enabled Organization
Hospital- Patient information management system
QUESTION TWO
System Development Models/Methodologies
Discuss the models below, defining them and giving their advantages and disadvantages. Also
mention where each of them is best applicable.
a. Structured Design
• Waterfall Development
In this model, Phases are organized in a linear order in other words output of one phase becomes
input of the next phase. Each phase relies on information from the previous phase and has its
own project plan.
Merits
Easy to manage due to the rigidity of the model whereby each phase has specific
deliverables and a review process.
Works well for smaller projects where requirements are very well understood.
Phases are processed and completed one at a time.
Simple and Easy to understand and use.
Process and results are well documented
Demerits
It is not a good model for complex and objected oriented projects.
No working software is produced until late during the life cycle.
Not suitable for projects where requirements are at a moderate to high risk of changing.
The model cannot accommodate changing requirements.
It is difficult to measure progress within stages
Applications of this model
This model is most appropriate and applicable in situations where;
Requirements are very well documented, clear and fixed.
Product definition is stable.
There are no ambiguous requirements
Ample resources with required expertise are available to support the product.
Technology is understood and not dynamic.
• Incremental
Under this model, requirements are broken down into multiple stand-alone modules of SDLC. It
is done in steps from analysis, implementation, testing and maintenance.
Each iteration passes through the requirements, design, coding, testing phases and each
subsequent release of the software adds functionality to the previous release until all designed
function has been implemented.
Merits
Some working functionality can be developed quickly and early in the life cycle.
Results are obtained early and periodically.
It is less costly to change the scope/requirements.
Risks are easily identified and resolved during the iteration and each iteration is an easily
managed milestone.
Progress can be measured.
Initial operating time is less
Demerits
Defining of increments may require definition of a complete system.
System architecture or design issues may arise because not all requirements are gathered
at the beginning of the entire life cycle.
More resources may be required.
More management attention is required.
Management complexity is more.
Applications
This methodology is more in use for web application and product-based companies.
Applicable when high risk features and goals are involved.
When demand for an early release of the product arises.
• Spiral Development
This model is cyclic in nature where each cycle in the spiral consists of four phases represented
by one quadrant each and the project passes through those four phases over and over in a cycle
until completed allowing for rounds of refinement.
Merits
Development can be divided into smaller parts and risky parts can be developed earlier
which helps in better risk management.
Users are able to see the system early.
Allows extensive use of prototypes.
Requirements can be captured more accurately.
Demerits
Management is more complex.
Process is complex.
Spiral may go on indefinitely for a project that goes on and on.
Not suitable for small or low risk projects because it could be expensive.
Applications
Applicable when there is long term commitment because of potential changes to
economic priorities as the requirements change with time.
When Requirements are complex and need evaluation to get clarity.
Significant changes are expected in the product during its development.
Customer is not sure of their requirements which is usually the case.
b. Rapid Application Development
This is an agile software development approach that focuses more on ongoing software projects
and user feedback and less on following a strict plan. It is based on prototyping and iterative
model with no or less specific planning.
• Phased
This is an approach that allows the necessary time in the initial phase to gather first-hand
information about project characteristics, personnel, and cultural nuances so that the delivered
solution can be tailored appropriately.
Advantages
Helps to overcome resistance to change
Allows for lessons learned in early phases to be incorporated in systems installed in the
later phases.
Establishes a solid foundation of available project-level data prior to rolling-up
enterprise-level information.
Disadvantages
Fewer resources will available for a particular model.
The risk of total system failure may be higher.
Project managers cannot show that the system is working until it is fully installed.
The period between development and implementation can be longer.
Staff has less practical time to acquire knowledge.
Applications
It applicable in gathering the first-hand information about project characteristics,
personnel.
• Prototyping
This is a process of building a model of a system and they employed to help system designers
build an information system that is easy to manipulate for end users.
Advantages
Reduces development time and cost.
It requires user involvement.
Facilitates system implementation since users know what to expect.
Developers receive quantifiable user feedback.
Results in higher user satisfaction.
Disadvantages
Users expect the performance of the ultimate system to be the same as the prototype.
It can cause systems to be unfinished or implemented before they are ready.
Developers can become too attached to their prototypes.
Applications
Used when desired system needs to have a lot of interaction with the end users.
Used in online systems and web interfaces because they might take a while for the system
to be built that allows ease of use and needs minimal training for the end user.
Excellent for designing good human computer interfaces systems.
• Throwaway Prototyping
This is a cheap, fast prototype that is designed to model an idea or feature. They are commonly
used in early phases of design when a large number of ideas are still being considered. It is just
there to validate the systems functionalities and requirements and once understood and worked
upon, it is thrown away because they dont add any more advantage to the prototype.
Advantages
Cost effective. Help in detecting different problems and they are thrown away just as the
throw away prototypes as well which reduces developers a lot of time and cost when it
comes to testing.
Versatile. Helps switch the programming language within the throwaway prototype
which speeds up the processing of the development as it removes complex languages and
the processing time associated with them.
No documentation. Documentation needs specifications of the project and as the
throwaway prototypes are only there to test and be discarded so developers are usually
saved from this hustle.
Disadvantages
Developers may be pressurized by the users to deliver it as the final system.
Confusion on the part of the users and developers can occur because it is likely to get so
used to the prototype that differentiating it from the real one can become a challenge.
Since the process involved in prototyping is done in rapid speed, it is possible that a lot of
aspects can be overlooked. We might be unable to have sufficient time to think of better
solutions and conduct deeper analysis.
Applications
It is used in finding defects within the proposed prototyping by making a makeshift
prototype especially for feedback.
c. Agile Development
Agile development methodology is centered round the idea of iterative development where
requirements and solutions evolve via collaboration between self-managing and cross functional
teams.
• extreme Programming
It is an agile software development framework built upon values, principles and practices, and its
goal is to allow small to mid-sized teams improve software quality and responsiveness to
changing customer requirements.
XP emphasizes the technical aspects of software development.
Merits
No unnecessary programming works.
Stable software is produced through continuous testing.
There is no over time, teams work at their own pace.
Changes can be made at a short notice.
Code is clear and comprehensible at all times.
Demerits
Relatively large time investment is needed.
Relatively high costs are invited.
Requires version management.
Requires self-discipline to practice.
Applications
XP can be appropriately applicable or used when;
There are dynamically changing software requirements.
There is a small co-located extended development team.
Technology being used allows for automated unit and functional tests.
The model /methodology suitable for a patient information system is the rapid application
development and this is because it facilitates user involvement reusability of components.
QUESTION THREE
Business Process Management
Business process management is the discipline in which people use various methods to
discover, model, analyze, measure, improve, optimize and automate business processes.
Business process management covers how we study, identify, change, and monitor business
processes to ensure they run smoothly and can be improved over time and it is best thought of as
a business practice, encompassing techniques and structured methods.
Business process management is the practice of discovering and controlling an organization s
processes to align them with business goals as the business evolves.
Identifies areas for improvement. The primary use of business process modeling is to provide
stakeholders with a better understanding of the way that a process works with an eye towards
implementing improvements.
Transparency. A business process model shows how tasks are expected to be performed, who
is accountable for them, and how a process contributes to the achievement of a business
objective. This serves an important role in increasing trust and accountability throughout an
organization.
Agility and flexibility. Business objectives and strategies can change in an instant (think
COVID-19). With business process modeling stakeholders can immediately identify and
implement improvements consistent with new objectives.
Modeling Elements
Events, indicated by circles. These can include the start and endpoints of an activity.
Activities, drawn as rectangles and comprise multiple steps, such as forms and output
documents.
Gateways, identifiable by diamonds. These indicate the various paths an activity can take.
There are many different business process modeling tools that can be used to improve
workflows, making them more efficient and cost-effective.
SIPOC Diagrams
A SIPOC diagram is a tool used in the Six Sigma methodology. SIPOC is an acronym that
helps stakeholders to identify the key elements of a process improvement project. The
elements are the suppliers, inputs, process that is being improved, outputs, and the customers
that receive the outputs.
Business Process Model and Notation (BPMN)
BPMN diagrams are business process modeling tools that were developed by the Business
Process Management Initiative (BPMI). The technique is like UML diagrams and is a
standardized method for creating flowcharts a step by step diagram of a process. Thus,
when creating a process model, you use the elements specified under the BPMN
methodology.
IPO Model
An IPO, or input-process-output model, is a functional graph that identifies inputs, outputs,
and required processes. The inputs consist of the information or materials that are introduced
into a business process. This triggers the tasks that are required to produce the outputs that
are the objective of a business process.
Gantt Charts
Gantt charts are simplistic diagrams that provide a visualization of the overall time taken to
complete a task or process. More specifically, Gantt charts can show the start and end
times/dates of a process, the required tasks, and how long each took to complete.
Collecting of data; this involves collection of the required data of patients that are to
be handled by the hospital.
Storing of data; this is a very sensitive part because security is ensured on the data of
the patients entered into the system.
Transmitting of data; the system is connected to many other systems in the hospital
and this is to enable other workers access patient information to offer better services.