Você está na página 1de 3

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 ABET ABET Objectives


1. Ability to analyze and evaluate e,f,k a. An ability to apply knowledge of
software processes mathematics, science and
engineering.
2. Ability to establish software e,f,k b. An ability to design and conduct
requirements and specifications experiments as well as to analyze
and interpret data.
3. Ability to design software b,c,e,k c. An ability to design a system,
component or process to meet
desired needs.
4. Ability to perform verification and a,c,e,k d. An ability to function on
validation of software specifications multidisciplinary teams
5. Ability to use software project c,e,k e. An ability to identify, formulate
management tools and techniques and solve engineering problems.
6. Ability to use CASE tools for software c,e,k f. An understanding of
development professional and ethical
responsibility
7. Ability to understand formal methods a,e,k g. An ability to communicate
in software development effectively.
8. Ability to understand functional and e,f,k k. An ability to use the techniques,
non-functional software specifications skills, and modern engineering
tools necessary for engineering
practice.
9. Ability to establish and participate in d,f,g,k
an ethical software development team
10. Ability to use metrics to evaluate a,e,k
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, Object-


Oriented 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.

Você também pode gostar