1 / 11

Preparation for the Final Exam -- Weaving the threads together

Preparation for the Final Exam -- Weaving the threads together. ECEN5043 Software Engineering of Multi-Program Systems University of Colorado, Boulder. Basic constraints. You should bring: paper for writing the exam (and something to write with!) :-)

franz
Download Presentation

Preparation for the Final Exam -- Weaving the threads together

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Preparation for the Final Exam -- Weaving the threads together ECEN5043 Software Engineering of Multi-Program Systems University of Colorado, Boulder

  2. Basic constraints • You should bring: • paper for writing the exam (and something to write with!) :-) • you may bring a laptop computer for writing the essay. Texts • Notes and any ECEN5043 web site handouts you want • These may be electronic but you should not access homework (graded or otherwise) or go to other sources during the exam. • A calculator in case there is an RMA problem • A means of telling time and noting the halfway point ... :-)) • You should NOT bring -- homework, any other web-accessible device • Final exam sessions are 2.5 hrs • One part will be essay -- we’ll look at samples today • The other part will be based on homework assignments

  3. Help availability • Students taking the test on campus -- • Exam is Tuesday, May 8, 4:30 p.m. – 7:00 p.m. in the Circuits Lab, ECEE 275 • Extended office hours: • Monday, May 7, 2:00 to 4:00 p.m. • Tuesday, May 8, 10:00 – 11:30 a.m. • By appointment, if needed. • Students taking the test off-campus with a proctor • I will be available for extended office hours and web site discussion-thread help up to the morning before the exam. • I will give you phone numbers where you can reach me if you have questions while you are taking the exam.

  4. If you are a distance student ... • and you are planning to take the exam on-campus. • Tell me so that I do not send a copy of the exam to your educational officer

  5. Multi-program issuesaka Concurrency issues • Shared resources • Support mutually exclusive access • Avoid deadlock between multiple interacting processes/programs. • Avoid starvation or unnecessary delay • Support condition synchronization or asynchronous exec. • Communication -- shared data or message passing • Non-determinism -- Produce consistent results despite interleaving of program instructions by the operating system or the CPU. • Partial failure (in a single CPU context); e.g. a thread is killed • Asynchronous events – interrupts, signals, et al. • The CPU and operating system are shared resources

  6. Multi-program issuesaka Concurrency issues • In general, resource contention impacts responsiveness & scalability. • Security requires defensive interface classes. • Essential to evaluate architecture quality early in development. • Multi-program testing issues • Need for sampling -- Analogy to path testing at multi-program system level • Some components are not possible to modify -- some legacy programs, off-the-shelf components • Can only test at system level what you can verify at system level • Some component interactions are too complex to set up at test driver level

  7. Software Engineering Topics • Requirements engineering -- • requirements, constraints, derived requirements; • specification notation adapted to multi-program system level • Elicitation at system level; at component level • Traceability • Process design • Creation, termination, states • Interprocess communication • User threads vs. kernel threads

  8. Software Engineering Topics(continued) • System Impact • Scheduling and real time scheduling • Memory management • I/O software and file systems • Performance • Security • Design methodology (development process) • Notations for communication among project staff • Testing – • static testing • test planning of dynamic testing • testing interactions at different levels of integration

  9. Sample essay question • Pick a topic from the Issues list. For example: • “In a multi-program system, programs/components may be a combination of new, legacy, and off-the-shelf programs.” • What considerations does that introduce in sw engineering areas? • Requirements: elicitation, specification notation, traceability • Design: security, performance, process communication, synchronization & scheduling, memory management, file management, i/o, inter-team communication, intra-team communication • Testing: kinds of testing; managing the complexity

  10. Another sample essay question • Pick a topic from the Issues list. For example: • “In a multi-program system, some of the programs share a resource.” • What considerations does that introduce in sw engineering areas? • Requirements: elicitation, specification notation, traceability • Design: security, performance, process communication, synchronization & scheduling, memory management, file management, i/o, inter-team communication, intra-team communication • Testing: kinds of testing; managing the complexity

  11. Yet another sample essay question • Pick a topic from the Issues list. For example: • “In general, resource contention impacts responsiveness & scalability.” • What considerations does that introduce in sw engineering areas? • Requirements: elicitation, specification notation, traceability • Design: security, performance, process communication, synchronization & scheduling, memory management, file management, i/o, inter-team communication, intra-team communication • Testing: kinds of testing; managing the complexity

More Related