Tải bản đầy đủ (.pdf) (46 trang)

Asm2_1St_Sdlc_Bh00468_Nguyetntm .Pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.48 MB, 46 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>ASSIGNMENT 2 FRONT SHEET </b>

<b>Unit number and title Unit 7: Software Development Life Cycle </b>

<b>Student declaration </b>

I certify that the assignment submission is entirely my own work and I fully understand the consequences of plagiarism. I understand that making a false declaration is a form of malpractice.

<b>Grading grid </b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>❒ </b>

<b>Summative Feedback: </b>

<b>❒ </b>

<b>Resubmission Feedback:</b>

<b>Internal Verifier’s Comments:</b>

<b>Signature & Date:</b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

6. Identify FRs and NFRs of Tune Source Project. ... 11

7. Discuss the relationships between the FRs and NFRs. ... 12

8. Discuss the technique (s) you did use to obtain the requirements. ... 13

a. Introduction ... 13

b. Requirement gathering techniques... 13

c. Conclusion ... 14

P6. Use appropriate software analysis tools/techniques to carry out a software investigation and create supporting documentation. ... 14

1. Use Case diagram for the entire system. ... 14

2. Use Case specification for 2 Use cases. ... 16

3. Context Diagram ... 20

4. Data Flow Diagram – Level 0 for the whole system. ... 21

5. ERD for the whole system. ... 24

P7. Discuss, using examples, the suitability of software behavioural design techniques. ... 25

1. Use Mock-ups and Wireframes in projects. ... 25

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

2. Client-Server Architecture for student management. ... 31

