130 likes | 273 Views
Lecture 1. A dvanced S ystems A nalysis and D esign Fall 2010. Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu.
E N D
Lecture 1 Advanced Systems Analysis and Design Fall 2010 Convener: Houman Younessi 1-860-548-7880 youneh@rpi.edu
A system is identified in terms of the single goal it is to achieve. A system name is a cognitive handle that allows the identification and communication of a particular coherent and purposeful set of activities. A system name is usually presented in the form of: “A system to do/be/achieve X” Example: A system to generate birth certificates A system to generate reusable components A system to provide a uniform computing platform across government agencies All these may actually refer to the same application software!
Software Development is a form of System Development System Development entails the processes of: Finding out what is the problem Arriving at a solution Delivering on a good solution Discovery Invention Construction
What is the problem? What is a solution? How do we deliver on a good solution? Discovery Invention Construction Analysis Design Implementation So “analysis and design” is all about identifying what the problem is and to propose one or several solutions to rectify the problem.
RELEVANT Figuring out the problem. The problem that is to be figured out is immersed in the real world. The real world (the problem situation) is a web of interactions of amazing complexity To have a chance, we need to be able to focus only on what is:
Only those elements that are of our direct and immediate concern are focused on at any one time. We need therefore to concentrate on: Those elements about which we need to ask questions, Those elements about which we need to answer questions We also need to make sure that:
The first of these is called: CONTEXTUALIZATION The second is called: ABSTRACTION
Once we have understood the problem, we need to: Communicate our understanding: To ourselves at a later time To others To do so, we need to capture, retain and communicate what is relevant and in context. This is called Modeling
Modeling is therefore a fundamental element of analysis and as such a vital part of software development. In order to capture, retain and communicate what is needed, the modeler has to use a language. This is called: The Modeling Language The modeling language has to contain the vocabulary and the grammar of the modeling approach utilized.
Activity 1 Model a Person
Activity 2 Model a Refinery
What’s there? How does it happen? When does it happen? (or in what sequence?) Things and static relationships Change Order and timing of change
Things and static relationships Change Order and timing of change Structure Transformations Causal (sequential) relationships For all deterministic systems we must capture all that is relevant of these three aspects, if we are to have sufficient understanding of them.