0% found this document useful (0 votes)
38 views3 pages

Software Engineering Assignment 1

The document is an assignment sheet for a software engineering course. It includes the name of the student, Muhammad Khalil Ashraf, and provides details of Assignment 1 such as the announcement date, due date, total marks, teacher names, and three questions assessing different course learning outcomes. The questions cover rewriting a process framework, predicting a model to develop a social network application, and interpreting a user story with acceptance criteria for a mobile deposit feature.

Uploaded by

AMMAR BAIG
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views3 pages

Software Engineering Assignment 1

The document is an assignment sheet for a software engineering course. It includes the name of the student, Muhammad Khalil Ashraf, and provides details of Assignment 1 such as the announcement date, due date, total marks, teacher names, and three questions assessing different course learning outcomes. The questions cover rewriting a process framework, predicting a model to develop a social network application, and interpreting a user story with acceptance criteria for a mobile deposit feature.

Uploaded by

AMMAR BAIG
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Reg.

# 2021F-BCE-199 Section B Name Muhammad Khalil Ashraf

Department: Computer Engineering Program: B.S (CE)

Assignment 1
CE-202T Software Engineering

Announced date: Due Date: 05/04/2023 Total Marks = 3


29/03/2023
Marks Obtained =
Teacher Name: Dr. Huma Hasan Rizvi, Ms. Sadia Iqbal

Sr. No Course Learning Outcomes PLOs Blooms


Taxonomy

CLO_1 Explain variety of different views of software PLO_1 C2


process, considering all important process models and Engineering (Understanding)
addressing the debate between prescriptive and agile Knowledge:
process.
(CLO_1): (Cognitive Level C2, i.e., Understanding) (PLO_1: Engineering Knowledge)
1. Rewrite process framework in your own words.
ANS: A process framework is a systematic and organized approach to managing a
series of interconnected processes in order to achieve a specific goal or objective.
It provides a structured way to plan, execute, monitor, and control processes that
are critical to an organization's success.
The process framework defines the activities, tasks, and responsibilities necessary
to achieve a specific outcome, and provides guidance on how to effectively
manage these activities. It typically includes process models, standards,
procedures, and guidelines that enable consistency and efficiency in the execution
of processes.
The framework also provides a clear understanding of the inputs and outputs of
each process, as well as the roles and responsibilities of the individuals involved in
each stage of the process. By using a process framework, organizations can
standardize their processes, increase efficiency, reduce errors, and improve overall
quality.
2. Predict model to develop a web-based social network with the following functionalities:
 The user should sign-up for the system.
 The user should log into the system and can send or accept the friend request.
ANS: To develop a web-based social network with user sign-up and friend request
functionalities, you can follow the Model-View-Controller (MVC) architectural
pattern. Here's a brief overview of how the MVC pattern can be applied:
Model: This layer represents the business logic and data storage of the application.
It will handle tasks such as user authentication, friend requests, and other related
functionality.
View: This layer represents the user interface of the application. It will handle
tasks such as rendering the sign-up and login pages, displaying user profiles, and
showing friend requests.
Controller: This layer acts as the intermediary between the Model and View layers.
It will handle user input, process requests from the View layer, and communicate
with the Model layer to retrieve or update data.
Here are some steps you can follow to implement these functionalities:
User Sign-up: a. Create a sign-up form that collects the user's information such as
name, email, password, etc. b. Upon submission of the form, validate the data and
create a new user record in the database. c. Send a confirmation email to the user's
email address to verify their account.
User Login: a. Create a login form that collects the user's email and password. b.
Upon submission of the form, validate the data and authenticate the user's
credentials. c. Upon successful authentication, store the user's session data and
redirect them to the dashboard.
Friend Request: a. Create a friend request form that allows users to search for and
send friend requests to other users. b. Upon submission of the form, validate the
data and create a new friend request record in the database. c. Send a notification
email to the recipient user to accept or decline the friend request. d. Upon
acceptance of the friend request, update the database records to reflect the new
friendship.
These are just basic steps to get started with developing a web-based social
network with user sign-up and friend request functionalities. You will need to add
more features such as profile customization, messaging, news feed, etc. as your
project progresses
3. Interpret user story with acceptance criteria. If users want to add more money to their
accounts without physically going to the bank? Through the mobile deposit feature, the
user can take a picture of the check then upload it through the bank’s mobile app.

