CS 3354 Software Engineering: (3 semester hours) Introduction to software life cycle models.

Software requirements engineering, formal specification and validation. Techniques for software design and testing. Cost estimation models. Issues in software quality assurance and software maintenance.
Fall 2005 Section 501 meets M W 8:30 PM – 9:45 PM Room ECSS 2. 203 Instructor: Hieu D. Vu UTD Office: ECSS 3.411

Office Hours: MW 7:30-8:30 Telephone: (972) 395-7741 E-mail: hieuvu53@netzero.net

Textbook: Software Engineering A Practitioner’s Approach, Sixth Edition by Roger S. Pressman, McGraw-Hill, ISBN: 0-07-285318-2. Course Objectives: This course is intended to provide an introduction to software engineering, software lifecycle models, software requirements engineering, formal specifications and software validation. Topics will include the software engineering techniques for the design, analysis, specification, development, testing, quality control, implementation, and evolution of large-scale software systems. Introductory study of project management, feasibility analysis, cost estimation models, CASE tools, information system proposals and presentations, database design, systems operations and support, and use of software metrics. Class Objectives 1. Ability to analyze and evaluate software processes 2. Ability to establish software requirements and specifications 3. Ability to design software ABET e,f,k ABET Objectives a. An ability to apply knowledge of mathematics, science and engineering. b. An ability to design and conduct experiments as well as to analyze and interpret data. c. An ability to design a system, component or process to meet desired needs. d. An ability to function on multidisciplinary teams e. An ability to identify, formulate and solve engineering problems. f. An understanding of professional and ethical responsibility g. An ability to communicate effectively. k. An ability to use the techniques,



4. Ability to perform verification and a,c,e,k validation of software specifications 5. Ability to use software project c,e,k management tools and techniques 6. Ability to use CASE tools for software c,e,k development 7. Ability to understand formal methods in software development 8. Ability to understand functional and a,e,k e,f,k

non-functional software specifications

skills, and modern engineering tools necessary for engineering practice. d,f,g,k a,e,k

9. Ability to establish and participate in an ethical software development team 10. Ability to use metrics to evaluate and forecast software developmental effort

Course prerequisite: CS 2305, and CS2315 or CS3333. Grading Weights: Test One 25%; Test Two 25%; Project and Presentation 20% and Assignments 10%; Test Three 20%. Highest student score in each event will become the divisor to determine individual event percentage score; final class weighted score, and class grade curve. Any missing or late event scores will be given a zero grade in the calculation of a course grade. Incomplete grades will not be issued. Assignments: TBA in class sessions, project report, and project presentation. Student Responsibilities While teamwork and collaboration is encouraged, identical assignment or test deliverables are not acceptable. Regular class attendance and participation is expected. The sick leave policy for this class allows one day per month for excused student absence due to illness, work or family related reasons. Student will sign class attendance log in each class session. Should a student exceed four (4) class absences during the approximately 44 class sessions, the course final score will be lowered by 13% (2/16) in the calculation of the course grade. All UTD student conduct policies and standards will be in effect. The schedule below is subject to change At the end of the course you will be required to turn in project evaluations and peer reviews. Failure to turn in an evaluation will reduce your final grade 5 points. Course Topics Sequence and Road Map of Events CS/SE 3354 FAll 2005

CLASS SCHEDULE Week 1. Chapter 1: Software Engineering: a Preview. Week 2. Chapter 2, 3: Waterfall Model. Evolutionary Model. Transformation Model. Spiral Model. RAD Model. Unified Process. Process Model. Week 3. Chapter 5: Practice: A Generic View. Software engineering, communication, planning, modeling, construction, testing practice.

Week 4. Chapter 6: System Engineering. Computer-based, system hierarchy. Business process. System modeling. Week 5, 6. Chapter 7: Software requirements document. Functional requirements. Design representation. EXAM I. Week 7. Chapter 8: Analysis Modeling. Requirements analysis, data modeling, ObjectOriented analysis. Week 8. Chapter 9: Design Engineering. Design concept, design model. Pattern Based software design. Week 9. Chapter 10: Architectural Design. Software architecture, data design, styles and patterns. Week 10. Chapter 11: Component level Design. What is a component? Designing class based components. Object constraint language. EXAM II. Week 11. Chapter 14: Software Testing Techniques. Basic path, control structure, black box, Object-Oriented, class level testing. Week 12. Chapter 16: Web Engineering. Web-applications engineering layers, process. Week 13. Chapter 21: Project Management Concepts. Management spectrum, people, product, process, project. Week 14. Chapter 23: Estimation for Software Projects. COCOMO model. IFPUG function point model. Week 15. Chapter 26: Quality Management. Quality concepts, software qua lity assurance, software review, technical review. EXAM III. Week 16. Chapter 31: Re-Engineering. Review for final exam.

Master your semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master your semester with Scribd & The New York Times

Cancel anytime.