INF2009F Personal Notes

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 14

INF2009F Personal Notes

WEEK 1: INTRO TO SYSTEM ANALYSIS AND DESIGN

Introduction
System analysis and design is just a process of designing and building computer
programs and systems that solve and make things easier.

It starts by figuring out what the problem is and who needs the solution. Then,
different ways of solving the problem are explored and the best one is chosen. After,
a plan is made for how to build the solution, including the parts and the programs
needed for the solution and what parts are needed, and how they’re going to work
together.

Once the plan is in place, the solution is built and tested to make sure the solution
works properly. Finally, the system is used and maintained over time to ensure it
works properly.

OVERALL, system analysis and design is a way to use technology to help solve
problems & make their lives easier.

NB: There is what we call a BUSINESS ANALYSIS

Business Analysis
Business analysis is the understanding of the business needs.

It is the process of looking at a company’s operations and figuring out ways to make
them better.

INF2009F Personal Notes 1


It involves talking to people, studying things work & coming up with ideas for how to
improve the business.

OVERALL, the business analysis focuses on improving the business.

The impact of IT technology (IT)

IT technology has greatly changed the way we communicate, do business, learn,


entertain ourselves, and access healthcare. This impact has been significant and
will continue to influence our lives in many ways.

System Development Methodologies

There are different types of Software development methodologies.


But we only talked about less than 5.

1. Waterfall model

2. Spiral model

3. Agile Manifesto

4. Object Orientated

From these models, here is a summary of each model.

WATERFALL MODEL (SDLC)


It was first developed by Winston Royce back in the 1970s.

INF2009F Personal Notes 2


It is a linear sequential approach to system development, where each phase of the
project (requirements gathering, design, implementation, testing, and maintenance)
is completed in order, with no overlap between phases.

SPIRAL MODEL
It was introduced by Barry Boehm in the 1980s

It was designed to mitigate some of the disadvantages associated with the


WATERFALL model.

This is a risk-driven approach to system development. It is a way of building a


system that is focused on managing risks.

It involves a circle of PLANNING, BUILDING, and EVALUATING the system, aiming


to identify and address potential risks at each stage of the process. If any risks are
found, the circle starts over again with the planning phase. This helps ensure that
the system is continuously evaluated and refined to minimize risks and improve
performance.

Agile Manifesto

The agile Manifesto is a set of guiding values and principles for


software development that prioritizes FLEXIBILITY,
COLLABORATION, and rapid FEEDBACK over strict adherence to
predefined plans and processes.

NB: The Agile Manifesto has four guiding values and ten principles.

The four guiding values of the Agile Manifesto


1. Individuals and interactions over processes and tools: The focus should be on the
people involved in the project, and how they interact and collaborate.

INF2009F Personal Notes 3


2. Working software over comprehensive documentation: The priority should be on
creating software that works, rather than spending time creating extensive
documentation.

3. Customer collaboration over contract negotiation: The goal should be to work


closely with the customer to ensure that their needs and expectations are met,
rather than focusing solely on meeting the terms of a contract.

4. Responding to change over following a plan: The development process should be


adaptable to changing circumstances, rather than following a rigid plan.

The 10 Agile Manifesto principles


1. Deliver working software frequently, with a preference for shorter timescales.

2. Welcome changing requirements, even late in the development process.

3. Deliver working software frequently, with a preference for shorter timescales.

4. Collaborate closely with customers and stakeholders throughout the development


process.

5. Build projects around motivated individuals and give them the resources and
support they need.

6. Use face-to-face communication whenever possible.

7. Measure progress primarily through working software.

8. Maintain a sustainable pace of development.

9. Focus on technical excellence and good design.

10. Keep things simple and minimize unnecessary work.

Overall, The Agile Manifesto is a set of values and principles for


software development that prioritize PEOPLE, COLLABORATION,
and FLEXIBILITY. The focus is on creating working software

INF2009F Personal Notes 4


quickly, collaborating closely with customers, and adapting to
changing circumstances. The principles emphasize delivering
software frequently, working closely with motivated individuals, and
focusing on technical excellence and simplicity. By following the
Agile Manifesto, software development teams can work more
effectively, deliver better results for their customers, and adapt to
changing circumstances more easily.

Object Oriented
Object-oriented methodologies, such as Unified Modelling Language (UML),
emphasize the use of objects and classes to represent the components of a system.
The design and development process are focused on creating and refining these
objects and their relationships with each other.

WEEK 2: UNIFIED MODELING LANGUAGE (UML) AND


THE BA ROLE

What is a Model?
A model is an abstract representation of a real-life artifact, meaning it is a
representation of something real, but it is not the actual real thing.

Examples of models include MAPS, ARCHITECT PLANS, and computer


system models in information systems.

Developing something intangible (something that cannot be touched or physically


perceived such as emotions and ideas) and non-existent is different from
developing a representation of something tangible. There may be doubts and

INF2009F Personal Notes 5


uncertainty during the initiation and analysis of a system, but with practice and
progress, it gets better.

The goal is to understand the tools and techniques that help navigate this phase of
system analysis and development.

OVERALL, a model is a simplified way of representing a complex or