3. Use the PHP & MySQL programming languages to implement those interfaces according to the requirements of the specific use case (at least 2 use cases as described in

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<b> Table of Figure </b>

Figure 1: Stakeholder ...6

Figure 2: Use Case diagram for the entire system ... 16

Figure 3: Context Diagram ... 21

Figure 4: Data Flow Diagram ... 22

Figure 5: ERD ... 24

Figure 6: Signup interface ... 26

Figure 7: Login interface ... 27

Figure 8: Account ... 28

Figure 9: Home ... 29

Figure 10: From add ... 31

Figure 11: Student Information System ... 33

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>I. Introduction </b>

Net Education Institute (NEI), one of Vietnam's leading organizations in the field of

education, recognizes the importance of improving administrative and academic processes through the application of software technology. In the previous stage, I discussed with NEI about software development models as well as developed a feasibility analysis report of NEI's student management project. At this stage, I convinced the Network Education Institute (NEI) to choose my project for development. The project was initiated with the goal of creating an efficient and flexible software system that automates various

administrative and academic activities. To carry out this project, NEI chose our company as a partner to develop software that met their specific requirements and needs.

In this context, our task is to take on the role of Systems Analyst to carry out the analysis and design phase for NEI's new system. This article will focus on the process of analyzing project requirements, using appropriate techniques and tools, and designing the system's architecture based on the identified requirements. At the same time, we will also discuss the appropriateness of software behavioral design techniques and technology selection in the context of the NEI project. We hope to contribute to building an effective software system, helping NEI improve its operating processes and bring a better learning experience to students.

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>II. Contents </b>

<b>P5. Undertake a software investigation to meet a business need. </b>

<b>1. What is stakeholder? </b>

Stakeholder or stakeholder is a term to refer to individuals, a group of people or an organization that has a close relationship with the business and is interested in the operations and success of the project. These are people who are interested and have the ability to share resources and they can influence and be directly or indirectly affected by the business such as strategies, plans, and business activities, programs,... Stakeholders also include important stakeholders who have the ability to influence or decide on the survival and development of the business.

<b>Figure 1: Stakeholder </b>

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

<b>2. Types of Stakeholder </b>

Stakeholders are individuals, groups, or organizations that have an interest or concern in a particular project, organization, or system. They can influence or be affected by decisions and actions related to that entity. Here are some common types of stakeholders:There are two types of stakeholders in a project which are internal stakeholders and external

stakeholders:

<b>a. Internal stakeholders: These stakeholders are directly linked to the organization </b>

or project. They may include:

 Owners: The individuals or groups that own the organization, such as shareholders or partners.

 Employees: People who work for the organization, including managers, employees, and executives.

 Managers: Individuals responsible for supervising and directing the activities of the organization.

 Board of Directors: Individuals elected or appointed to represent the interests of shareholders and provide governance.

<b>b. External stakeholders: These stakeholders are outside the organization but can </b>

still influence or be affected by the organization's actions. They may include:

 Customers: Individuals or organizations that purchase or use the products or services offered by the organization.

 Suppliers: Individuals or organizations that provide goods, services, or resources to the organization.

 Shareholders/Investors: Individuals or entities who own shares or have invested in the organization.

 Government: Regulatory bodies, government agencies, or legislative bodies that establish laws, regulations, and policies affecting the organization.

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

 Community: People living or working in the vicinity of the organization or those who are impacted by its operations.

 Competitors: Other organizations or entities operating in the same industry or offering similar products or services.

 Non-Governmental Organizations (NGOs): Independent organizations that work towards social, environmental, or humanitarian causes and can have an interest in the organization's activities.

 Media: Journalists, reporters, and media outlets that can influence public perception of the organization.

<b>c. Collaborative stakeholders: These stakeholders work closely with the </b>

organization to achieve common goals. They may include:

 Partners: Other organizations or individuals with whom the organization collaborates on specific projects or initiatives.

 Alliance: Formal or informal groups formed to address common interests or concerns.

 Trade Unions: Associations that represent the rights and interests of workers in an organization.

 Professional Associations: Organizations that represent professionals in a specific industry or field.

<b>3. Roles of Stakeholders </b>

<b>Direct the Management: Stakeholders can serve on the board of directors and so </b>

contribute to decision-making. They can oversee certain departments like as service, human resources, or research and development to ensure success.

<b>They Bring in Money: Stakeholders are the company's largest investors, and they can </b>

withdraw or deposit funds at any moment. Their judgment will be influenced by the company's financial success. As a result, they may put pressure on management for

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

financial reports and, if required, modify methods. Some stakeholders may even raise or decrease their investment in order to affect the market share price and so make the conditions more beneficial to them.

<b>Help in Decision Making: The board of directors includes major interests. As a result, they </b>

make choices alongside the other board members. They also have the ability to sway judgments. They also introduce new ideas and threaten management to obey them. The stakeholders also have complete authority to designate top management. As a result, they are present in all significant decision making sectors. They also make judgments on acquisitions and liquidations.

<b>Corporate Conscience: Large stakeholders are the company's primary stakeholders, and </b>

they have overseen all of the company's important actions. They have the power to compel the corporation to follow human rights and environmental regulations. They also monitor outsourcing activities and may vote against any business action that jeopardizes the company's long-term goals.

<b>Other Responsibilities: Apart from the four core jobs listed above, they also perform </b>

various minor roles in the firm. They can spot fresh opportunities for market penetration and revenue growth. They can contribute additional marketing ideas. They also draw additional investors to the firm like honeybees. Furthermore, they have the authority to make all key social and environmental choices.

<b>4. Stakeholder role with interest in Tune Source Project </b>

managers take the lead in project planning, execution, monitoring, control, and closure. Here is an overview of

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

the project manager role, responsibilities, required credentials, projected wages, and job-search advice.

Tune Source services to listen to music and buy it, which boosts the company's revenue.

Luu Le, Hong Hanh

Co-Founders of Tune Source

Co-Founders will be able to offer ideas, develop the project, and handle budgeting and

As it has worked with the ISP to manage the site, get knowledge with Internet technologies.

Huy Hoang, Hoai Nam

responsible for the entire success of the project, including the selection of the project manager and team, the

development of success criteria, and the goals of the successful conclusion of the project.

<b>5. Stakeholder Requirements </b>

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

Minh Nguyet Carry out the project and assist t he team in developing software to meet the

speciffcations

digital music downloads

market as quickly as feasible

purchase non-copyrighted music downloads via kiosks in their stores and via the internet via their website

<b>6. Identify FRs and NFRs of Tune Source Project. </b>

<b>a. Definition of Functional Requirements. </b>

A Functional Requirement (FR) describes the service that the program must provide. It refers to a software system or a component of one. A function is nothing more than the software system's inputs, behavior, and outputs. It might be a computation, data manipulation, business process, user interaction, or any other specialized activity that defines the function of a system. In software engineering, functional requirements are also known as functional specifications.

<b>b. Definition of Non-Functional Requirements </b>

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

Non-Functional Requirement (NFR) describes a software system's quality attribute. They evaluate the software system based on its

responsiveness, usability, security, portability, and other non-functional characteristics that are crucial to its success. "How quickly does the website load?" is an example of a nonfunctional requirement. Non-functional requirements that are not met can lead to systems that do not meet the demands of the users.

<b>7. Discuss the relationships between the FRs and NFRs. </b>

In the context of software engineering and requirements engineering, FR (Functional Requirements) and NFR (Non-Functional Requirements) are two types of requirements that describe different aspects of the system. Understanding the relationship between FR and NFR is critical to developing a comprehensive and well-designed system. Here is a discussion of their relationship:

The first is a complementary relationship: FR and NFR complement each other. FR specifies the functional capabilities and behaviors that a system should exhibit, such as the specific features, functions, or actions it must perform. On the other hand, NFR defines the quality attributes or constraints that the system must meet, such as performance, reliability, usability, security, or scalability. Both types of requirements are necessary to achieve an efficient and successful system. FR addresses what the system should do, while NFR addresses how well the system should perform. Second, NFR may have a dependency on FR. The functional capabilities specified by the FR often have an impact on the non-functional qualities of the system. For example, a system's response time (NFR) may

depend on the complexity or volume of tasks it needs to perform (FR). Therefore, achieving certain functional requirements can directly affect the fulfillment of related non-functional requirements. This is a dependency relationship. The trade-off relationship of FR and NFR may then require trade-offs during system design and implementation. Sometimes,

meeting certain functional requirements may come at the cost of sacrificing or compromising some non-functional requirements. For example, optimizing system performance may require some trade-off in availability or vice versa. Balancing the

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

implementation of both types of requirements often involves making decisions based on constraints, project priorities, and stakeholder needs. Next is the impact relationship on how changes in FR can have an impact on NFR and vice versa. Modifications to functional requirements may affect non-functional aspects of the system. Similarly, changes in the NFR, such as modifying performance goals or security requirements, can have an impact on functional behavior. Therefore, it is important to consider the interdependencies between FR and NFR throughout the software development lifecycle to ensure that modifications to a requirements type are properly evaluated and coordinated with the type. Other

requirements. Finally, there is the partnership. Collaboration and coordination between FR and NFR stakeholders is necessary for a successful system. Various stakeholders, such as business analysts, developers, testers, and end users, contribute to capturing, analyzing, and validating both functional and non-functional requirements. Collaboration helps understand the relationships, dependencies, and priorities between FR and NFR, ensuring that they align with business goals and user needs.

From the above relationships, we see that FR and NFR are related to each other and influence each other. They address different aspects of system requirements, and their effective management and coordination are necessary to develop a system that meets user expectations, performs well, and meet quality attributes.

<b>8. Discuss the technique (s) you did use to obtain the requirements. </b>

<b>a. Introduction </b>

In this section, we will discuss the techniques used to collect and define the functional requirements(FRs)and non-functional requirements (NFRs) of the project to build a

student management systemfor NEI. Thesetechniques are responsible for ensuring that we properly understand user needs and desires andcanapplythem correctly during system development.

<b>b. Requirement gathering techniques </b>

I recommend 3 main techniques as follows:

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

The first was user interviewing by conducting interviews with NEI students, faculty, and staff to better understand their needs and desires for a student management system. Through this, we can determine the necessary features and quality requirements. The second is brainstorming by holding team meetings to discuss requirements in detail and ensure consensus among stakeholders on what is needed for the project. Finally, analyze the document by studying relevant documents such as NEI policies, similar systems, and feedback from users to better understand the project context and requirements.

<b>c. Conclusion </b>

Through the use of requirements gathering techniques such as user interviews,

groupdiscussionsanddocument analysis, we have obtained a comprehensive and accurate picture of the functional andnonfunctional requirements of the project project. These techniques have helped us identify anddefinethenecessary requirements to develop a student management system for NEI, ensuring that theprojectisimplemented effectively and meets the needs of users, use.

<b>P6. Use appropriate software analysis tools/techniques to carry out a software investigation and create supporting documentation. </b>

In this section, we will use structural and behavioral modeling techniques to analyze

therequirementsidentified in Task 1. We will create supporting documents such as use case diagrams , Use Case specification,context diagram, data flow diagram and ERD data model for the entire student management systemforNEI.

<b>1. Use Case diagram for the entire system. </b>

In the project of building a student management system for NEI, the Use Case diagram is a modeling tool that describes the interaction between the user (agent) and the system, and identifies the main functions that the system performs. provided to describe key features and interactions between users and the system. The Use Case diagram for this entire system will include:

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

<b>User: </b>

 Log in to the system

 Manage student records

 Manage class lists

 Record student scores and achievements

 Look up student information

<b>System: </b>

 User authentication

 Store and manage student profile information

 Manage class lists

 Record student scores and achievements

 Look up student information

 Create reports and statistics

<b>Use Case (Feature): </b>

<b>Login: User logs into the system to access functions. Student profile management: </b>

 Add student records: Users can add new student records to the system.

 Edit student records: Users can edit information in student records.

 Delete student records: Users can delete student records from the system.

<b>Manage class lists: </b>

 Create new class: Users can create new classes in the system.

 Edit layer: Users can edit information in the layer.

 Delete class: User can delete class from the system.

 Record student scores and achievements:

 Enter scores: Users can record students' scores in subjects.

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

 Record achievements: Users can record student achievements.

<b>Look up student information: </b>

 Look up by name: Users can look up student information based on name.

 Look up by class: Users can look up the list of students of a specific class.

<b>Reporting and statistical requirements: </b>

 Report request: Users can request the system to generate reports about student information, classes or learning results.

 Statistics request: Users can request the system to create statistics about student information, classes, and learning results.

<b> Figure 2: Use Case diagram for the entire system </b>

<b>2. Use Case specification for 2 Use cases. </b>

Below are detailed descriptions of three use cases in NEI's student management system: "Add student records," "Record student grades," and "Look up student information."

<b>2.1. Use case: Add student records </b>

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

Use Case ID: BH00123

Use Case Name: Add student record

Participant: User

Description: This use case allows the user to add a new student record to the system.

Preconditions:

 The user is logged into the system.

 The user has the appropriate permissions to add student records.

Post-condition:

 Student records were successfully added to the system.

Event stream:

 <b>Step 1: The user selects the "Add Student Profile" option from the system's menu. </b>

 <b>Step 2: The system displays a form for the user to enter the details of the new </b>

student record (e.g. name, date of birth, address, contact information).

 <b>Step 3: The user enters the necessary information into the form. </b>

 <b>Step 4: User submits form. </b>

 <b>Step 5: The system checks the validity of the entered information. </b>

 <b>Step 6: If the information is valid, the system creates a new student record with the </b>

provided details and adds it to the system.

 <b>Step 7: The system displays a success message to the user indicating that the </b>

student profile has been added.

 <b>Step 8: End use case. </b>

Alternate stream:

If the entered information is invalid (e.g. missing required fields, invalid format), the

system displays an error message to the user and asks them to correct the information. The

<b>event flow then continues from Step 3. </b>

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

<b>2.2. Use case: Record student scores </b>

Use Case ID: BH00124

Name Use case: Record student scores

Participant: User

Description: This use case allows users to record grades for students in one or more subjects.

Preconditions:

 The user is logged into the system.

 The user has the appropriate permissions to record student scores.

 The student whose grades are being recorded already has a record in the system.

Post-condition:

 Scores for students are successfully recorded in the system.

Event stream:

 <b>Step 1: The user selects the "Record student scores" option from the system menu. </b>

 <b>Step 2: The system requires the user to enter the student's identification code (e.g., </b>

student code, name) to retrieve the student record.

 <b>Step 3: User enters student identification code. </b>

 <b>Step 4: The system searches student records based on the entered code. </b>

 <b>Step 5: If a student record is found, the system displays the student's information </b>

