160 likes | 326 Views
24 Nov. HWs and Exam Introduction to JSD Paddle Boat System Student Loan System. HWs and Exam (зачет). All HWS due by end of Wednesday, November 30 ( 23:59) Exam question during class Thursday, December 1 st Tea party?. Jackson System Development (JSD). Ideas underlying JSD
E N D
24 Nov HWs and Exam Introduction to JSD Paddle Boat System Student Loan System
HWs and Exam (зачет) • All HWS due by end of Wednesday, November 30 (23:59) • Exam question during class Thursday, December 1st • Tea party?
Jackson System Development (JSD) Ideas underlying JSD • The real-world as modeled: a simulation (analogical model) (versus functional analysis and decomposition) • Entity in JSD is an object. JSD is object based • System is modeled as a network of communicating sequential processes • JSD specification is in principle executable, and can be transformed into executable code (using inversion). JSD method consists of 6 steps: • Entity / Actions • Entity Structure • Initial Model and System Diagram • Function 5. System Timing 6 Implementation
Access to information in JSD • Serial data stream connection An entity in the real world (an entity model process) is connected to a serial data stream containing recording the actions it performs or suffers • State vector connection An entity model process can access the state vectors of other entities
Student Loan System Consider the following description of a student loan system: A university gives loans to students. Before getting a loan, there is an evaluation process after which agreement is always reached. A TE transaction records each step of the evaluation process, and a TA transaction records the overall loan agreement. A student can take any number of loans, but only one can be active at any time. Each loan is initiated by a TI transaction. Then, the student repays the loan with a series of repayments. Each repayment transaction is recorded by a TR transaction. Finally, a loan is terminated by a TT transaction. Two output functions are desired: (1) an inquiry function that prints out the loan balance for any student, and (2) a repayment acknowledgment sent to each student after the university receives payment.
Entity and actions Actions • take place at a point in time • take place in the real world outside of the system. • are atomic, cannot be divided into subactions Entities • perform or suffer actions in time. • exist in the real world; they cannot be a construct of a system that models the real world • must be capable of being regarded as individuals; and of being uniquely named.
Entity/action step 1.1 Make candidate list of entities and actions Pruning the candidate list 1.2 Finalize list of entities and actions
Entity Structure Diagrams • An entity structure diagram encapsulates the states of an object (the time-ordering of actions) • Methods for actions programmed using JSP Library and Conference Exercises
Solution to Library and Conference Exercises Library • List of actions and attributes • Entity structure diagram Conference • List of actions and attributes • Entity structure diagram
Modeling real-world entity as process stream (a) model (b) system diagram
System Implementation • SID (System • Implementation Diagram) • (Note use of program inversion) (b) Implementation of Scheduler using JSP
Pruning the list of candidate entities to student University We eliminate university from the candidate list of entities, because the system clearly is not about (is not interested in) the university, how it is administered, who the loan officers might be (except, perhaps, in relation to who authorized a loan to be made), etc. We may say that university is outside the model boundary or OMB. Student, student-loan, loan Students are evaluated before they receive a loan, and the system should model (record) the evaluation process. Hence evaluation occurs before there is any student-loan. • We decide to eliminate student-loan in favor of student, where student has the meaning in the loan system of students receiving one or more loans from the university. Loan is well-defined and could be considered, with student, an entity. What actions does a loan perform or suffer over time? Loans are agreed to, initiated, repaid and terminated. What actions do students perform or suffer? Students are evaluated, agree to a loan, initiate the loan, repay the loan and terminate the loan. • The structure of a loan is included in the structure of student, and there is no need at present to include loan as a second entity, although this may be considered in later. We reject loan as an entity.