This is the multi-page printable view of this section. Click here to print.
159.225 System Analysis and Modelling
1 - Intro to Systems Analysis and Modelling
What is System
There are two jobs mainly for system
- achieve goals
- MOST IMPORTANTLY add value to existing system
A system generally contain 2 character, user and developer. Developer can get value from user and user needs will accomplished from system
For programmer build a system using code. before writing they need a plan.
What is Systems Analysis and Modelling?
Programmers need to know what to write.
They can not just write as ‘I THINK’
a large assignment need cooperation and need required that everybody understand clear and no confusion. Most IMPROTANT, we need find a way providing value to ognization by meeting requirement from user.
To accompish that , programmer need follow rules
- identifying the problem that needs to be solved
- analysing the current situation (resources or evidence needed to find a solution)
- identifying requirements for the new system(requirement from user)
- modelling those requirements in a systematic way
- creating a clear specification all above
Let’s leave a question here ==Q: What is modelling?==
as you may asking, is it all about design a system?
Well…..yes, but there are different definitions of design
analysis is problem focused, while design is solution focused. However, one morphs into another through the process. when model existing problem and model our new design of process.
a good analysis is important, so when to start? just before coding?
analysis start Right at the beginning ! When the project idea is first formed, some systems analysis activities are appropriate.
after first version formed, developer can continue throughout, depending on SDLC methodology, which will talk later
as mentioned before , developers should meet user’s need, somtimes they can not realised what they really want. To get fully understyand user’s idea developers Need to spend time with the users and observeand understand the current situation, systems and environment.
Modelling
OK, let’s explain former question, What is modelling. model is a way to define a analysised situation, which contain all data needed.
There are three layer of modelling,
Conceptual Analysis and Modelling is in high level
conceptual modelling sketches out broad concepts.
Logical analysis and modelling is more detailed and physical is much more based //todo
From requirement to analysis and modelling, we need a workflow to develop project. Let’s introduce Systems Development Life Cycle (SDLC)
SDLC
This is the MAIN concept of modelling requirement and analysis, which is the key part of hole lesson. we will talk deeply in later chapter
the workflow called Systems Development Life Cycle (SDLC), it’s a process of gradual refinement Each phase consists of a series of steps and Each phase is documented (deliverables) Phases are executed sequentially, incrementally, iteratively or in some other pattern
we don’t need to understand pattrns here, we foucs on 4 phase
Required Gathering
The most critical step for SDLC. when trying develop a system. Good method of requirement gathering can prepared
Lab & Exercise 1
Documenting Lab1
Overview: A wealthy entrepreneur and art lover has decided to create an online system called ArtSpace, to assist in the display and sale of works of art. She has employed you to create a design for the system. The system is intended to bring together a range of different user groups who are interested in art sales and purchases: artists; art dealers; serious art buyers and collectors; and casual members of the public who may consider buying art works on occasion.
1.1 - Requirements Gathering
The systems development process transforms the existing (as is) system into the proposed (to be) system.
due to problems with requirements
Small batches of requirements can be identified and implemented incrementally like itrative
avoid risk convert high level business requirements (from the system request) into detailed requirements that can be used as inputs for creating model
high to low require
what’s require
detail
fuctional user and do non - system persisty like AES encrypt, can be test
non Look and feel requirements (fun, motivating, etc.) no subjective language standers or guidlines pagelayout, color patterns, follow those and reach some effact, can be tested
May be prioritize, sometimes may overwhemled
Defines the scope of the system – useful to avoid scope creep
functional
noun - verb sb is doing sth
managment
do lab before the lab time
bring lab1 and lab2
relay on our system
is fuction requure don not have numbers?
non-functional method can be tested
everyone need to kown nuon-name, need to be it’s full name
Important Concepts of OOAD UseCases
we dont care what happen in black box, we put input and get output
encapsulation called information hiding, have to use a method 头 change data.
secure and easy to dubug
polymorphism, give one message, have different correspond result
UML
Use-case v-n no confusion sys boundry/ sys name.
2 - Scenarios and Use Cases
General software followed model of SDLC (Systems Development Life Cycle (SDLC)) which we have introduced. We need find a formalized approach to implementing the SDLC.
The approach or ‘find a way’ called methodology A methodology is a formalized approach to implementing the SDLC (i.e., it is a list of steps and deliverables).
Some methodologies are formal standards used by government agencies, whereas others have been developed by consulting fi rms to sell to clients. Many organizations have internal methodologies that have been honed over the years, and they explain exactly how each phase of the SDLC is to be performed in that company.
There are many ways to categorize methodologies, We will introduce two way
A process-centered methodology emphasizes process models as the core of the system concept. this methodology focus first on defining the processes (e.g., assemble sandwich ingredients).
Data-centered methodologies emphasize data models as the core of the system concept.
In Figure 1-1, data-centered methodologies would focus first on defining the contents of the storage areas (e.g., refrigerator) and how the contents were organized.
While object-oriented methodologies will balance the focus between process and data by incorporating both into one model.
this meth will focus first on defining major element in system, and look at the processes and data involved with each element.
we mainly talk(object-oriented Analysis and design) OOAD in this course
Another is the sequencing and effort of each phases. which will talk in 159.341
Object-oriented systems Analysis & design(OOSAD)
Object-oriented systems focus on capturing the structure and behavior of information systems in little modules that encompass both data and process.
OK, that hard to understand.
The primary difference between a traditional approach like structured design and an object-oriented approach is how a problem is decomposed. and processes and data are so closely related that it is difficult to pick one or the other as the primary focus.
let break a problem into small pieces
one single part or device will handle one problem, and the device or we called Modules contain both data and process. You can call it Objects if you want
with Object connected, a problem can be solved. any modern object-oriented approach to developing information systems must be use-case driven, architecture-centric, and iterative and incremental.
OOSAD IS USE-CASE DRIVEN
Requirement gathering is focus on users which means that use cases are the primary modeling tools defining the behavior of the system. Through use-cases, programmers can idntify problems and communicate require in system
A use case describes how the user interacts with the system to perform some activity, such as placing an order, making a reservation, or searching for information.
a non-use-case driven such as traditional structured methodology require the systems analyst and user to develop models of the entire system. They finished entire system through decomposed into small subsystem
This goes on until no further process decomposition makes sense, and it oft n requires dozens of pages of interlocking diagrams.
In contrast a use case focuses on only one business process at a time, so developing models is much simpler.
OOSAD has 3 view
the systems analysts develop their understanding of a user’s problem by building up the three architectural views little by little
analyst work with users to create functional requirement.
Next, the analyst attempts to build a structural representation of the evolving system. Using the structural representation of the system,
Lab2
Tutorial 2: Gathering Requirements for your chosen Case Study (no formal submission needed)
This week you can do the requirements gathering for one of the design briefs (mentioned in Assignment 1 – where you have to choose the design brief based on your family name). List these requirements appropriately (e.g. create requirements definition report).
first try:
Some Questions
- how to deal with third-part service or external service?
- list all possible task/information? or simplify that ?
- users or charities ? using use-case driven which entity are we talking about