Engineering of Systems Analysis
Spring 2012
Elective for ECE
Catalog Data: 

Engineering of Systems Analysis. Description:  3 units.   In-depth consideration of each of the phases of the software project life code. Object-oriented design and programming. Includes a large-scale software development project involving groups of students.

Grading:  Regular grades are awarded for this course: A B C D E.

Prerequisite(s):  ECE 373 or equivalent, or consent of instructor.

May be convened with:  ECE 573.

Usually offered:  Spring.

ECE 373 or equivalent, or consent of instructor

Software Engineering. I. Sommerville. 9th Ed. Addison-Wesley. 2010. ISBN-13: 978-0137035151

Course Learning Outcomes: 

By the end of this course the student will be able to:

  1. Use an existing open-source software package, as decided by the instructor;
  2. Integrate software with an existing open-source software package;
  3. Learn on her own the sdk and best practices for an open-source software package;
  4. Write software that utilizes electrical and mechanical engineering concepts, including an interface with hardware; (since 2010, this is an ios, android, or windows  mobile device)
  5. Specify requirements for a software design, in a design document;
  6. Modify an existing software design when requirements are changed by the instructor; and
  7. Enforce consistent documentation and style through code reviews.
Course Topics: 
  • Code lifecycle, including conceptualization, analysis, design, implementation, and maintenance [10 lectures].
  • Software development processes, including waterfall and iterative processes, the UML methodologies, and CMMI [6 lectures].
  • Formal methods, including model-driven designs, requirements specifications, automata theory  [3 lectures].
  • Software metrics, including code coverage [3 lectures]
  • Code review processes, revision control systems, and certification of software [3 lectures]
  • iPhone/Android programming (students learn on their own, but with technical lectures) [8 lectures].
Class/Laboratory Schedule: 

Two 75-minute lecture sessions per week.

Four homework problem assignments during semester.

In-depth project, including:
• requirements capture;
• design document (with revision opportunity);
• alpha, beta, and final releases;
• enforced testing standards and code reviews; and
• live demonstration and project presentation.

One mid-term in-class examination plus a final examination.

Relationship to Student Outcomes: 

a)  an ability to apply knowledge of mathematics, science, and engineering (High)
c)  an ability to design a system, component, or process to meet desired needs within realistic constraints such
     as economic, environmental, social, political,    ethical, health and safety, manufacturability, and sustainability (High)
d)  an ability to function on multi-disciplinary terms (Medium)
e)  an ability to identify, formulate, and solve engineering problems (High)
g)  an ability to communicate effectively (High)
i)   a recognition of the need for, and an ability to engage in life-long learning (Mediium)
j)   a knowledge of contemporary issues (High)
k)  an ability to use the techniques, skills, and modern engineering tools necessary for engineering practice.  (High)

Prepared by: 
Dr. Jonathan Sprinkle
Prepared Date: 

University of Arizona College of Engineering