CC 106 Application Development Overview
16 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Which emerging technology is included in the course content?

  • Artificial intelligence (correct)
  • Network security
  • Database normalization
  • Web design principles
  • What is the total number of credit units for the CC 106 course?

  • 1
  • 4
  • 3
  • 2 (correct)
  • Which software development aspect does CO1 specifically address?

  • User interface design
  • Data visualization techniques
  • API integration strategies
  • Software development lifecycle and methodologies (correct)
  • Which co-requisite course is needed before enrolling in CC 106?

    <p>SAD 102 System Analysis and Design</p> Signup and view all the answers

    What type of software applications will students focus on developing in CC 106?

    <p>Secure, reliable, and maintainable applications</p> Signup and view all the answers

    Who is the instructor of the CC 106 course?

    <p>Mr. Joshua C.</p> Signup and view all the answers

    What is the primary purpose of the Requirements Engineering unit in software development?

    <p>To gather and specify what the software should achieve</p> Signup and view all the answers

    Which of the following diagrams are included under Behavior Diagrams?

    <p>Sequence Diagram and State Machine Diagram</p> Signup and view all the answers

    What is a characteristic of a good software implementation?

    <p>Adherence to coding guidelines</p> Signup and view all the answers

    Which of the following accurately describes the purpose of Acceptance Testing?

    <p>To determine if the software meets the defined requirements</p> Signup and view all the answers

    What is one type of software maintenance?

    <p>Patching</p> Signup and view all the answers

    Which of the following is a component of the Architectural Design unit?

    <p>Architectural Patterns</p> Signup and view all the answers

    Which of the following defines the structure of a Requirement?

    <p>The format and attributes of a requirement statement</p> Signup and view all the answers

    What is a major focus of the Software Deployment unit?

    <p>Packaging and delivering software to users</p> Signup and view all the answers

    What is a key activity during the Testing unit in software development?

    <p>Documenting test results</p> Signup and view all the answers

    Which of the following is NOT a type of User Testing?

    <p>Performance Testing</p> 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.

    Quiz Team

    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.

    More Like This

    Use Quizgecko on...
    Browser
    Browser