SWE 645 MID-TERM STUDY GUIDE
Good Software Characteristics - Answers - 1. Correct
2. Scalable
3. Available
4. Secure
5. Sound
6. Interoperable
Reasons for Software Reuse - Answers - 1. Design, implementation and testing are
expensive
2. Maintenance is expensive
Structure-Oriented Software Development - Answers - Reusable Unit is a Module
Depends on specific technology and operating environment
Reusable function library
Object-Oriented Software Development - Answers - Reusable Unit is a Class
Depends on specific technology and operating environment
Reusable class library or design pattern
Middleware-Oriented Software Development - Answers - Reusable Unit is a Class
Less dependent on specific technology and operating environment
Reusable middleware
Component-Based Software Development - Answers - Reusable Unit is a Component
No dependency on specific technology or operating environment
Reusable components
Component-Based Software - Answers - Assembly of software components that
conform to component-based software engineering principles
Characteristics of a Reusable Component - Answers - 1. Documented
2. Tested
3. Input validation checking
4. Meaningful error messages
5. Not dependent on an environment
6. Does not know how it will be used
3 Flavors of Code - Answers - 1. Core Concerns
2. Cross Cutting Concerns
3. Plumbing
Core Concerns - Answers - Functions of an application that satisfy the business
requirements
, Cross Cutting Concerns - Answers - Secondary operations required to keep the primary
functions running correctly and efficiently
Plumbing - Answers - Integration aspects, for getting data and invocation from point A to
point B
Efficient Software Development - Answers - Develop core concerns and reuse
capabilities for cross cutting concerns and plumbing
JavaServer Faces (JSF) - Answers - MVC-based Web Development framework that
helps build HTML forms, validate form values, invoke business logic, and display results
Separation of Concerns - Answers - Separates the presentation, business logic, and
data
Promotes maintainability, scalability, and availability of software systems
Pros of Web Apps - Answers - 1. Universal access
2. Automatic "updates" meaning content is never out of date
Cons of Web Apps - Answers - 1. Poor GUI
2. Inefficient communication
Facelet - Answers - View component in JSF 2.0 that promotes code reuse and
extension via templating and composition features
Rendered in a web browser but executed in the web container
ManagedBean - Answers - Class used to represent Form data in JSF that is
automatically managed by the framework
Expression Language - Answers - Language used to access or set a managed bean's
properties and methods
JSF MVC Controller - Answers - FacesServlet
Processes each requested JSF page so that the server can return a response to the
client
JSF MVC Model - Answers - ManagedBean - contains all application data
JSF MVC View - Answers - Facelet - presents the data stored in the model
<h:panelGrid column="3"> - Answers - Short cut to create table effect
Good Software Characteristics - Answers - 1. Correct
2. Scalable
3. Available
4. Secure
5. Sound
6. Interoperable
Reasons for Software Reuse - Answers - 1. Design, implementation and testing are
expensive
2. Maintenance is expensive
Structure-Oriented Software Development - Answers - Reusable Unit is a Module
Depends on specific technology and operating environment
Reusable function library
Object-Oriented Software Development - Answers - Reusable Unit is a Class
Depends on specific technology and operating environment
Reusable class library or design pattern
Middleware-Oriented Software Development - Answers - Reusable Unit is a Class
Less dependent on specific technology and operating environment
Reusable middleware
Component-Based Software Development - Answers - Reusable Unit is a Component
No dependency on specific technology or operating environment
Reusable components
Component-Based Software - Answers - Assembly of software components that
conform to component-based software engineering principles
Characteristics of a Reusable Component - Answers - 1. Documented
2. Tested
3. Input validation checking
4. Meaningful error messages
5. Not dependent on an environment
6. Does not know how it will be used
3 Flavors of Code - Answers - 1. Core Concerns
2. Cross Cutting Concerns
3. Plumbing
Core Concerns - Answers - Functions of an application that satisfy the business
requirements
, Cross Cutting Concerns - Answers - Secondary operations required to keep the primary
functions running correctly and efficiently
Plumbing - Answers - Integration aspects, for getting data and invocation from point A to
point B
Efficient Software Development - Answers - Develop core concerns and reuse
capabilities for cross cutting concerns and plumbing
JavaServer Faces (JSF) - Answers - MVC-based Web Development framework that
helps build HTML forms, validate form values, invoke business logic, and display results
Separation of Concerns - Answers - Separates the presentation, business logic, and
data
Promotes maintainability, scalability, and availability of software systems
Pros of Web Apps - Answers - 1. Universal access
2. Automatic "updates" meaning content is never out of date
Cons of Web Apps - Answers - 1. Poor GUI
2. Inefficient communication
Facelet - Answers - View component in JSF 2.0 that promotes code reuse and
extension via templating and composition features
Rendered in a web browser but executed in the web container
ManagedBean - Answers - Class used to represent Form data in JSF that is
automatically managed by the framework
Expression Language - Answers - Language used to access or set a managed bean's
properties and methods
JSF MVC Controller - Answers - FacesServlet
Processes each requested JSF page so that the server can return a response to the
client
JSF MVC Model - Answers - ManagedBean - contains all application data
JSF MVC View - Answers - Facelet - presents the data stored in the model
<h:panelGrid column="3"> - Answers - Short cut to create table effect