Podcast
Questions and Answers
Which emerging technology is included in the course content?
Which emerging technology is included in the course content?
What is the total number of credit units for the CC 106 course?
What is the total number of credit units for the CC 106 course?
Which software development aspect does CO1 specifically address?
Which software development aspect does CO1 specifically address?
Which co-requisite course is needed before enrolling in CC 106?
Which co-requisite course is needed before enrolling in CC 106?
Signup and view all the answers
What type of software applications will students focus on developing in CC 106?
What type of software applications will students focus on developing in CC 106?
Signup and view all the answers
Who is the instructor of the CC 106 course?
Who is the instructor of the CC 106 course?
Signup and view all the answers
What is the primary purpose of the Requirements Engineering unit in software development?
What is the primary purpose of the Requirements Engineering unit in software development?
Signup and view all the answers
Which of the following diagrams are included under Behavior Diagrams?
Which of the following diagrams are included under Behavior Diagrams?
Signup and view all the answers
What is a characteristic of a good software implementation?
What is a characteristic of a good software implementation?
Signup and view all the answers
Which of the following accurately describes the purpose of Acceptance Testing?
Which of the following accurately describes the purpose of Acceptance Testing?
Signup and view all the answers
What is one type of software maintenance?
What is one type of software maintenance?
Signup and view all the answers
Which of the following is a component of the Architectural Design unit?
Which of the following is a component of the Architectural Design unit?
Signup and view all the answers
Which of the following defines the structure of a Requirement?
Which of the following defines the structure of a Requirement?
Signup and view all the answers
What is a major focus of the Software Deployment unit?
What is a major focus of the Software Deployment unit?
Signup and view all the answers
What is a key activity during the Testing unit in software development?
What is a key activity during the Testing unit in software development?
Signup and view all the answers
Which of the following is NOT a type of User Testing?
Which of the following is NOT a type of User Testing?
Signup and view all the answers
Study Notes
Course Overview
- Offered by Pangasinan State University at the Urdaneta Campus
- Part of the Bachelor of Science in Information Technology program, specializing in Web and Mobile Technologies
- Part of the College of Computing, Information Technology Department
Course Information
- CC 106 Application Development and Emerging Technologies
- 2 credit units
- Offered in the first semester of the 2024-2025 academic year
- 90 total hours
- Pre-requisites: SAD 102 System Analysis and Design and IM 102 Advanced Database Systems
- No co-requisites
Course Description
- Provides an introduction to software development, including:
- Software development processes
- Methodologies
- Project management
- Explores software platforms, frameworks, and architectures
- Includes hands-on experience with tools used in the development lifecycle
- Covers emerging technologies, their applications, and their impact on software development
Course Outcomes
- Demonstrate understanding of the software development lifecycle and its methodologies.
- Apply project management techniques for effective software project planning, execution, and delivery.
- Utilize emerging technologies such as Artificial Intelligence, Big Data analytics, and Cloud Computing to create innovative software solutions.
- Develop secure, reliable, and maintainable software applications.
- Collaborate effectively with team members for successful software projects.
Faculty Information
- Instructor: Mr. Joshua C. Reyes
- Designation: Instructor 1
- Email: [email protected]
- Consultation schedule: Thursdays, 1:00 PM to 5:00 PM
- Office location: COC Office, 2/F Academic Building 1
- Contact number: 09095959442
- Facebook: facebook.com/meetserjc
- LinkedIn: linkedin.com/in/meetjcreyes
Module 2 Software Development Phases
Unit 1: Overview of Software Development Phases
- Explains the phases involved in the software development lifecycle
Unit 2: Requirements Engineering
- Focuses on defining and documenting software requirements
- Definition of a Requirement: A condition or capability needed by a user to solve a problem or achieve an objective
- Structure of a Requirement: Typically includes a unique identifier, a brief description, and a detailed explanation
- Anatomy of a Good Requirement: Clear, concise, unambiguous, measurable, testable, traceable, and complete
-
Types of Requirements Specifications:
- Functional Requirements: Describe what a system should do
- Non-functional Requirements: Describe how a system should perform
Unit 3: System Modelling
- Examines various diagrams used in system modeling
- Two primary categories of diagrams: Structure Diagrams and Behavior Diagrams
Structure Diagrams
- Class Diagram: Represents classes and their relationships
- Object Diagram: Shows instances of classes
- Package Diagram: Organizes elements into logical groups
- Composite Structure Diagram: Represents the internal structure of classes
- Component Diagram: Depicts software components and their dependencies
- Deployment Diagram: Illustrates the physical deployment of software components
- Profile Diagram: Defines a specific profile for UML
Behavior Diagrams
- Use Case Diagram: Captures the interactions between users and the system
- Activity Diagram: Describes the flow of activities in a process
- State Machine Diagram: Defines the different states of an object and its transitions
-
Interaction Diagrams: Visualize the interactions between objects
- Sequence Diagram: Emphasizes the order of messages
- Communication Diagram: Highlights the relationships between objects
- Timing Diagram: Shows the timing of events over time
- Interaction Overview Diagram: Provides a high-level overview of interactions
A Practical Approach in Creating UML Diagrams
- Covers practical techniques for creating UML diagrams
Unit 4: Design
- Focuses on the process of designing software
-
Software Design: Translates requirements into a blueprint for the system, considering factors like:
- Design Inputs: Requirements, technical constraints, and existing systems
- Design Activities: Creating architectural design, detailed design, and interface design
- Design Outputs: Design documents, models, and prototypes
- Activities in the Design Process: Identifying key components and their interactions, defining interfaces, choosing data structures, and creating algorithms
-
Architectural Design: Defines the overall structure of a system, incorporating:
- Architectural Views: Represent different perspectives of the system, such as logical, physical, and process views
-
Architectural Patterns: Reusable design solutions for common problems. Examples include:
- MVC (Model-View-Controller): Separates data, presentation, and logic
- Layered Architecture: Organizes the system into layers with increasing levels of abstraction
- Repository: Stores and manages data in a central location
- Client-Server Architecture: Distributes functionality between clients and servers
- Pipe and Filter Architecture: Processes data in sequential stages
-
Database Design: Focuses on designing the underlying data storage, encompassing:
- Types of Databases: Relational, NoSQL, Object-oriented, and others
-
Interface Design: Focuses on the user interface, including:
- Categories of UI Elements: Input controls, navigational elements, informational components, and containers
- Types of UI Design: Graphical User Interface (GUI), Command-line Interface (CLI), and Web-based Interface
Unit 5: Implementation
- Focuses on translating the design into functioning code
- Characteristics of a Good Implementation: Efficient, readable, maintainable, and secure
- Programming Style and Coding Guidelines: Standards for writing code for readability, consistency, and maintainability
-
Implementation Practices: Include:
- Debugging and Defensive Programming: Identifying and fixing errors, preventing issues through careful coding
- Assertions and Defensive Programming: Adding checks to ensure expected conditions are met
- Performance Optimization: Improving the efficiency and speed of the software
- Refactoring: Improving the internal structure of the code without changing its functionality
- Code Reuse: Leveraging previously written code to reduce development time
Unit 6: Testing
- Involves validating the software to ensure it meets requirements
- The Purposes of Testing: To identify defects, validate functionality, and ensure quality
-
Verification and Validation (V&V): Two key aspects of testing
- Verification: Ensures that the software correctly implements the design
- Validation: Confirms that the software meets the user's requirements
-
Steps Involved in Testing:
- Plan Tests: Define test cases and scenarios based on requirements
- Perform Tests: Execute the tests and record results
- Document Test Results: Capture the outcome of the tests for analysis
-
Classes of Testing:
- Black-box testing: Testing functionality without knowledge of the internal code structure
- White-box testing: Examining the internal structure and logic of the code during testing
-
Stages of Testing:
- Development Testing: Performed by developers during development
- Release Testing: Conducted before releasing the software to users
- User Testing: Involves users to evaluate the software's usability
- Development Testing: Includes stages such as unit testing, integration testing, and system testing.
- Release Testing: Often involves alpha testing (internal testing) and beta testing (external testing with a limited group of users).
-
User Testing:
- Examples include alpha testing, beta testing, and acceptance testing
- Acceptance Testing: Performed by the customer to confirm that the system meets their acceptance criteria.
Unit 7: Deployment
- Covers activities involved in delivering the software to users
-
Software Deployment Activities:
- Getting the software to customers: Distributing or making the software accessible
- Creating installation packages: Packaging the software for user-friendly installation
- Providing documentation: Creating user manuals or guides
- Installation: The process of setting up the software on users' computers or systems
Unit 8: Software Releases
- Discusses different types of software releases and software maintenance
- Software Releases: Versions of the software made available to users
-
Software Maintenance: Modifications and updates to the software after deployment
- Types of Software Maintenance: Corrective, adaptive, perfective, and preventive
-
Maintenance Release: A release to fix defects or improve usability
- Patches: Small fixes for specific problems
- Service Packs: Collections of multiple patches
- Upgrades: Significant modifications or enhancements
-
Software Test Document (STD): A formal document outlining the testing approach
- The Structure of a Test Document: Includes sections covering the test plan, test cases, test procedures, and reporting.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
This quiz covers the fundamentals of application development in the context of CC 106 at Pangasinan State University. It includes software development processes, methodologies, and project management, alongside an exploration of emerging technologies and their impact. Prepare to engage with tools used in the development lifecycle.