abstract system or phenomenon. It can be in the form of equations,
diagrams, or simulations, and is used to understand, predict or gain
insights about the system being studied. Models are useful in fields
such as science, engineering, and economics because they allow
us to study and make decisions about complex systems that would
be difficult to study directly.

Why do we use Models?


Models are useful because they help us understand and analyse complex systems.

1. We use models to SIMPLIFY complex things.

2. We use models to make PREDICTIONS (They can be used to predict how a system
will behave under different conditions. This is useful in fields such as weather
forecasting.)

3. We can use models to TEST theories and hypotheses about how a system works.

4. We can also use models to make DECISIONS.

Overall, models are important tools that help us understand and


make decisions about complex systems in a simplified way.

INF2009F Personal Notes 6


Unified Model Language (UML)
A graphical notation for drawing diagrams of software systems.

It was developed around the 1990s, and it is now maintained by the Object
Management Group (OMG).

It is a way for Software Engineers to draw diagrams to help them design and
explain how a software system works. These diagrams can show things like how
different parts of the system are connected, how they interact with each other, and
what happens when certain events occur. Using UML can make it easier for
software developers to understand and communicate about their designs, and to
identify and solve problems before the software is built.

There are two types of UML Diagrams


1. Structural Diagram

2. Behavioural Diagram

Structural Diagram
A Structural UML diagram is a type of drawing used in computer programming to
show how different parts of a system are organized and connected. It helps
programmers understand the pieces of the system and how they work together to
make the whole thing function. Different types of Structural UML diagrams, such as
class diagrams show what the different classes in the system are and how they are
related, and object diagrams show what instances of those classes look like at a
certain point in time. These diagrams are important because they help programmers
design and build software that works the way it's supposed to.

It shows the static aspect of the system.

INF2009F Personal Notes 7


OVERALL, Structural diagrams are used to show how different
parts of a system are organized and connected and include class
diagrams and object diagrams. They help programmers understand
the pieces of the system and how they work together to make the
whole thing function.

Behavioural Diagram
Behavioural UML diagrams are like maps that help computer programmers
understand how a software system behaves and interacts with its users and other
parts of the system. They show how the system responds to different events and
how it processes information over time. There are different types of behavioural
UML diagrams, like use case diagrams that show the steps involved in user
interaction, and state machine diagrams that show how the system behaves in
response to events. These diagrams help programmers design software that works
the way it's supposed to and identify any problems early on.

Focus on Dynamic aspects of the system.

OVERALL, Behavioural diagrams focus on the dynamic aspects of


the system, such as how it interacts with users and responds to
events. Examples include use case diagrams and state machine
diagrams. These diagrams help programmers design software that
works the way it's supposed to and identify any problems early on.

The following are the diagrams that will be used in INF2009F.

INF2009F Personal Notes 8


1. Class Diagram

2. State Machine Diagram

3. Sequence Diagram

4. Use Case Diagram

5. Activity Diagram

6. Package Diagram

INTRODUCING THE BUSINESS/SYSTEM ANALYST

SYSTEM ANALYSIST
A systems analyst is a person who helps create information systems to solve
problems.

They start with an idea that comes from observing or experiencing a problem with a
system that can be improved. The goal is to turn the idea into an actual information
system that will solve the identified problem.

To be a good systems analyst, you need to be good at solving problems.

This involves being able to define the problem clearly enough to come up with a
working solution. In a business context, systems analysts need to understand the
goals and strategies of the company.

Different departments in a business work towards the same goal, so it's important
for the systems analyst to understand the goal so that the information systems they
create align with the company's strategies.

Creating an information system is not just about coding or programming. It starts


with an idea and then involves a process of analysis and design before coding or
programming.

INF2009F Personal Notes 9


WEEK 3: ACTIVITY DIAGRAMS

ACTIVITY DIAGRAM
An activity diagram is a type of UML diagram that is used to model the behaviour of
a system, process, or workflow → (as a sequence of work steps that completely
handle one business transaction or customer request.).

It provides a graphical representation of the activities that make up a system, along


with their sequence and dependencies.

They are particularly useful for modelling complex business processes, software
systems, and other dynamic systems where it is important to understand how
different activities are connected and how they interact with each other.

We refer to an activity diagram as a BEHAVIORAL DIAGRAM

TWO KINDS OF ACTIVITY DIAGRAMS


1. “AS IS” → Model current business processes or workflow.

2. “TO BE” → Model the enhanced and changed processes to be implemented.

OVERALL, an activity diagram is a type of diagram used to model


the behaviour of a system, process, or workflow. It helps visualize
the activities involved in a process, how they are connected, and
their dependencies. This diagram is particularly useful for
optimizing workflows, identifying inefficiencies, and communicating

INF2009F Personal Notes 10


ideas to stakeholders. It uses simple shapes to represent activities,
transitions, and decision points.

ELEMENTS USED IN AN ACTIVITY DIAGRAM.

The following table shows the elements used in an activity diagram.

INF2009F Personal Notes 11


INF2009F Personal Notes 12
INF2009F Personal Notes 13
GUIDELINES, TIPS AND HINTS FOR CREATING AN
ACTIVITY DIAGRAM

CONCLUSION, Activity diagrams are part of the UML NOTATION


and can be used to model workflows.

INF2009F Personal Notes 14

You might also like