CSS Prepare

optional · CSS study notes

1. Introduction to Web Engineering

CSS Optional — Paper-II, Section-B · P-II.VI.1 · Foundation for every Web Engineering answer. CSS 2020 asked you to argue whether web engineering is more challenging than traditional software engineering (7 marks) — model answer in section 6. Standard reference: Kappel, Pröll, Reich & Retschitzegger, Web Engineering.

1. Definitions

  • Web Engineering: the application of systematic and quantifiable approaches (concepts, methods, techniques, tools) to cost-effective requirements analysis, design, implementation, testing, operation and maintenance of high-quality web applications. It extends software engineering to the specific nature of the Web. The term emerged around 1998 (Murugesan, Deshpande and others).
  • Web application: a software system based on W3C technologies (HTTP, HTML, URI…) that provides web-specific resources — content and services — through a user interface, the web browser.
  • Website vs web application: a website mainly presents information (mostly static, read-only); a web application lets users interact and transact (log in, submit, pay) with business logic and a database behind it.

2. Why Web Engineering Was Needed — the "Web Crisis"

Early web systems were built ad hoc ("hack it and publish it"), which caused failures much like the 1960s software crisis. A Cutter Consortium survey cited by Kappel et al. found most web projects missed business needs, lacked functionality, ran late and overran budget. Causes: no process, no requirements analysis, poor documentation, untested code, and pressure to launch fast. Web engineering brings discipline without killing speed.

3. Categories of Web Applications (in order of evolution)

CategoryCharacteristicExample
Document-centricStatic HTML pages, updated manuallyEarly company home pages
InteractiveForms, CGI, dynamically generated pagesSearch forms, simple queries
TransactionalUsers update data; needs a database and transactionsOnline banking, e-shopping, airline booking
Workflow-basedBusiness processes across organizationsE-government services, B2B supply chains
CollaborativeShared, unstructured workWikis, Google Docs
Portal-orientedSingle entry point to many sourcesUniversity portals, Pakistan.gov.pk-style portals
UbiquitousAnytime, anywhere, any device; context-awareLocation-based mobile apps
Social webUser-generated content, communitiesFacebook, YouTube
Semantic webMachine-understandable content (RDF, ontologies)Knowledge graphs, linked data

