You are on page 1of 5

1

Syllabus for CSE 4352 “Software Architecture”.

Course Objective:

This class is designed to develop within the undergraduate Computer


Science, Software Engineering, or Computer Engineering student an
understanding of what the emerging field of software architecture
means to the field of software development.

The student will leave the class with a firm grasp of the issues
surrounding Software Architecture development, the critical need for
the development of such architectures and the ability to perform the
analyses necessary to formulate effective software architectures. The
successful student will be able to analyze Software Engineering
problems in terms of architectural thinking. In addition the student
will have a firm working grasp of the architectural concepts of
platform, framework, pattern, Class Association Diagram and the use
of 'objects in the N-Platform space'.

In addition the student will be taught a number of basic graphical


approaches to annotating formal software architectures.

TEXT:

Software Architecture Bootcamp – Malveau, Mowbray, Prentice


Hall, ISBN 0-13-141227-2

$44.61 & this item ships for FREE with Super Saver Shipping.
Price:
Details
You
$5.38 (10%)
Save:
2

Availability: Usually ships within 24 hours. Ships from and sold by Amazon.com.

Only 3 left in stock--order soon (more on the way).


Want it delivered Friday, May 26? Order it in the next 7 hours and 5 minutes, and choose
One-Day Shipping at checkout. See details

32 used & new available from $15.41


The successful student will arrive at the first class with this text in
their possession.

Other readings will be supplied by the instructor and placed on the


website.

NB: This syllabus does NOT establish a contractual relationship


between the instructor and the student. Rather this syllabus is
provided to define a broad outline of the course structure and
goals. The Instructor reserves the right to modify, change or
otherwise alter the details of instruction and material coverage
offered in this class in response to class progress and interests.

Classes

All class notes a n d provided readings are available on the website.


Students are encouraged to check the website daily for important
announcements. The website is my primary means for communication
outside the classroom. Students are responsible for being aware of
any website postings.

The instructor reserves the right to present lectures without


accompanying slide shows. Students may take notes during these
lectures. Please either leave your notebook computer at home
or turn it off during lectures. There will be classes in which the
use of notebook computers is essential. These will be announced prior
to the class.

All homework assignments are listed in the various class notes. Due
dates are assigned during the lecture.
3

Classroom Etiquette:

No sleeping, no eating, no cursing, no use of laptops. These


are non-negotiable requirements and failure to meet them will
result in ejection. The classroom lectures will be presented in a
professional manner (which does not mean we cannot enjoy
the learning process but does mean that we will behave as on a
professional job).

Learning Objectives:

Class learning objectives


Ability to understand the Software Architectural perspective and how it differs from lower-level design
Ability to understand the need for a Software Architecture.
Ability to understand current era Software Architectures
Ability to develop and apply an Software Architectural Development Fishbone Diagram
Ability to understand and apply various Software Size and Complexity Estimation Techniques wrt Reqs
Ability to develop architectural approaches from basic requirements
Ability to analyze tradeoffs among multiple architectural alternatives
Ability to incorporate complete requirements into a Software Architecture
Ability to perform architectural reconstruction techniques using SEI scenarios
Ability to understand Patterns and their roles in the development of software architectures
Ability to understand the role of the MVC pattern, its limitations and abilities
Ability to understand architectural frameworks within product line development
Ability to communicate the necessity of architectural consistency to non-technical management.
Ability to consistently implement an architectural specification
Ability to construct architectures in a teamwork setting with minimal requirements
Ability to perform software sizing analysis based on architectural components and requirements analysis

Grading:

Grades will be comprised of two tests, multiple homework


assignments, a project and class participation. The presentation of
the project shall take place during the final exam period.

Tests will represent 40% of the final grade (instructor graded).

Homework will represent 20% of the final grade (All homework are
graded by the Instructor). All homework are due on the assigned
date. Failure to turn in a homework at the time of instructor collection
4

results in a ZERO grade for that homework. There will be NO


EXCEPTIONS TO THIS POLICY.

The Project will represent 20% of the final grade. The student will
present the project during the time period of the Final Exam.

Class Participation will represent 20% of the final grade (graded


by Instructor). Class participation requires that the student attend
classes and contribute to the classes with comments, insights,
exceptions and/or other material pertinent to the subject matter at
hand. Continued and flagrant tardiness will impact the Class
Participation Grade in a negative manner.

NB: I teach in a highly interactive manner. This means that the


instruction is not a boring recitation of the slides but rather employs
the slide show to stimulate discussion and involvement in the material.
This approach is essential to developing the critical thinking skills that
are important to a Software Engineer.

I will walk around the classroom while presenting the material and will
continually elicit student comments, criticisms and thoughts in regards
the presented material. It is imperative that the students participate
actively in this dialogue.

TESTING POLICIES: THERE WILL BE NO EXCEPTIONS TO ANY


ASPECT OF THESE POLICIES.

To gain admission to the tests the student will have to sign-in and
present a valid UTD Identification (at least for the first test).

All seating during the test period is by instructor assignment only. On


test day the students will wait outside the classroom to be signed-in
and assigned a seat.

No purses, backpacks, cell-phones, or other personal accoutrements of


any type are allowed at the student seat during the test. Such
material may be deposited with the instructor for safekeeping during
the test.

Tests will take approximately one hour thereby allowing 15 minutes for
sign-in and seating assignment.
5

All tests, homework and the project shall be graded by the instructor
and returned to the student for review. UTD policy allows students to
contest grades.

Nota Bene: There is a rather grim calculus associated with the


grading policy. It is impossible to make a grade higher than a B-
without active, professional class participation.

Grade A+: if (<= 98)


Grade A: if ((< 98) && (> 94))
Grade A-: if ((<=94) && (>=90))

Grade B+: if ((< 90) && (>=87))


Grade B: if ((<87) && (>=83))
Grade B-: if ((<83) && (>=80))

Grade C+: if ((<80) && (>=77))


Grade C: if ((<77) && (>=73))
Grade C-: if ((<73) && (>=70))

Grade D+: if ((<70) && (>=67))


Grade D: if ((<67) && (>=63))
Grade D- if ((<63) && (>=60))

Grade F: if (<= 59)

You might also like