and a form to enter scores for the corresponding subjects.

 <b>Step 6: Users enter scores for related subjects into the form. </b>

 <b>Step 7: User submits form. </b>

 <b>Step 8: The system checks the validity of the entered scores. </b>

 <b>Step 9: If the scores are valid, the system attributes them to students in the </b>

respective subjects.

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

 <b>Step 10: The system displays a success message to the user indicating that the score </b>

has been recorded.

 <b>Step 11: End use case. </b>

Alternate stream:

If a student record is not found based on the code entered, the system displays an error message to the user indicating that the student does not exist. The event stream then

<b>returns from Step 3, allowing the user to enter another code or take the appropriate action. </b>

<b>2.3. Use case: Look up student information </b>

Use Case ID: BH00125

Name Use case: Look up student information

 <b>Step 2: The system requires users to enter a student's identification code (e.g. </b>

student code, name) to search for information.

 <b>Step 3: The user enters the student identification code. </b>

 <b>Step 4: The system searches for student information based on the entered code. </b>

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

 <b>Step 5: If student information is found, the system displays that information to the </b>

user.

 <b>Step 6: End use case. </b>

Alternate stream:

If no student information is found based on the entered code, the system displays a message informing the user that no information matches the entered code. The event

<b>stream then ends at Step 6. </b>

