Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
The use of models in analyzing and specifying requirements in software engineering. It emphasizes the importance of selecting the appropriate tool for the task and provides an overview of various tools and techniques. The Unified Modeling Language (UML) is introduced as a standard language for modeling software systems. The document also includes examples of data-flow models and flowchart models for university admissions. likely to be useful as study notes or lecture notes for a software engineering course.
Typology: Lecture notes
1 / 29
William Y. Arms
As you build understanding of the requirements through viewpoint analysis, scenarios, use cases, etc., use models to analyze and specify requirements. The models provide a bridge between the client's understanding and the developers'. The craft of requirements analysis and specification includes selecting the appropriate tool for the particular task.
Grady Booch, James Rumbaugh, Ivar Jacobson, The Unified Modeling Language. Addison-Wesley 1999. The next few slides are based on the approach taken in this book (BRJ). Grady Booch, et al., Object-Oriented Analysis and Design with Applications , third edition. Benjamin/Cummings 2007. Rob Pooley, Perdita Stevens, Using UML Software Engineering with Objects and Components , second edition. Addison-Wesley 2005.
A model is a simplification of reality
UML is a standard language for modeling software systems
Rational Rose is an IBM-owned system for creating and managing UML models (diagrams and specifications).
In UML, a model consists of a diagram and a specification.
External enBBes Processing steps Data stores or sources Data flows An informal modeling technique to show the flow of data through a system.
Applicant Application form Assemble application Completed application Evaluate Rejection Acceptance Shows the flow, but where is the data stored? Is there supporting information?
Applicant ApplicaBon form Receive documents Completed applicaBon SupporBng documents Pending database Acknowledgment Begin evaluaBon Applicant database EvaluaBon request
Acknowledgment Does this model cover all situaBons? Are there special cases?
Rejection Evaluation Applicant database Evaluation request Acceptance Financial aid Offer Special request The requirements will need a description of the decision-making process.
University Admission Decision Each column is a separate decision case. The columns are processed from left to right. Note that the rules are specific and testable.
SAT between S1 and S2 - - T T F F GPA between G1 and G2 - - T F T F Accept X X X Reject X X X
Operation Decision Manual operation Report An informal modeling technique to show the logic of part of a system and paths that data takes through a system.
Form received New applicant? New database record
Notify student F Update database Application complete? Notify student
Evaluate Compare this example, which shows the logic, with the dataflow model, which shows the flow of data.
An informal modeling technique to show the logic behind part of a system. Example: University Admission Decision admin_decision (application) if application.SAT == null then error (incomplete) if application.SAT > S1 then accept(application) else if application.GPA > G1 then accept(application) else if application.SAT > S2 and application.GPA > G then accept(application) else reject(application) The notation used for pseudo-code can be informal, or a standard used by a software development organization, or based on a regular programming language. What matters is that its interpretation is understood by everybody involved.
A system is modeled as a set of states , S i A transi1on is a change from one state to another. The occurrence of a condi1on , C i , causes the transiBon from one state to another Transi1on func1on : f ( S i
j
k Example
3
Example: Radia1on Therapy Control Console You are developing requirements for the operator's control console. In an interview, the client describes the procedures that the operator must follow when operaBng the machine. You use a finite state machine model to specify the procedures. This shows the client that you understand the requirements and specifies the procedures for the developers. This scenario and state diagram are based on a published example. Unfortunately I have no record of the source. If you know it, please contact me so that I can acknowledge the author.
Scenario The client provides the following rough scenario. "The set up is carried out before the paBent is made ready. The operator selects the paBent informaBon from a database. This provides a list of radiaBon fields that are approved for this paBent. The operator selects the first field. This completes the set up. "The paBent is now made ready. The lock is taken off the machine and the doses with this field are applied. The operator then returns to the field selecBon and chooses another field."
PaBents (^) Fields Setup Ready Beam on [Enter] [Enter] [Start] [Stop] [Select field] [Select paOent] [lock on] [lock off] Discuss each state and transiBon with the client.
Select PaOent Select Field Enter lock off^ Start Stop lock on PaBents Fields Setup Ready Beam on Fields Fields Fields PaBents PaBents PaBents Setup Setup Setup Ready Beam on Ready This table can be used for requirements definiBon, program design, and acceptance tesBng.
home lectures (^) projects books assign- ments tests integrity^ about course materials sample reports sugges- Oons examples scripts
A requirements and design methodology for rela1onal databases
An enBty (noun) A relaBon between enBBes (verb) An enBty or relaBon airibute Note: There are various notaOons used for enOty-relaOonship diagrams. This is the notaOon used by Chen (1976).
Student Major Project 6 to 8
IsMember Client team member IsClient 1 IsContact 0:n 1