ANS: User Story: As a user, I want to be able to add money to my account without
physically going to the bank.
Acceptance Criteria:
The user should be able to access the mobile deposit feature through the bank's
mobile app.
The user should be able to take a clear picture of the front and back of the check.
The user should be able to upload the pictures of the check through the mobile app.
The mobile app should validate the image quality and confirm that the check is
eligible for deposit.
The user should be able to select the account where the money should be
deposited.
The mobile app should confirm the deposit and provide a confirmation number or
receipt.
The deposit should be reflected in the user's account balance within a reasonable
amount of time.
The mobile app should provide clear instructions and feedback throughout the
deposit process to ensure a smooth experience for the user

Common questions

Powered by AI

User stories with acceptance criteria are significant in software development as they provide concise documentation of user needs, expectations, and benchmarks for successful feature delivery. They guide developers in implementing functional requirements and enable testers to verify usability and performance effectively. This ensures the developed feature aligns with user intentions, enhancing usability and fulfilling customer satisfaction by meeting documented criteria .

Designing a friend request system involves challenges like ensuring data validation (e.g., verifying user authenticity) and seamless user interaction without overwhelming users. Solutions include implementing robust validation checks for friend requests, user-friendly interface designs for searches and notifications, and real-time updates to the database. Implementing confirmation and notification mechanisms can streamline interactions, ensuring users have a clear, responsive system experience while maintaining data integrity .

The MVC architectural pattern facilitates social network development by separating concerns: Model: Manages friend request data, interaction logic, and storage. View: Displays friend request forms and notifications to users. Controller: Mediates inputs between the View and Model, processes friend request submissions, and updates data states accordingly. This modularity ensures clear handling of user inputs, efficient data processing, and dynamic UI updates, improving scalability and maintainability .

Critical steps for developing user sign-up and authentication functionalities using the MVC pattern involve the following: Model: Implement business logic and data storage for tasks like user authentication. View: Design the user interface to render sign-up/login pages and user profiles. Controller: Handle user input, process requests, and communicate with the Model for data retrieval or updates. Steps include creating sign-up/login forms, validating data, authenticating credentials, and directing users appropriately upon successful authentication .

Prescriptive process models, like the Waterfall model, are rigid and follow a sequential approach, while agile models, like Scrum, promote flexibility, iterative progress, and adaptability to changes. The debate between these approaches in software processes involves balancing the need for structure and predictability with the demand for responsiveness and customer collaboration. Software process views must consider these differences in project requirements, team capabilities, and changing environments to determine the best-fit model .

A mobile deposit feature enhances user experience by enabling users to add money to their accounts without visiting a bank physically. It provides convenience by allowing users to take and upload pictures of checks via a banking app, confirmed through image validation, with deposits reflecting in account balances promptly. This feature supports selection of deposit accounts and offers confirmation and feedback for a seamless user experience, ensuring accessibility and ease of banking tasks .

A process framework contributes to an organization's success by providing a systematic and organized approach to managing interconnected processes to achieve specific goals. Key components include process models, standards, procedures, and guidelines that enable consistency and efficiency in execution. It outlines the activities, tasks, and responsibilities required, and clarifies inputs, outputs, and roles within each process stage, helping organizations standardize processes, increase efficiency, reduce errors, and improve overall quality .

Acceptance criteria guide development by clarifying feature requirements, ensuring developers build functionalities aligned with user needs. They establish clear metrics for success, facilitating targeted user testing to verify functionality meets preset standards, like image quality validation and confirmation feedback for mobile deposits. Well-defined criteria mitigate risks of feature scope creep and increase stakeholder confidence by demonstrating functionality feasibility and reliability through informed testing .

Engineering knowledge (PLO_1) is crucial for understanding software process models as it provides the foundational principles necessary for evaluating model applicability, effectiveness, and adaptability in varied contexts. It enables an engineer to discern the strengths and limitations of prescriptive models, such as structure, versus agile models, which prioritize flexibility, by leveraging technical insights into systems design, management, and project requirements .

Clear procedural guidance within a process framework enhances process quality by standardizing task execution, which minimizes variances and errors. By defining roles, responsibilities, and activities, it enables consistent adherence to standards and procedures, improving accuracy and efficiency. Consequently, this reduces miscommunication and rework, leading to higher quality outputs and lower operational costs, facilitating a structured approach to problem-solving and quality control .

You might also like