0% found this document useful (0 votes)
22 views

WEB Assignment 2

Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views

WEB Assignment 2

Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

### 1. What is Web Engineering?

Web engineering is a branch of software engineering focused on the development of web-based


systems and applications. Unlike traditional software development, web engineering addresses the
unique requirements of web applications, which often involve dynamic content, diverse user
interactions, and the need for rapid deployment and scalability.

#### Key Aspects of Web Engineering:

- **Interdisciplinary Approach**: Combines elements of software engineering, information systems,


and human-computer interaction.

- **Lifecycle Focus**: Covers the entire lifecycle of web applications, from conception and
development to deployment and maintenance.

- **Quality Assurance**: Emphasizes the importance of quality attributes such as usability,


performance, security, and accessibility.

### 2. Principles, Methods, and Techniques Used in Web-Based System


Development

#### Principles:

- **Modularity**: Breaking down the system into smaller, manageable components.

- **Reusability**: Using existing components and code to save time and resources.

- **Extensibility**: Designing systems that can be easily extended with new features.

- **Maintainability**: Ensuring the system can be easily maintained and updated.

#### Methods:

- **Agile Development**: Focuses on iterative development, where requirements and solutions


evolve through collaboration between cross-functional teams.

- **Scrum**: A popular agile framework that uses time-boxed iterations called sprints.

- **Kanban**: A visual workflow management method that helps teams visualize their work, limit
work-in-progress, and maximize efficiency.

- **Waterfall Model**: A linear and sequential approach, suitable for projects with well-defined
requirements.
- **Rapid Application Development (RAD)**: Emphasizes quick development and iteration with user
feedback.

#### Techniques:

- **Prototyping**: Building a preliminary version of the application to gather feedback and refine
requirements.

- **User Stories**: Short, simple descriptions of a feature told from the perspective of the end user.

- **Wireframing**: Creating simple, low-fidelity representations of the user interface to plan the
layout and functionality.

- **Continuous Integration/Continuous Deployment (CI/CD)**: Automating the process of


integrating code changes, testing them, and deploying to production.

### 3. Web Standards, Categories of Web Applications, Characteristics, Tools,


and Web Programming Languages and Technologies

#### Web Standards:

- **HTML5**: Provides structure to web content, supports multimedia elements, and improves
accessibility.

- **CSS3**: Enhances the appearance of web pages with advanced styling capabilities.

- **JavaScript**: Enables interactive elements and dynamic content.

- **Web Content Accessibility Guidelines (WCAG)**: Ensures web content is accessible to all users,
including those with disabilities.

- **JSON and XML**: Standards for data interchange.

#### Categories of Web Applications:

- **Content-Based Applications**: Focus on displaying content, such as blogs and news websites.

- **Interactive Applications**: Allow user interaction, such as social media platforms and forums.

- **Transactional Applications**: Facilitate transactions, such as e-commerce websites.

- **Portal Applications**: Provide a gateway to various services and resources, such as enterprise
intranets.

- **Service-Oriented Applications**: Offer services like email, calendars, and online storage.

#### Characteristics of Web Applications:


- **Connectivity**: Accessible from any device with an internet connection.

- **Interactive User Interface**: Engages users with responsive and dynamic elements.

- **Integration**: Connects with other systems and services through APIs.

- **Real-Time Communication**: Supports instant messaging, notifications, and updates.

- **Customization**: Allows users to personalize their experience.

#### Tools:

- **Front-End Frameworks**: React, Angular, Vue.js.

- **Back-End Frameworks**: Node.js, Django, Flask.

- **Version Control**: Git, GitHub, Bitbucket.

- **Task Runners and Module Bundlers**: Gulp, Webpack.

- **Testing Frameworks**: Jasmine, Mocha, Selenium.

- **Deployment Platforms**: AWS, Heroku, Netlify.

#### Web Programming Languages and Technologies:

- **Front-End Languages**: HTML, CSS, JavaScript.

- **Back-End Languages**: Python, Ruby, PHP, Java, C#.

- **Databases**: SQL (MySQL, PostgreSQL), NoSQL (MongoDB, Redis).

- **API Technologies**: REST, GraphQL.

- **Web Servers**: Apache, Nginx.

### 4. Web-Based Information System Architecture

Web-based information system architecture refers to the design and structure of a web application.
It typically includes several layers that work together to deliver a seamless user experience.

#### Layers of Web-Based Information System Architecture:

- **Presentation Layer**: The user interface that interacts with the end-user.

- Technologies: HTML, CSS, JavaScript frameworks (React, Angular).

- **Business Logic Layer**: The core functionality of the application, processing user input, and
executing business rules.
- Technologies: Server-side languages (Node.js, Django, Spring).

- **Data Access Layer**: Handles database interactions and data manipulation.

- Technologies: SQL, ORM tools (Hibernate, Sequelize).

- **Database Layer**: Stores and retrieves data.

- Technologies: MySQL, PostgreSQL, MongoDB.

- **Service Layer**: Manages interactions with external services and APIs.

- Technologies: RESTful services, GraphQL.

### 5. Web Application Requirements for Engineering

#### Where Do Requirements Come From?

- **Stakeholders**: Users, business owners, and other interested parties who have specific needs
and goals.

- **Market Analysis**: Researching industry trends, competitors, and user behavior to identify
needs.

- **Regulatory Requirements**: Legal and compliance standards that the application must meet.

- **Technical Constraints**: Limitations of the technology stack and infrastructure.

#### Software Requirements with Relevance to the Web:

- **Functional Requirements**: Specific features and functions the application must have.

- Examples: User authentication, payment processing, content management.

- **Non-Functional Requirements**: Quality attributes that the application must meet.

- Examples: Performance (load times, response times), Security (data protection, encryption),
Usability (ease of use, accessibility), Scalability (handling increased load).

#### Using and Adapting Requirements Engineering (RE) Methods to Web Application Development:

- **Elicitation**: Gathering requirements through interviews, surveys, workshops, and observation.

- **Analysis**: Refining and prioritizing requirements, identifying dependencies, and potential


conflicts.

- **Specification**: Documenting requirements in a clear and structured format, such as user


stories, use cases, and functional specifications.

- **Validation**: Ensuring the requirements accurately reflect stakeholder needs through reviews,
prototypes, and testing.
- **Management**: Tracking changes to requirements, managing dependencies, and maintaining
traceability throughout the project lifecycle.

Adapting RE methods to web development often involves:

- **Agile Practices**: Incorporating user feedback and iterative development cycles to refine
requirements.

- **Prototyping**: Creating early models of the application to validate concepts and gather user
feedback.

- **Collaboration Tools**: Using platforms like JIRA, Trello, and Confluence to manage and document
requirements.

These details provide a comprehensive overview of web engineering and the associated
methodologies, standards, tools, and requirements involved in web application development. If you
need more specific details or additional topics covered, feel free to ask!

You might also like