Search
Purdue School of Engineering and Technology

Purdue School of Engineering and Technology

Visual Design for Software

CIT 37300 / 3 Cr.

Examination of best practices in software interface development for a variety of platforms.  A study of the integration of visual elements into the systems analysis and design process, based on business and technical requirements.  Topics include study of common design patterns, a review of prototyping tools, multi-modal design concepts, navigation strategies, and user acceptance testing.

Software
  • Microsoft Office
  • Web-Based Software Tools
Outcomes

Course Outcomes (What are these?)

  • Develop of a user interface appropriate for a specific operating system (CIT l)
  • Integrate results of the systems analysis and design process into a satisfactory visual design to support identified technical requirements (CIT k)
  • Recommend best practices in current design for desktop, web, and mobile applications (CIT  m)
  • Develop navigation appropriate to the software's device and platform (CIT  m)
  • Design and execute user acceptance tests (CIT g)
  • Demonstrate and develop problem-solving skills in a team environment (CIT d)

CIT Student Outcomes (What are these?)

(d) An ability to function effectively on teams to accomplish a common goal.

(f) An ability to communicate effectively with a range of audiences.

(g) An ability to analyze the local and global impact of computing on individuals, organizations, and society.

(k) An ability to identify and analyze user needs and take them into account in the selection, creation, evaluation and administration of computer-based systems.

(l) An ability to effectively integrate IT-based solutions into the user environment.

(m) An understanding of best practices and standards and their application.

Topics
  • Investigate a Variety of Software Application Contexts
  • Examine Current and Best Practice User Interface Examples
  • Review Interpretation of UML Documents and Other System Requirements
  • Discover User Interface Prototyping Tools
  • Develop Static and Dynamic Software Prototypes Based on Technical Documentation
  • Perform Usability and Acceptance Testing with Users
Principles of Undergraduate Learning (PULs)

1(a) - Express ideas and facts effectively in written formats

1(c) - Communicate orally in one-on-one and group settings

2(a) - Analyze complex issues and make informed decision

2(b) - Synthesize information in order to arrive at reasoned conclusions

2(e) - Use knowledge and understanding to generate and explore new questions

4(c) - Modify their approach to an issue or problem based on contexts and requirements of particular situations

What You Will Learn

Investigate a Variety of Software Application Contexts

  • Examine differences between desktop, web, and mobile devices
  • Understand how different web browsers and different mobile operating systems behave and how that impacts users

Examine Current and Best Practice User Interface Examples

  • Research, critique, and revise existing user interfaces
  • Describe user interface standards and user expectations

Review Interpretation of UML Documents and Other System Requirements

  • Review UML documentation
  • Describe the integration of user interfaces into the systems analysis and design process
  • Understand the differences between gathering technical requirements and user needs

Discover User Interface Prototyping Tools

  • Research and test web-based user interface development software
  • Practice prototype development with industry-standard software

Develop Static and Dynamic Software Prototypes Based on Technical Documentation

  • Using technical documentation as a guide, create static interface layouts within the design guidelines of the software's context
  • Revise and improve static layouts to create dynamic prototypes according to technical and user requirements

Perform Usability and Acceptance Testing with Users

  • Understand at a high level the nature of usability testing
  • Integrate use case scenarios provided by the systems analysis and design process into user testing scripts
  • Revise and improve dynamic prototypes based on results of usability testing