<b>3. Context Diagram </b>

In this section, I will build a context diagram to better understand the system's position in the larger environment. The context diagram will describe the interactions between our system and external stakeholders. This helps us better understand information flows and

<b>interactions between the system and its surroundings. </b>

Context diagram for the entire system includes:

NEI's student management system: This is the system we are developing, including

functions for student information management, course registration, attendance, and access to learning resources.

Students: Represent the primary users of the system, they will interact with the system to access personal information, register for courses, and use academic features.

Faculty and Staff: A group of people who manage and provide academic services, they will interact with the system to manage student information, course registration, and

attendance.

Peripheral systems: Includes external elements with which our systems may interact, such as financial management systems or external databases.

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

<b>Figure 3: Context Diagram </b>

<b>4. Data Flow Diagram – Level 0 for the whole system. </b>

Data Flow Diagram - Level 0 is a high-level interaction diagram that describes how information moves through the main components of the system. At level 0, this diagram focuses on how the system's key processes interact with each other and with external entities. In NEI's student management system, I represent the level 0 data flow diagram as follows:

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

<b> Figure 4: Data Flow Diagram </b>

The level 0 data flow diagram for the Net Education Institute (NEI) student management systemisanimportant tool for understanding how data moves through the steps in the student managementprocess.Starting from the "NEI Student Management System", where data enters the system, includinginformationabout students, courses, and scores. From there, data is transferred through the main processes of thesystemin a logical and organized manner:

First, "Account Management" plays an important role in managing user accounts in the system. The main tasks of "Account Management" include creating, updating and deleting user accounts. In addition, it can also be related to the management of user access rights and access levels in the system. “Account Management” ensures that user accounts are managed effectively and securely, while ensuring security and compliance with system regulations and policies. Next, “Manage Course Manager" plays an important role in the course registration and management process. The system processes information about available courses, class schedules and other related details, helping students easily choose

</div>

×