4. Characteristics of Web Applications (Kappel's four dimensions)

Product-related

  • Content: content-driven; must be current, accurate and consistent — content quality is a quality attribute in itself.
  • Hypertext: non-linear navigation; risk of disorientation (user gets lost) and cognitive overload.
  • Presentation: aesthetics and self-explanation matter — users won't read a manual; a competitor is one click away.

Usage-related

  • Social context: unknown, huge and heterogeneous users; spontaneous use; load can spike suddenly → scalability.
  • Technical context: many browsers, devices, screen sizes, network speeds → quality of service and multi-platform delivery.
  • Natural context: global users, multiple languages and time zones, 24/7 availability.

Development-related

  • Team: multidisciplinary (developers, graphic designers, content writers, marketing), often young and inexperienced.
  • Technical infrastructure: immature, fast-changing, inhomogeneous (browsers and servers outside the developer's control).
  • Process: flexibility and parallel development; very short release cycles.
  • Integration: must integrate with legacy and external systems.

Evolution-related

  • Continuous change in requirements, technology and content; high competitive pressure; "always in beta".

5. Web Engineering vs Traditional Software Engineering

AspectTraditional softwareWeb application
UsersKnown, trained, limited in numberAnonymous, global, unpredictable numbers
Release cycleMonths to yearsDays to weeks; continuous deployment
PlatformKnown, controlledMany browsers, devices, networks
ContentSecondary to functionalityCentral; changes constantly
TeamMostly software engineersMultidisciplinary: designers, writers, marketers, developers
Security exposureOften internal networkExposed to the whole internet 24/7
RequirementsMore stableHighly volatile
Quality focusFunctionality, reliabilityUsability, performance, availability, security, look-and-feel

6. Model Answer — CSS 2020: "Web engineering is more challenging than traditional software engineering." Argue for or against.

Position: For (with qualification).

  1. Unknown, massive user base — load can jump from 100 to 100,000 users overnight (e.g. result announcements, online sales); scalability must be designed in.
  2. Heterogeneous environment — the same code must work on countless browser/device/network combinations the developer does not control.
  3. Security exposure — every web app is reachable by every attacker worldwide, 24/7.
  4. Volatile requirements and time-to-market pressure — releases in weeks, content changes daily.
  5. Multidisciplinary teams — coordinating designers, content writers, SEO and developers adds communication overhead.
  6. Continuous evolution — a web app is never "finished"; maintenance and operation dominate.

Counter-argument: web frameworks, cloud hosting, CDNs and mature tooling (Laravel, React, AWS) now hide much of this complexity, and some traditional systems (avionics, nuclear control) are far harder because of safety-critical requirements.

Conclusion: web engineering is not harder in every respect, but it adds distinctive challenges — scale, heterogeneity, exposure and continuous change — that justify it as a discipline of its own.

7. Web Engineering Activities

graph LR
    A["Requirements engineering"] --> B["Modeling and design"]
    B --> C["Architecture"]
    C --> D["Implementation"]
    D --> E["Testing"]
    E --> F["Deployment and promotion"]
    F --> G["Operation and maintenance"]
    G --> A

The loop back from maintenance to requirements reflects continuous evolution.


🎯 CSS Exam Angle

Open any web-engineering answer with the one-line definition. For "argue" questions, take a clear position, give 5–6 numbered arguments drawn from the characteristics in section 4, add one counter-argument, and conclude — examiners reward a balanced but decisive answer.

📌 Past CSS Paper Frequency

YearQuestion
2020"Web engineering is more challenging than traditional software engineering" — argue for or against (7)

⚠️ MCQ Traps

  • Web engineering is an extension of, not a replacement for, software engineering.
  • A website that only shows information is not necessarily a web application.
  • Content quality is a distinct quality attribute in web engineering.
  • "Disorientation" and "cognitive overload" are hypertext problems.

✅ Self-Check (with Answers)

Q1. Define web engineering.

Ans: The application of systematic and quantifiable approaches — concepts, methods, techniques and tools — to cost-effective requirements analysis, design, implementation, testing, operation and maintenance of high-quality web applications.

Q2. Differentiate a website from a web application.

Ans: A website mainly presents information (largely static and read-only, e.g. a brochure site). A web application supports interaction and transactions with business logic and a database behind it (e.g. online banking, admission portal).

Q3. Give the four dimensions of web application characteristics with one example each.

Ans: Product (content must be current and accurate), Usage (unknown, global users needing 24/7 availability), Development (multidisciplinary teams), Evolution (continuous change and competitive pressure).

Q4. Place online banking and Wikipedia into Kappel's categories.

Ans: Online banking — transactional. Wikipedia — collaborative (also part of the social web).

Q5. Name three reasons web apps have higher security risk than traditional desktop software.

Ans: They are exposed to the entire internet 24/7; they accept input from anonymous users; they rely on many third-party components and a complex stack (browser, server, database, network), each of which can be attacked.

📜 Past-Paper Questions & MCQs (CSS 2016–2026)

2016 · Paper-II · Q8(b) · 6 marks

Q. Elaborate the term e-commerce. Discuss in detail the effects of e-commerce on Islamic banking in Pakistan.

Ans.

  • E-commerce is buying, selling and exchanging goods, services and information over the Internet and other networks. Types: B2C, B2B, C2C, B2G.
  • Effects on Islamic banking in Pakistan:
    • Wider reach and financial inclusion: online and mobile banking bring Shariah-compliant services to people far from branches, and branchless banking supports the unbanked.
    • Lower cost and 24/7 service: less paper and branch cost, and faster account opening, payments and statements.
    • New products online: Murabaha-based online trade finance, Ijarah (lease), Musharakah, Diminishing Musharakah and Takaful, and Islamic e-wallets and online zakat or charity payments.
    • Competition and innovation: conventional banks' Islamic windows and digital-only banks push innovation.
  • Challenges: ensuring Shariah compliance of online contracts (clear offer, acceptance and ownership before sale), avoiding interest-based (riba) charges in payment gateways, security, fraud and trust, regulation by the State Bank of Pakistan and Shariah boards, and low digital literacy.
  • Conclusion: e-commerce expands Islamic banking if the products and the online processes remain Shariah compliant and secure.

2020 · Paper-II · Q8(a) · 7 marks

Q. "Web engineering is more challenging than traditional software engineering." Argue for or against.

Ans. (For.)

  • Rapid change and short time-to-market: web apps are released in weeks and evolve continuously, with requirements changing even after release.
  • Diverse, global users: unknown audiences with different devices, browsers, languages, bandwidths and accessibility needs.
  • Heterogeneous technology: a mix of HTML, CSS, JavaScript, server languages, databases, APIs and third-party services.
  • Non-functional pressure: security (open to attack by anyone), performance under unpredictable load, availability 24/7, and usability and look matter as much as function.
  • Content and multidisciplinary work: content management, graphic design, marketing and legal issues join programming.
  • Maintenance: constant updates of content and technology.
  • Against (balance): the core software-engineering principles (requirements, design, testing, configuration management) still apply, and frameworks and cloud services make development easier.
  • Verdict: web engineering is more challenging in speed, scale, security and diversity of users, but it builds on, and does not replace, traditional software engineering.